From: Randy McShandy Date: Tue, 15 Apr 2025 02:56:14 +0000 (-0500) Subject: Initial commit. Project is ongoing so some inclusions may not have been the wisest X-Git-Url: http://git.mcshandy.xyz/gitweb.cgi?a=commitdiff_plain;ds=sidebyside;p=encuentralo Initial commit. Project is ongoing so some inclusions may not have been the wisest --- 6cb32af6bee9000e5f1655cf5982bb58abb53e9a diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4709183 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Godot 4+ specific ignores +.godot/ diff --git a/Global.tscn b/Global.tscn new file mode 100644 index 0000000..67e889e --- /dev/null +++ b/Global.tscn @@ -0,0 +1,3 @@ +[gd_scene format=3 uid="uid://cksx0y6ckjy0v"] + +[node name="Node2D" type="Node2D"] diff --git a/active_play.tscn b/active_play.tscn new file mode 100644 index 0000000..88949cd --- /dev/null +++ b/active_play.tscn @@ -0,0 +1,113 @@ +[gd_scene load_steps=7 format=3 uid="uid://dp1mcc1mb7cql"] + +[ext_resource type="Script" uid="uid://bt4c1ckn3st5d" path="res://play.gd" id="1_3dgs8"] +[ext_resource type="PackedScene" uid="uid://vhcmu8n6wjb1" path="res://scenes/layouts/layout_picker.tscn" id="2_g5dql"] + +[sub_resource type="InputEventKey" id="InputEventKey_6ogyc"] +device = -1 +keycode = 82 +unicode = 114 + +[sub_resource type="Shortcut" id="Shortcut_l3nhm"] +events = [SubResource("InputEventKey_6ogyc")] + +[sub_resource type="InputEventKey" id="InputEventKey_ig882"] +device = -1 +keycode = 4194305 + +[sub_resource type="Shortcut" id="Shortcut_vgyld"] +events = [SubResource("InputEventKey_ig882")] + +[node name="Control" type="Control" groups=["layout_subscribers"]] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_3dgs8") + +[node name="ColorRect" type="ColorRect" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +color = Color(0.37, 0.6745, 1, 1) + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer"] +layout_mode = 2 + +[node name="ColorRect" type="ColorRect" parent="VBoxContainer/PanelContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +color = Color(0.1887, 0.343995, 0.51, 1) + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/PanelContainer"] +layout_mode = 2 +theme_override_constants/margin_left = 4 +theme_override_constants/margin_top = 4 +theme_override_constants/margin_right = 4 +theme_override_constants/margin_bottom = 4 + +[node name="ControlContainer" type="HBoxContainer" parent="VBoxContainer/PanelContainer/MarginContainer"] +layout_mode = 2 +theme_override_constants/separation = 16 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/PanelContainer/MarginContainer/ControlContainer"] +layout_mode = 2 + +[node name="draw_button" type="Button" parent="VBoxContainer/PanelContainer/MarginContainer/ControlContainer/HBoxContainer"] +layout_mode = 2 +shortcut = SubResource("Shortcut_l3nhm") +text = " Draw " + +[node name="main_menu_button" type="Button" parent="VBoxContainer/PanelContainer/MarginContainer/ControlContainer/HBoxContainer"] +layout_mode = 2 +shortcut = SubResource("Shortcut_vgyld") +text = " Main Menu " + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/PanelContainer/MarginContainer/ControlContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="VBoxContainer/PanelContainer/MarginContainer/ControlContainer/VBoxContainer"] +layout_mode = 2 +text = "Items per card" +horizontal_alignment = 1 + +[node name="HSlider" type="HSlider" parent="VBoxContainer/PanelContainer/MarginContainer/ControlContainer/VBoxContainer"] +custom_minimum_size = Vector2(256, 0) +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +min_value = 5.0 +max_value = 12.0 +value = 5.0 +rounded = true +tick_count = 8 +ticks_on_borders = true + +[node name="CardContainer" parent="VBoxContainer/PanelContainer/MarginContainer/ControlContainer" instance=ExtResource("2_g5dql")] +layout_mode = 2 + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/PanelContainer/MarginContainer/ControlContainer"] +layout_mode = 2 +size_flags_horizontal = 10 + +[node name="Label" type="Label" parent="VBoxContainer/PanelContainer/MarginContainer/ControlContainer/MarginContainer"] +layout_mode = 2 +text = "active deck label" + +[connection signal="pressed" from="VBoxContainer/PanelContainer/MarginContainer/ControlContainer/HBoxContainer/draw_button" to="." method="new_card_set"] +[connection signal="pressed" from="VBoxContainer/PanelContainer/MarginContainer/ControlContainer/HBoxContainer/main_menu_button" to="." method="_on_main_menu_jump_action"] +[connection signal="drag_ended" from="VBoxContainer/PanelContainer/MarginContainer/ControlContainer/VBoxContainer/HSlider" to="." method="_on_item_count_changed"] diff --git a/addons/html5_file_dialog/HTML5FileDialog.gd b/addons/html5_file_dialog/HTML5FileDialog.gd new file mode 100644 index 0000000..173b9fb --- /dev/null +++ b/addons/html5_file_dialog/HTML5FileDialog.gd @@ -0,0 +1,168 @@ +@tool +@icon("icon.svg") +extends Node +class_name HTML5FileDialog +## File dialog for web exports [br] +## Works on (multiple) files and directories [br] +## Works on all major browsers [br] +## returns HTML5FileHandle files, which are used to read the contents of uploaded files [br] + +## Emitted after calling `show()`. May incorrectly emit if there has not been sufficient browser interaction from the user when `show` is called. +signal shown() + +## One file selected. Only triggers with the "Open File" file mode +signal file_selected(file:HTML5FileHandle) +## One or more files selected. Only triggers with the "Open File" file mode +signal files_selected(files:Array[HTML5FileHandle]) +## One directory selected. Only triggers with the "Open Directory" file mode [br] +## Returns all the files inside the directory, including those in sub-directories. +signal dir_selected(files:Array[HTML5FileHandle]) +## One or more directories selected. Only triggers with the "Open Directories" file mode [br] +## Returns all the files inside the directories, including those in sub-directories. +signal dirs_selected(files:Array[HTML5FileHandle]) + +## Triggers no matter what the file mode is set to, as long as the user selected something. +signal anything_selected(files:Array[HTML5FileDialog]) + +enum FileMode { + OPEN_FILE, ## Open a single file + OPEN_FILES, ## Open multiple files + OPEN_DIRECTORY, ## Open a single directory + OPEN_DIRECTORIES, ## Open multiple directories +} +## Type of dialog that appears when you call [method show] +@export var file_mode:FileMode = FileMode.OPEN_FILE +## Specify what kind of files may be selected. [br] +## Leave empty for anything. [br] +## Read the MDN page for more information: [br][url]https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers[/url] +@export var filters:PackedStringArray = [] + +# interface is the resulting object of the js_snippet +var interface:JavaScriptObject +# is_web is a shortcut boolean for checking if the current build is running in browser +var is_web:bool = OS.get_name() == 'Web' +# JS version of the _on_js_callback function +var _callback:JavaScriptObject + +# snippet of code that handles stuff on the javascript side of things +const js_snippet := """ +if (window.html5filedialoginterface == null) { + window.html5filedialoginterface = { + callbacks: {}, + buffers: {}, + + register_dialog: function(id, FileMode, filter, callback) { + let root = document.getElementsByTagName('body')[0]; + let input = document.createElement("input"); + + input.setAttribute('id','html5filedialog-'+id); + input.setAttribute('type','file'); + input.setAttribute('style','display: none;'); + input.setAttribute('data-id', ''+id); + + if (FileMode == "OPEN_DIRECTORY" || FileMode == "OPEN_DIRECTORIES") { + input.setAttribute("directory", 'true'); + input.setAttribute('webkitdirectory','true'); + } + + if (FileMode == "OPEN_DIRECTORIES" || FileMode == "OPEN_FILES") { + input.setAttribute('multiple','true'); + } + + if (filter != "") { + input.setAttribute('accept',filter) + } + + input.addEventListener('change', window.html5filedialoginterface.onchanged) + window.html5filedialoginterface.callbacks[''+id] = callback; + root.appendChild(input); + + console.log("HTML5FileDialog: registered dialog "+id); + + return id; + }, + + deregister_dialog: function(id) { + let input = document.getElementById('html5filedialog-'+id); + if (input != null) { + console.log("HTML5FileDialog: deregistering "+id); + input.remove(); + } else { + console.log("HTML5FileDialog: ERROR, attempted to deregister non-existing dialog "+id); + } + }, + + prompt_dialog: function(id) { + console.log("HTML5FileDialog: opening dialog for "+id); + let input = document.getElementById('html5filedialog-'+id); + input.click(); + }, + + onchanged: function(event) { + let id = event.target.getAttribute('data-id')+''; + console.log("HTML5FileDialog: change event for "+id); + + let out = []; + for (const file of event.target.files) { + out.push(file); + } + + let callback = window.html5filedialoginterface.callbacks[id] + callback(...out); + } + } +} +""" + + + + +func _ready(): + if Engine.is_editor_hint(): + update_configuration_warnings() + + if is_web: + JavaScriptBridge.eval(js_snippet) + interface = JavaScriptBridge.get_interface('html5filedialoginterface') + + _callback = JavaScriptBridge.create_callback(_on_js_callback) + interface.register_dialog(get_instance_id(), FileMode.keys()[file_mode], ','.join(filters), _callback) + +## Show the dialog +func show(): + assert(is_web, "HTML5FileDialog node only works in web exports!") + assert(is_node_ready(), "HTML5FileDialog cannot be shown before its _ready! did you forget to call add_child()?") + assert(interface != null, "HTML5FileDialog JS interface is null! This is probably a bug, please report it at https://gitlab.com/mocchapi/godot-4-html5-file-dialogs/-/issues") + interface.prompt_dialog(get_instance_id()) + shown.emit() + +# Callback triggered from js when a file is uploaded +func _on_js_callback(files): + var out:Array[HTML5FileHandle] = [] + for file in files: + out.append(HTML5FileHandle.new(file)) + + match file_mode: + FileMode.OPEN_FILE: + file_selected.emit(out[0]) + FileMode.OPEN_FILES: + files_selected.emit(out) + FileMode.OPEN_DIRECTORY: + dir_selected.emit(out) + FileMode.OPEN_DIRECTORIES: + dirs_selected.emit(out) + + anything_selected.emit(out) + +func _get_configuration_warnings()->PackedStringArray: + var out:Array = [] + if OS.get_name() != 'Web': + out.append("This node only works on web exports! Calling its functions in a regular build will result in failed assertions") + out.append("This node's attributes must not be changed after _ready() is called") + return out + +func _notification(what): + if what == NOTIFICATION_PREDELETE: + if interface: + # Removes the element when this node is freed + interface.deregister_dialog(get_instance_id()) diff --git a/addons/html5_file_dialog/HTML5FileDialog.gd.uid b/addons/html5_file_dialog/HTML5FileDialog.gd.uid new file mode 100644 index 0000000..0e00789 --- /dev/null +++ b/addons/html5_file_dialog/HTML5FileDialog.gd.uid @@ -0,0 +1 @@ +uid://c82il5ecn7p8d diff --git a/addons/html5_file_dialog/HTML5FileHandle.gd b/addons/html5_file_dialog/HTML5FileHandle.gd new file mode 100644 index 0000000..8d57164 --- /dev/null +++ b/addons/html5_file_dialog/HTML5FileHandle.gd @@ -0,0 +1,86 @@ +extends RefCounted +class_name HTML5FileHandle +## File handle for files uploaded through the HTML5FileDialog node [br] +## Used for reading the contents of files + +## The text file contents are done loading. [br] +## Triggers sometime after `as_text()` [br] +## Alternatively, you can use `await object.as_text()` +signal text_loaded(text:String) +## The binary file contents are done reading [br] +## Triggers sometime after `as_buffer()` [br] +## Alternatively, you can use `await object.as_buffer()` +signal buffer_loaded(buffer:PackedByteArray) + +## Filepath +@export var path:String +## Filename +@export var name:String +## Unix epoch +@export var last_modified:float + +## Wether or not to cache the contents when as_text() or as_bufffer() was called, for use in subsequent calls. +@export var cache_contents:bool = true + +var js_file:JavaScriptObject + +var _js_text_callback:JavaScriptObject +var _js_buffer_callback:JavaScriptObject + +var _contents_text:String +var _contents_buffer:PackedByteArray + +func _init(JSFile:JavaScriptObject): + assert(OS.get_name() == 'Web', "HTML5FileHandles can only be used in a web export, and should only be created by a HTML5FileDialog node.") + js_file = JSFile + + name = js_file.name + last_modified = js_file.lastModified + path = js_file.webkitRelativePath + +## Returns the file's contents as a utf8 string [br] +## Async function! Await this, or connect to the `text_loaded` signal. +func as_text()->String: + if cache_contents and _contents_text != '': + return _contents_text + if _js_text_callback == null: + _js_text_callback = JavaScriptBridge.create_callback(_text_callback) + js_file.text().then(_js_text_callback) + + return await text_loaded + +## Returns the file's contents as a PackedByteArray [br] +## Async function! Await this, or connect to the `buffer_loaded` signal. +func as_buffer()->PackedByteArray: + if not _contents_buffer.is_empty(): + return _contents_buffer + if _js_buffer_callback == null: + _js_buffer_callback = JavaScriptBridge.create_callback(_buffer_callback) + js_file.arrayBuffer().then(_js_buffer_callback) + return await buffer_loaded + +func _text_callback(args): + if cache_contents: + _contents_text = args[0] + text_loaded.emit(args[0]) + +func _buffer_callback(args): + # NOTE: EVIL WORKAROUND + # for the life of me i cannot find any information on converting a JavaScriptObject (ArrayBuffer) + # into its godot counterpart (PackedByteArray) + # + # So instead we write the buffer to a temporary variable on JS' `window` + # And then read it back through eval() immediately, which for some reason does perform the conversion + # (and then remove the variable again) + var out:PackedByteArray + var janky_varname = "HTML5FileHandle_"+str(get_instance_id()).replace('-','_')+'_buffer' + + var window = JavaScriptBridge.get_interface("window") + window[janky_varname] = args[0] + out = JavaScriptBridge.eval("window."+janky_varname) + window[janky_varname] = null + + if cache_contents: + _contents_buffer = out + + buffer_loaded.emit(out) diff --git a/addons/html5_file_dialog/HTML5FileHandle.gd.uid b/addons/html5_file_dialog/HTML5FileHandle.gd.uid new file mode 100644 index 0000000..ae294de --- /dev/null +++ b/addons/html5_file_dialog/HTML5FileHandle.gd.uid @@ -0,0 +1 @@ +uid://bwxbc6s8c51t1 diff --git a/addons/html5_file_dialog/icon.png b/addons/html5_file_dialog/icon.png new file mode 100644 index 0000000..b14a8c7 Binary files /dev/null and b/addons/html5_file_dialog/icon.png differ diff --git a/addons/html5_file_dialog/icon.png.import b/addons/html5_file_dialog/icon.png.import new file mode 100644 index 0000000..12ddaef --- /dev/null +++ b/addons/html5_file_dialog/icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c35mo7m8i7gki" +path="res://.godot/imported/icon.png-bb42749800b6659b138001b0989a72fa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/html5_file_dialog/icon.png" +dest_files=["res://.godot/imported/icon.png-bb42749800b6659b138001b0989a72fa.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/addons/html5_file_dialog/icon.svg b/addons/html5_file_dialog/icon.svg new file mode 100644 index 0000000..0af079c --- /dev/null +++ b/addons/html5_file_dialog/icon.svg @@ -0,0 +1 @@ + diff --git a/addons/html5_file_dialog/icon.svg.import b/addons/html5_file_dialog/icon.svg.import new file mode 100644 index 0000000..c89d05d --- /dev/null +++ b/addons/html5_file_dialog/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://wnjgsc2te31c" +path="res://.godot/imported/icon.svg-19fe3bf96392333bbd22eb3f905045e1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/html5_file_dialog/icon.svg" +dest_files=["res://.godot/imported/icon.svg-19fe3bf96392333bbd22eb3f905045e1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/addons/html5_file_dialog/plugin.cfg b/addons/html5_file_dialog/plugin.cfg new file mode 100644 index 0000000..4cdb973 --- /dev/null +++ b/addons/html5_file_dialog/plugin.cfg @@ -0,0 +1,9 @@ +[plugin] + +name="HTML5 File Dialog" +description="Adds a read-only native HTML5 filesystem dialog node \"HTML5FileDialog\" which prompts the user to upload file(s) or (multiple) directories. + +The signals return (arrays of) \"HTML5FileHandle\" objects which wrap around javascript File objects, which are used to read the contents of selected files." +author="(lis)anne" +version="1.1" +script="plugin.gd" diff --git a/addons/html5_file_dialog/plugin.gd b/addons/html5_file_dialog/plugin.gd new file mode 100644 index 0000000..946153c --- /dev/null +++ b/addons/html5_file_dialog/plugin.gd @@ -0,0 +1,8 @@ +@tool +extends EditorPlugin + +func _enter_tree(): + pass + +func _exit_tree(): + pass diff --git a/addons/html5_file_dialog/plugin.gd.uid b/addons/html5_file_dialog/plugin.gd.uid new file mode 100644 index 0000000..87ea610 --- /dev/null +++ b/addons/html5_file_dialog/plugin.gd.uid @@ -0,0 +1 @@ +uid://dij36r13jy4bl diff --git a/deck_selection.tscn b/deck_selection.tscn new file mode 100644 index 0000000..d77c442 --- /dev/null +++ b/deck_selection.tscn @@ -0,0 +1,16 @@ +[gd_scene format=3 uid="uid://boq3ul26kjggj"] + +[node name="Node2D" type="Control"] +layout_mode = 3 +anchors_preset = 0 +size_flags_horizontal = 4 +size_flags_vertical = 4 + +[node name="HSplitContainer" type="HSplitContainer" parent="."] +layout_mode = 0 +offset_right = 680.0 +offset_bottom = 416.0 + +[node name="ItemList" type="ItemList" parent="HSplitContainer"] +layout_mode = 2 +same_column_width = true diff --git a/decks/Number_Blocks_01.zip b/decks/Number_Blocks_01.zip new file mode 100644 index 0000000..2b254f9 Binary files /dev/null and b/decks/Number_Blocks_01.zip differ diff --git a/decks/animals/Kenney.url b/decks/animals/Kenney.url new file mode 100644 index 0000000..fbdde43 --- /dev/null +++ b/decks/animals/Kenney.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=http://www.kenney.nl/ \ No newline at end of file diff --git a/decks/animals/License.txt b/decks/animals/License.txt new file mode 100644 index 0000000..5ce1cf1 --- /dev/null +++ b/decks/animals/License.txt @@ -0,0 +1,20 @@ + + + Animal Pack Redux + + by Kenney Vleugels (Kenney.nl) + + ------------------------------ + + License (Creative Commons Zero, CC0) + http://creativecommons.org/publicdomain/zero/1.0/ + + You may use these assets in personal and commercial projects. + Credit (Kenney or www.kenney.nl) would be nice but is not mandatory. + + ------------------------------ + + Donate: http://support.kenney.nl + Request: http://request.kenney.nl + + Follow on Twitter for updates: @KenneyNL (www.twitter.com/kenneynl) \ No newline at end of file diff --git a/decks/animals/PNG/Round (outline)/Thumbs.db b/decks/animals/PNG/Round (outline)/Thumbs.db new file mode 100644 index 0000000..01bd109 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/Thumbs.db differ diff --git a/decks/animals/PNG/Round (outline)/bear.png b/decks/animals/PNG/Round (outline)/bear.png new file mode 100644 index 0000000..c5f8099 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/bear.png differ diff --git a/decks/animals/PNG/Round (outline)/bear.png.import b/decks/animals/PNG/Round (outline)/bear.png.import new file mode 100644 index 0000000..aa4f60b --- /dev/null +++ b/decks/animals/PNG/Round (outline)/bear.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dj54qbutbex5y" +path="res://.godot/imported/bear.png-32e29bbcf30b1f798c9c2006a48907f2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/bear.png" +dest_files=["res://.godot/imported/bear.png-32e29bbcf30b1f798c9c2006a48907f2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/buffalo.png b/decks/animals/PNG/Round (outline)/buffalo.png new file mode 100644 index 0000000..2e0a2cc Binary files /dev/null and b/decks/animals/PNG/Round (outline)/buffalo.png differ diff --git a/decks/animals/PNG/Round (outline)/buffalo.png.import b/decks/animals/PNG/Round (outline)/buffalo.png.import new file mode 100644 index 0000000..393abe4 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/buffalo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b1sflhry6ukmf" +path="res://.godot/imported/buffalo.png-a58a3fe11f8dffc1daa748bbe57ba2b9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/buffalo.png" +dest_files=["res://.godot/imported/buffalo.png-a58a3fe11f8dffc1daa748bbe57ba2b9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/chick.png b/decks/animals/PNG/Round (outline)/chick.png new file mode 100644 index 0000000..48898f4 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/chick.png differ diff --git a/decks/animals/PNG/Round (outline)/chick.png.import b/decks/animals/PNG/Round (outline)/chick.png.import new file mode 100644 index 0000000..d996c3e --- /dev/null +++ b/decks/animals/PNG/Round (outline)/chick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d0gwohg7v5v28" +path="res://.godot/imported/chick.png-529d5d49a7d792e7ffff0f492648f800.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/chick.png" +dest_files=["res://.godot/imported/chick.png-529d5d49a7d792e7ffff0f492648f800.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/chicken.png b/decks/animals/PNG/Round (outline)/chicken.png new file mode 100644 index 0000000..e899f2e Binary files /dev/null and b/decks/animals/PNG/Round (outline)/chicken.png differ diff --git a/decks/animals/PNG/Round (outline)/chicken.png.import b/decks/animals/PNG/Round (outline)/chicken.png.import new file mode 100644 index 0000000..c17440d --- /dev/null +++ b/decks/animals/PNG/Round (outline)/chicken.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://basi8uo6t1hhc" +path="res://.godot/imported/chicken.png-e81913c5132a4afa41c5bed0e531e650.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/chicken.png" +dest_files=["res://.godot/imported/chicken.png-e81913c5132a4afa41c5bed0e531e650.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/cow.png b/decks/animals/PNG/Round (outline)/cow.png new file mode 100644 index 0000000..69719c5 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/cow.png differ diff --git a/decks/animals/PNG/Round (outline)/cow.png.import b/decks/animals/PNG/Round (outline)/cow.png.import new file mode 100644 index 0000000..a1c4f72 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/cow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ccyfmic4pss8p" +path="res://.godot/imported/cow.png-bf5aedbaa479e5f2a9176555a6f7e38b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/cow.png" +dest_files=["res://.godot/imported/cow.png-bf5aedbaa479e5f2a9176555a6f7e38b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/crocodile.png b/decks/animals/PNG/Round (outline)/crocodile.png new file mode 100644 index 0000000..1a0c36a Binary files /dev/null and b/decks/animals/PNG/Round (outline)/crocodile.png differ diff --git a/decks/animals/PNG/Round (outline)/crocodile.png.import b/decks/animals/PNG/Round (outline)/crocodile.png.import new file mode 100644 index 0000000..f8722de --- /dev/null +++ b/decks/animals/PNG/Round (outline)/crocodile.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b73winn2car1j" +path="res://.godot/imported/crocodile.png-c935eccec798969ef13ffaa026beac81.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/crocodile.png" +dest_files=["res://.godot/imported/crocodile.png-c935eccec798969ef13ffaa026beac81.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/dog.png b/decks/animals/PNG/Round (outline)/dog.png new file mode 100644 index 0000000..0371271 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/dog.png differ diff --git a/decks/animals/PNG/Round (outline)/dog.png.import b/decks/animals/PNG/Round (outline)/dog.png.import new file mode 100644 index 0000000..a651565 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/dog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://0grc2l0wp4dw" +path="res://.godot/imported/dog.png-71e34352d86195106d1176b6e9711b45.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/dog.png" +dest_files=["res://.godot/imported/dog.png-71e34352d86195106d1176b6e9711b45.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/duck.png b/decks/animals/PNG/Round (outline)/duck.png new file mode 100644 index 0000000..32f472e Binary files /dev/null and b/decks/animals/PNG/Round (outline)/duck.png differ diff --git a/decks/animals/PNG/Round (outline)/duck.png.import b/decks/animals/PNG/Round (outline)/duck.png.import new file mode 100644 index 0000000..32a11ba --- /dev/null +++ b/decks/animals/PNG/Round (outline)/duck.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpr1ko7j2g612" +path="res://.godot/imported/duck.png-61d5e4c1ee3650fc062461d7b3da9df7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/duck.png" +dest_files=["res://.godot/imported/duck.png-61d5e4c1ee3650fc062461d7b3da9df7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/elephant.png b/decks/animals/PNG/Round (outline)/elephant.png new file mode 100644 index 0000000..042d73a Binary files /dev/null and b/decks/animals/PNG/Round (outline)/elephant.png differ diff --git a/decks/animals/PNG/Round (outline)/elephant.png.import b/decks/animals/PNG/Round (outline)/elephant.png.import new file mode 100644 index 0000000..4d3acd6 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/elephant.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2y60jgvwmmxm" +path="res://.godot/imported/elephant.png-ed7dca769b6a4022965f70a685223342.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/elephant.png" +dest_files=["res://.godot/imported/elephant.png-ed7dca769b6a4022965f70a685223342.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/frog.png b/decks/animals/PNG/Round (outline)/frog.png new file mode 100644 index 0000000..63bbb95 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/frog.png differ diff --git a/decks/animals/PNG/Round (outline)/frog.png.import b/decks/animals/PNG/Round (outline)/frog.png.import new file mode 100644 index 0000000..6d6cf09 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/frog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cg5gdo4w32uj7" +path="res://.godot/imported/frog.png-1f23ff35c48c2a758482e09a6c0bbff0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/frog.png" +dest_files=["res://.godot/imported/frog.png-1f23ff35c48c2a758482e09a6c0bbff0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/giraffe.png b/decks/animals/PNG/Round (outline)/giraffe.png new file mode 100644 index 0000000..557c7a1 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/giraffe.png differ diff --git a/decks/animals/PNG/Round (outline)/giraffe.png.import b/decks/animals/PNG/Round (outline)/giraffe.png.import new file mode 100644 index 0000000..3b81cc2 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/giraffe.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfn8ujddwdd55" +path="res://.godot/imported/giraffe.png-d223b0c30c62204dff390243d4af3f52.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/giraffe.png" +dest_files=["res://.godot/imported/giraffe.png-d223b0c30c62204dff390243d4af3f52.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/goat.png b/decks/animals/PNG/Round (outline)/goat.png new file mode 100644 index 0000000..e147b06 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/goat.png differ diff --git a/decks/animals/PNG/Round (outline)/goat.png.import b/decks/animals/PNG/Round (outline)/goat.png.import new file mode 100644 index 0000000..f434d32 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/goat.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://1blyuxa1bbux" +path="res://.godot/imported/goat.png-14922509d4072411eb37a40519ece336.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/goat.png" +dest_files=["res://.godot/imported/goat.png-14922509d4072411eb37a40519ece336.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/gorilla.png b/decks/animals/PNG/Round (outline)/gorilla.png new file mode 100644 index 0000000..58df008 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/gorilla.png differ diff --git a/decks/animals/PNG/Round (outline)/gorilla.png.import b/decks/animals/PNG/Round (outline)/gorilla.png.import new file mode 100644 index 0000000..de67267 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/gorilla.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dywc4el3kd4il" +path="res://.godot/imported/gorilla.png-16558c4bb5da3bd7005ec61daa33e30c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/gorilla.png" +dest_files=["res://.godot/imported/gorilla.png-16558c4bb5da3bd7005ec61daa33e30c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/hippo.png b/decks/animals/PNG/Round (outline)/hippo.png new file mode 100644 index 0000000..c6e04ec Binary files /dev/null and b/decks/animals/PNG/Round (outline)/hippo.png differ diff --git a/decks/animals/PNG/Round (outline)/hippo.png.import b/decks/animals/PNG/Round (outline)/hippo.png.import new file mode 100644 index 0000000..fd68e93 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/hippo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://051xc3te2v7b" +path="res://.godot/imported/hippo.png-12a8b6f0ed26573439c7432d4e6b6897.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/hippo.png" +dest_files=["res://.godot/imported/hippo.png-12a8b6f0ed26573439c7432d4e6b6897.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/horse.png b/decks/animals/PNG/Round (outline)/horse.png new file mode 100644 index 0000000..9804e8c Binary files /dev/null and b/decks/animals/PNG/Round (outline)/horse.png differ diff --git a/decks/animals/PNG/Round (outline)/horse.png.import b/decks/animals/PNG/Round (outline)/horse.png.import new file mode 100644 index 0000000..b462db2 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/horse.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bynjjs21hnn74" +path="res://.godot/imported/horse.png-577b26fb21a171d335a486d5a69b5b81.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/horse.png" +dest_files=["res://.godot/imported/horse.png-577b26fb21a171d335a486d5a69b5b81.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/monkey.png b/decks/animals/PNG/Round (outline)/monkey.png new file mode 100644 index 0000000..cff0f99 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/monkey.png differ diff --git a/decks/animals/PNG/Round (outline)/monkey.png.import b/decks/animals/PNG/Round (outline)/monkey.png.import new file mode 100644 index 0000000..b7ef156 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/monkey.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b27iy5r37xp24" +path="res://.godot/imported/monkey.png-334b77be7c7c439cf8036edf2599e36a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/monkey.png" +dest_files=["res://.godot/imported/monkey.png-334b77be7c7c439cf8036edf2599e36a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/moose.png b/decks/animals/PNG/Round (outline)/moose.png new file mode 100644 index 0000000..c999fd3 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/moose.png differ diff --git a/decks/animals/PNG/Round (outline)/moose.png.import b/decks/animals/PNG/Round (outline)/moose.png.import new file mode 100644 index 0000000..978c2fe --- /dev/null +++ b/decks/animals/PNG/Round (outline)/moose.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c6x42yfotud6q" +path="res://.godot/imported/moose.png-e2065e1b6912b228d620b7ca1f4c2484.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/moose.png" +dest_files=["res://.godot/imported/moose.png-e2065e1b6912b228d620b7ca1f4c2484.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/narwhal.png b/decks/animals/PNG/Round (outline)/narwhal.png new file mode 100644 index 0000000..e2f29dd Binary files /dev/null and b/decks/animals/PNG/Round (outline)/narwhal.png differ diff --git a/decks/animals/PNG/Round (outline)/narwhal.png.import b/decks/animals/PNG/Round (outline)/narwhal.png.import new file mode 100644 index 0000000..ca7898c --- /dev/null +++ b/decks/animals/PNG/Round (outline)/narwhal.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0heob5iexo0e" +path="res://.godot/imported/narwhal.png-193561aa160a4196c30ae36d8fe33357.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/narwhal.png" +dest_files=["res://.godot/imported/narwhal.png-193561aa160a4196c30ae36d8fe33357.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/owl.png b/decks/animals/PNG/Round (outline)/owl.png new file mode 100644 index 0000000..0673b05 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/owl.png differ diff --git a/decks/animals/PNG/Round (outline)/owl.png.import b/decks/animals/PNG/Round (outline)/owl.png.import new file mode 100644 index 0000000..905ec8f --- /dev/null +++ b/decks/animals/PNG/Round (outline)/owl.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqkvlbfuc41y" +path="res://.godot/imported/owl.png-5f88d550313f83ea27d13671e7f0ade2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/owl.png" +dest_files=["res://.godot/imported/owl.png-5f88d550313f83ea27d13671e7f0ade2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/panda.png b/decks/animals/PNG/Round (outline)/panda.png new file mode 100644 index 0000000..ca0e4ab Binary files /dev/null and b/decks/animals/PNG/Round (outline)/panda.png differ diff --git a/decks/animals/PNG/Round (outline)/panda.png.import b/decks/animals/PNG/Round (outline)/panda.png.import new file mode 100644 index 0000000..8979d54 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/panda.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://mbt8wk67rss3" +path="res://.godot/imported/panda.png-036a96c9ffaaa96c2cc2d61193fcce8c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/panda.png" +dest_files=["res://.godot/imported/panda.png-036a96c9ffaaa96c2cc2d61193fcce8c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/parrot.png b/decks/animals/PNG/Round (outline)/parrot.png new file mode 100644 index 0000000..bf0a20d Binary files /dev/null and b/decks/animals/PNG/Round (outline)/parrot.png differ diff --git a/decks/animals/PNG/Round (outline)/parrot.png.import b/decks/animals/PNG/Round (outline)/parrot.png.import new file mode 100644 index 0000000..bef61af --- /dev/null +++ b/decks/animals/PNG/Round (outline)/parrot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://baleb32vy72vn" +path="res://.godot/imported/parrot.png-008a9089af382cc6b0afafa7eff31e5b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/parrot.png" +dest_files=["res://.godot/imported/parrot.png-008a9089af382cc6b0afafa7eff31e5b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/penguin.png b/decks/animals/PNG/Round (outline)/penguin.png new file mode 100644 index 0000000..6673dc8 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/penguin.png differ diff --git a/decks/animals/PNG/Round (outline)/penguin.png.import b/decks/animals/PNG/Round (outline)/penguin.png.import new file mode 100644 index 0000000..95dfe9f --- /dev/null +++ b/decks/animals/PNG/Round (outline)/penguin.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cat8jgovvafxu" +path="res://.godot/imported/penguin.png-2d1d51b24f22202b2ab8eca3bfa8a7d3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/penguin.png" +dest_files=["res://.godot/imported/penguin.png-2d1d51b24f22202b2ab8eca3bfa8a7d3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/pig.png b/decks/animals/PNG/Round (outline)/pig.png new file mode 100644 index 0000000..d844b65 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/pig.png differ diff --git a/decks/animals/PNG/Round (outline)/pig.png.import b/decks/animals/PNG/Round (outline)/pig.png.import new file mode 100644 index 0000000..a615ec7 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/pig.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3y58i557j583" +path="res://.godot/imported/pig.png-4173db606f88a441e106578f249bea2a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/pig.png" +dest_files=["res://.godot/imported/pig.png-4173db606f88a441e106578f249bea2a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/rabbit.png b/decks/animals/PNG/Round (outline)/rabbit.png new file mode 100644 index 0000000..b697048 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/rabbit.png differ diff --git a/decks/animals/PNG/Round (outline)/rabbit.png.import b/decks/animals/PNG/Round (outline)/rabbit.png.import new file mode 100644 index 0000000..5dda10e --- /dev/null +++ b/decks/animals/PNG/Round (outline)/rabbit.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnya70xxfl56g" +path="res://.godot/imported/rabbit.png-b166653e6341913f38efef357c1dc4cf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/rabbit.png" +dest_files=["res://.godot/imported/rabbit.png-b166653e6341913f38efef357c1dc4cf.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/rhino.png b/decks/animals/PNG/Round (outline)/rhino.png new file mode 100644 index 0000000..4aa5180 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/rhino.png differ diff --git a/decks/animals/PNG/Round (outline)/rhino.png.import b/decks/animals/PNG/Round (outline)/rhino.png.import new file mode 100644 index 0000000..93e0713 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/rhino.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://rc8wp2j8t2b6" +path="res://.godot/imported/rhino.png-87b68d3fb9b08927c4450d332eebf68d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/rhino.png" +dest_files=["res://.godot/imported/rhino.png-87b68d3fb9b08927c4450d332eebf68d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/sloth.png b/decks/animals/PNG/Round (outline)/sloth.png new file mode 100644 index 0000000..2a9a270 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/sloth.png differ diff --git a/decks/animals/PNG/Round (outline)/sloth.png.import b/decks/animals/PNG/Round (outline)/sloth.png.import new file mode 100644 index 0000000..de31690 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/sloth.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cbbybdvctlbur" +path="res://.godot/imported/sloth.png-6987f602ddfb4cc184738c8190eded45.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/sloth.png" +dest_files=["res://.godot/imported/sloth.png-6987f602ddfb4cc184738c8190eded45.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/snake.png b/decks/animals/PNG/Round (outline)/snake.png new file mode 100644 index 0000000..7bf2367 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/snake.png differ diff --git a/decks/animals/PNG/Round (outline)/snake.png.import b/decks/animals/PNG/Round (outline)/snake.png.import new file mode 100644 index 0000000..0ab86bc --- /dev/null +++ b/decks/animals/PNG/Round (outline)/snake.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://lq5767t4v3g0" +path="res://.godot/imported/snake.png-2b258c86d21cc62c697db7a9b03c77ca.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/snake.png" +dest_files=["res://.godot/imported/snake.png-2b258c86d21cc62c697db7a9b03c77ca.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/walrus.png b/decks/animals/PNG/Round (outline)/walrus.png new file mode 100644 index 0000000..4a1ff30 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/walrus.png differ diff --git a/decks/animals/PNG/Round (outline)/walrus.png.import b/decks/animals/PNG/Round (outline)/walrus.png.import new file mode 100644 index 0000000..622d7ab --- /dev/null +++ b/decks/animals/PNG/Round (outline)/walrus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dull7ngi3pis4" +path="res://.godot/imported/walrus.png-86d5f478f4ef9b5a88c8bb092c9352da.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/walrus.png" +dest_files=["res://.godot/imported/walrus.png-86d5f478f4ef9b5a88c8bb092c9352da.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/whale.png b/decks/animals/PNG/Round (outline)/whale.png new file mode 100644 index 0000000..e7abcbd Binary files /dev/null and b/decks/animals/PNG/Round (outline)/whale.png differ diff --git a/decks/animals/PNG/Round (outline)/whale.png.import b/decks/animals/PNG/Round (outline)/whale.png.import new file mode 100644 index 0000000..1c8a5b3 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/whale.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dljlij003mrm0" +path="res://.godot/imported/whale.png-59c54d20c5d045a3943532855d553a9a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/whale.png" +dest_files=["res://.godot/imported/whale.png-59c54d20c5d045a3943532855d553a9a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round (outline)/zebra.png b/decks/animals/PNG/Round (outline)/zebra.png new file mode 100644 index 0000000..b914401 Binary files /dev/null and b/decks/animals/PNG/Round (outline)/zebra.png differ diff --git a/decks/animals/PNG/Round (outline)/zebra.png.import b/decks/animals/PNG/Round (outline)/zebra.png.import new file mode 100644 index 0000000..00c1ec9 --- /dev/null +++ b/decks/animals/PNG/Round (outline)/zebra.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2fac8r1h56tl" +path="res://.godot/imported/zebra.png-00ca2d4de05024e2bcb17aaa814b3241.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round (outline)/zebra.png" +dest_files=["res://.godot/imported/zebra.png-00ca2d4de05024e2bcb17aaa814b3241.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/Thumbs.db b/decks/animals/PNG/Round without details (outline)/Thumbs.db new file mode 100644 index 0000000..2115fa0 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/Thumbs.db differ diff --git a/decks/animals/PNG/Round without details (outline)/bear.png b/decks/animals/PNG/Round without details (outline)/bear.png new file mode 100644 index 0000000..c102137 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/bear.png differ diff --git a/decks/animals/PNG/Round without details (outline)/bear.png.import b/decks/animals/PNG/Round without details (outline)/bear.png.import new file mode 100644 index 0000000..75b2750 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/bear.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bra2bhcgnxhq7" +path="res://.godot/imported/bear.png-dfb5c6b0a8b484b82417c5437dd2eba9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/bear.png" +dest_files=["res://.godot/imported/bear.png-dfb5c6b0a8b484b82417c5437dd2eba9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/buffalo.png b/decks/animals/PNG/Round without details (outline)/buffalo.png new file mode 100644 index 0000000..701fb13 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/buffalo.png differ diff --git a/decks/animals/PNG/Round without details (outline)/buffalo.png.import b/decks/animals/PNG/Round without details (outline)/buffalo.png.import new file mode 100644 index 0000000..25e2286 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/buffalo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bivdraiasfkhs" +path="res://.godot/imported/buffalo.png-5a6611b01567c4a459e4c05d2f00e898.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/buffalo.png" +dest_files=["res://.godot/imported/buffalo.png-5a6611b01567c4a459e4c05d2f00e898.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/chick.png b/decks/animals/PNG/Round without details (outline)/chick.png new file mode 100644 index 0000000..48898f4 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/chick.png differ diff --git a/decks/animals/PNG/Round without details (outline)/chick.png.import b/decks/animals/PNG/Round without details (outline)/chick.png.import new file mode 100644 index 0000000..067cd26 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/chick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bv0clkd4aj4t2" +path="res://.godot/imported/chick.png-e52f4c124fa61ba572149146ce730b1a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/chick.png" +dest_files=["res://.godot/imported/chick.png-e52f4c124fa61ba572149146ce730b1a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/chicken.png b/decks/animals/PNG/Round without details (outline)/chicken.png new file mode 100644 index 0000000..f619034 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/chicken.png differ diff --git a/decks/animals/PNG/Round without details (outline)/chicken.png.import b/decks/animals/PNG/Round without details (outline)/chicken.png.import new file mode 100644 index 0000000..ac7638b --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/chicken.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0y3lemdeiom2" +path="res://.godot/imported/chicken.png-73be5cdee3ddbc66e41d3a9e94e09fc1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/chicken.png" +dest_files=["res://.godot/imported/chicken.png-73be5cdee3ddbc66e41d3a9e94e09fc1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/cow.png b/decks/animals/PNG/Round without details (outline)/cow.png new file mode 100644 index 0000000..a72474f Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/cow.png differ diff --git a/decks/animals/PNG/Round without details (outline)/cow.png.import b/decks/animals/PNG/Round without details (outline)/cow.png.import new file mode 100644 index 0000000..79c357e --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/cow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1bpyy843shjn" +path="res://.godot/imported/cow.png-c229f067a16757227d80867ee6cca90a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/cow.png" +dest_files=["res://.godot/imported/cow.png-c229f067a16757227d80867ee6cca90a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/crocodile.png b/decks/animals/PNG/Round without details (outline)/crocodile.png new file mode 100644 index 0000000..8e0fde4 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/crocodile.png differ diff --git a/decks/animals/PNG/Round without details (outline)/crocodile.png.import b/decks/animals/PNG/Round without details (outline)/crocodile.png.import new file mode 100644 index 0000000..e9b6f5a --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/crocodile.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8pqxybwsuaax" +path="res://.godot/imported/crocodile.png-86dd1291cb92fdc2505fb34631bf3a27.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/crocodile.png" +dest_files=["res://.godot/imported/crocodile.png-86dd1291cb92fdc2505fb34631bf3a27.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/dog.png b/decks/animals/PNG/Round without details (outline)/dog.png new file mode 100644 index 0000000..e3d4479 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/dog.png differ diff --git a/decks/animals/PNG/Round without details (outline)/dog.png.import b/decks/animals/PNG/Round without details (outline)/dog.png.import new file mode 100644 index 0000000..4e7dc58 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/dog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwhv8hsohq6eh" +path="res://.godot/imported/dog.png-38904dc18299c28ada0e69306a4daea0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/dog.png" +dest_files=["res://.godot/imported/dog.png-38904dc18299c28ada0e69306a4daea0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/duck.png b/decks/animals/PNG/Round without details (outline)/duck.png new file mode 100644 index 0000000..32f472e Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/duck.png differ diff --git a/decks/animals/PNG/Round without details (outline)/duck.png.import b/decks/animals/PNG/Round without details (outline)/duck.png.import new file mode 100644 index 0000000..3c69409 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/duck.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://wqg7lpsjaxlo" +path="res://.godot/imported/duck.png-8a07c467df45c82242a6b21452507efe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/duck.png" +dest_files=["res://.godot/imported/duck.png-8a07c467df45c82242a6b21452507efe.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/elephant.png b/decks/animals/PNG/Round without details (outline)/elephant.png new file mode 100644 index 0000000..da423ea Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/elephant.png differ diff --git a/decks/animals/PNG/Round without details (outline)/elephant.png.import b/decks/animals/PNG/Round without details (outline)/elephant.png.import new file mode 100644 index 0000000..2b7d4e9 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/elephant.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bk6ua4qonglo1" +path="res://.godot/imported/elephant.png-9a9a166a4b79ae120b63e923feb3ff98.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/elephant.png" +dest_files=["res://.godot/imported/elephant.png-9a9a166a4b79ae120b63e923feb3ff98.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/frog.png b/decks/animals/PNG/Round without details (outline)/frog.png new file mode 100644 index 0000000..b670c1f Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/frog.png differ diff --git a/decks/animals/PNG/Round without details (outline)/frog.png.import b/decks/animals/PNG/Round without details (outline)/frog.png.import new file mode 100644 index 0000000..f4ac82d --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/frog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://yrowpgqdspt7" +path="res://.godot/imported/frog.png-9681b341a4e0768e012e777a0099d748.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/frog.png" +dest_files=["res://.godot/imported/frog.png-9681b341a4e0768e012e777a0099d748.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/giraffe.png b/decks/animals/PNG/Round without details (outline)/giraffe.png new file mode 100644 index 0000000..3b2eb7f Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/giraffe.png differ diff --git a/decks/animals/PNG/Round without details (outline)/giraffe.png.import b/decks/animals/PNG/Round without details (outline)/giraffe.png.import new file mode 100644 index 0000000..532cd3a --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/giraffe.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cyitb88yre8ks" +path="res://.godot/imported/giraffe.png-f95e098e8383cb33206a8a789b877314.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/giraffe.png" +dest_files=["res://.godot/imported/giraffe.png-f95e098e8383cb33206a8a789b877314.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/goat.png b/decks/animals/PNG/Round without details (outline)/goat.png new file mode 100644 index 0000000..6d297b3 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/goat.png differ diff --git a/decks/animals/PNG/Round without details (outline)/goat.png.import b/decks/animals/PNG/Round without details (outline)/goat.png.import new file mode 100644 index 0000000..c05a129 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/goat.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://20h1638a6v25" +path="res://.godot/imported/goat.png-4ee9a42bea60a8bfb124bb573ce0c288.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/goat.png" +dest_files=["res://.godot/imported/goat.png-4ee9a42bea60a8bfb124bb573ce0c288.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/gorilla.png b/decks/animals/PNG/Round without details (outline)/gorilla.png new file mode 100644 index 0000000..58df008 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/gorilla.png differ diff --git a/decks/animals/PNG/Round without details (outline)/gorilla.png.import b/decks/animals/PNG/Round without details (outline)/gorilla.png.import new file mode 100644 index 0000000..24eea8d --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/gorilla.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7iojxgtwmdg3" +path="res://.godot/imported/gorilla.png-3d4ddfe2b9165830bc3290d7e72ad9db.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/gorilla.png" +dest_files=["res://.godot/imported/gorilla.png-3d4ddfe2b9165830bc3290d7e72ad9db.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/hippo.png b/decks/animals/PNG/Round without details (outline)/hippo.png new file mode 100644 index 0000000..35f0154 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/hippo.png differ diff --git a/decks/animals/PNG/Round without details (outline)/hippo.png.import b/decks/animals/PNG/Round without details (outline)/hippo.png.import new file mode 100644 index 0000000..d4c3b12 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/hippo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btjholymut3jg" +path="res://.godot/imported/hippo.png-42b87fb22dab2f4967b497fe7911aacb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/hippo.png" +dest_files=["res://.godot/imported/hippo.png-42b87fb22dab2f4967b497fe7911aacb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/horse.png b/decks/animals/PNG/Round without details (outline)/horse.png new file mode 100644 index 0000000..0206a60 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/horse.png differ diff --git a/decks/animals/PNG/Round without details (outline)/horse.png.import b/decks/animals/PNG/Round without details (outline)/horse.png.import new file mode 100644 index 0000000..89d9f53 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/horse.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dd48fjcki60je" +path="res://.godot/imported/horse.png-bb97434602588f4ecc0bd05dbb7abc1a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/horse.png" +dest_files=["res://.godot/imported/horse.png-bb97434602588f4ecc0bd05dbb7abc1a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/monkey.png b/decks/animals/PNG/Round without details (outline)/monkey.png new file mode 100644 index 0000000..b2fcac3 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/monkey.png differ diff --git a/decks/animals/PNG/Round without details (outline)/monkey.png.import b/decks/animals/PNG/Round without details (outline)/monkey.png.import new file mode 100644 index 0000000..3ab9597 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/monkey.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d0k0kk42t3tpt" +path="res://.godot/imported/monkey.png-25ee60d117eecf307c9c17147926bc38.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/monkey.png" +dest_files=["res://.godot/imported/monkey.png-25ee60d117eecf307c9c17147926bc38.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/moose.png b/decks/animals/PNG/Round without details (outline)/moose.png new file mode 100644 index 0000000..1aeebd9 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/moose.png differ diff --git a/decks/animals/PNG/Round without details (outline)/moose.png.import b/decks/animals/PNG/Round without details (outline)/moose.png.import new file mode 100644 index 0000000..db0d816 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/moose.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://udxetehkienh" +path="res://.godot/imported/moose.png-bff8f888a8a1b03a9b2b008cf92a2b10.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/moose.png" +dest_files=["res://.godot/imported/moose.png-bff8f888a8a1b03a9b2b008cf92a2b10.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/narwhal.png b/decks/animals/PNG/Round without details (outline)/narwhal.png new file mode 100644 index 0000000..731664e Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/narwhal.png differ diff --git a/decks/animals/PNG/Round without details (outline)/narwhal.png.import b/decks/animals/PNG/Round without details (outline)/narwhal.png.import new file mode 100644 index 0000000..c7e6cd5 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/narwhal.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://de6phn01a4l1t" +path="res://.godot/imported/narwhal.png-d3b28dddeb8986f277bcbdb3ba194f79.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/narwhal.png" +dest_files=["res://.godot/imported/narwhal.png-d3b28dddeb8986f277bcbdb3ba194f79.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/owl.png b/decks/animals/PNG/Round without details (outline)/owl.png new file mode 100644 index 0000000..62e860c Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/owl.png differ diff --git a/decks/animals/PNG/Round without details (outline)/owl.png.import b/decks/animals/PNG/Round without details (outline)/owl.png.import new file mode 100644 index 0000000..f02ff2e --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/owl.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dooqvwu78vmt4" +path="res://.godot/imported/owl.png-c4e9fa077110df626d22d509dcf0aa47.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/owl.png" +dest_files=["res://.godot/imported/owl.png-c4e9fa077110df626d22d509dcf0aa47.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/panda.png b/decks/animals/PNG/Round without details (outline)/panda.png new file mode 100644 index 0000000..d7d44f2 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/panda.png differ diff --git a/decks/animals/PNG/Round without details (outline)/panda.png.import b/decks/animals/PNG/Round without details (outline)/panda.png.import new file mode 100644 index 0000000..94c3b45 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/panda.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bi5144salwtkp" +path="res://.godot/imported/panda.png-7a93db0c110b6f7b9bea218648926160.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/panda.png" +dest_files=["res://.godot/imported/panda.png-7a93db0c110b6f7b9bea218648926160.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/parrot.png b/decks/animals/PNG/Round without details (outline)/parrot.png new file mode 100644 index 0000000..6b2198e Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/parrot.png differ diff --git a/decks/animals/PNG/Round without details (outline)/parrot.png.import b/decks/animals/PNG/Round without details (outline)/parrot.png.import new file mode 100644 index 0000000..275be19 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/parrot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://timbocmql2bk" +path="res://.godot/imported/parrot.png-2c3dc1ee8e50693d5460944e289267a6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/parrot.png" +dest_files=["res://.godot/imported/parrot.png-2c3dc1ee8e50693d5460944e289267a6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/penguin.png b/decks/animals/PNG/Round without details (outline)/penguin.png new file mode 100644 index 0000000..0be15ab Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/penguin.png differ diff --git a/decks/animals/PNG/Round without details (outline)/penguin.png.import b/decks/animals/PNG/Round without details (outline)/penguin.png.import new file mode 100644 index 0000000..a9a6823 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/penguin.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cl7snebq2a6eb" +path="res://.godot/imported/penguin.png-913be94d35100ca6729e790fa71d0eb9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/penguin.png" +dest_files=["res://.godot/imported/penguin.png-913be94d35100ca6729e790fa71d0eb9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/pig.png b/decks/animals/PNG/Round without details (outline)/pig.png new file mode 100644 index 0000000..1d24444 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/pig.png differ diff --git a/decks/animals/PNG/Round without details (outline)/pig.png.import b/decks/animals/PNG/Round without details (outline)/pig.png.import new file mode 100644 index 0000000..2d3b0e7 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/pig.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dng8f23ruummx" +path="res://.godot/imported/pig.png-adaa32f8d5f03306b87ca53f2d2f553c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/pig.png" +dest_files=["res://.godot/imported/pig.png-adaa32f8d5f03306b87ca53f2d2f553c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/rabbit.png b/decks/animals/PNG/Round without details (outline)/rabbit.png new file mode 100644 index 0000000..53b67e5 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/rabbit.png differ diff --git a/decks/animals/PNG/Round without details (outline)/rabbit.png.import b/decks/animals/PNG/Round without details (outline)/rabbit.png.import new file mode 100644 index 0000000..d73ec95 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/rabbit.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0hcbrsaivo3k" +path="res://.godot/imported/rabbit.png-17c424bf56dbaf9e8154b0bee10ee641.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/rabbit.png" +dest_files=["res://.godot/imported/rabbit.png-17c424bf56dbaf9e8154b0bee10ee641.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/rhino.png b/decks/animals/PNG/Round without details (outline)/rhino.png new file mode 100644 index 0000000..8e903ed Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/rhino.png differ diff --git a/decks/animals/PNG/Round without details (outline)/rhino.png.import b/decks/animals/PNG/Round without details (outline)/rhino.png.import new file mode 100644 index 0000000..5389001 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/rhino.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vvmgidvwssyv" +path="res://.godot/imported/rhino.png-ca024055788565ffb493f26f7d3462fb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/rhino.png" +dest_files=["res://.godot/imported/rhino.png-ca024055788565ffb493f26f7d3462fb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/sloth.png b/decks/animals/PNG/Round without details (outline)/sloth.png new file mode 100644 index 0000000..8ff8bdc Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/sloth.png differ diff --git a/decks/animals/PNG/Round without details (outline)/sloth.png.import b/decks/animals/PNG/Round without details (outline)/sloth.png.import new file mode 100644 index 0000000..9ae13cc --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/sloth.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ce03sn3bhgma1" +path="res://.godot/imported/sloth.png-8d4fe3de2df27ef1b6e9d3f5f09cbadc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/sloth.png" +dest_files=["res://.godot/imported/sloth.png-8d4fe3de2df27ef1b6e9d3f5f09cbadc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/snake.png b/decks/animals/PNG/Round without details (outline)/snake.png new file mode 100644 index 0000000..d7cdf5c Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/snake.png differ diff --git a/decks/animals/PNG/Round without details (outline)/snake.png.import b/decks/animals/PNG/Round without details (outline)/snake.png.import new file mode 100644 index 0000000..c6b3359 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/snake.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cvtmsyqbapnti" +path="res://.godot/imported/snake.png-dc89d2769f95c7c2de4209ec51265977.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/snake.png" +dest_files=["res://.godot/imported/snake.png-dc89d2769f95c7c2de4209ec51265977.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/walrus.png b/decks/animals/PNG/Round without details (outline)/walrus.png new file mode 100644 index 0000000..53b09e0 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/walrus.png differ diff --git a/decks/animals/PNG/Round without details (outline)/walrus.png.import b/decks/animals/PNG/Round without details (outline)/walrus.png.import new file mode 100644 index 0000000..8fadeaa --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/walrus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cj5tas78ksunc" +path="res://.godot/imported/walrus.png-36eda61f845680fb1e197da78d9d2d40.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/walrus.png" +dest_files=["res://.godot/imported/walrus.png-36eda61f845680fb1e197da78d9d2d40.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/whale.png b/decks/animals/PNG/Round without details (outline)/whale.png new file mode 100644 index 0000000..4a72f28 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/whale.png differ diff --git a/decks/animals/PNG/Round without details (outline)/whale.png.import b/decks/animals/PNG/Round without details (outline)/whale.png.import new file mode 100644 index 0000000..f472b42 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/whale.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bbkaf65dgcwdh" +path="res://.godot/imported/whale.png-c0e9d32576e6751c84609e0d013ad83f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/whale.png" +dest_files=["res://.godot/imported/whale.png-c0e9d32576e6751c84609e0d013ad83f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details (outline)/zebra.png b/decks/animals/PNG/Round without details (outline)/zebra.png new file mode 100644 index 0000000..6429579 Binary files /dev/null and b/decks/animals/PNG/Round without details (outline)/zebra.png differ diff --git a/decks/animals/PNG/Round without details (outline)/zebra.png.import b/decks/animals/PNG/Round without details (outline)/zebra.png.import new file mode 100644 index 0000000..ebc53d2 --- /dev/null +++ b/decks/animals/PNG/Round without details (outline)/zebra.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dhxa8jg5u0w6e" +path="res://.godot/imported/zebra.png-ec75dd759e6117b3d5b1c390d0d62465.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details (outline)/zebra.png" +dest_files=["res://.godot/imported/zebra.png-ec75dd759e6117b3d5b1c390d0d62465.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/Thumbs.db b/decks/animals/PNG/Round without details/Thumbs.db new file mode 100644 index 0000000..12908f7 Binary files /dev/null and b/decks/animals/PNG/Round without details/Thumbs.db differ diff --git a/decks/animals/PNG/Round without details/bear.png b/decks/animals/PNG/Round without details/bear.png new file mode 100644 index 0000000..5ff8881 Binary files /dev/null and b/decks/animals/PNG/Round without details/bear.png differ diff --git a/decks/animals/PNG/Round without details/bear.png.import b/decks/animals/PNG/Round without details/bear.png.import new file mode 100644 index 0000000..e8b1e16 --- /dev/null +++ b/decks/animals/PNG/Round without details/bear.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c5g572oxu53ug" +path="res://.godot/imported/bear.png-a43b1e8b91d2befc19454f33c0137cef.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/bear.png" +dest_files=["res://.godot/imported/bear.png-a43b1e8b91d2befc19454f33c0137cef.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/buffalo.png b/decks/animals/PNG/Round without details/buffalo.png new file mode 100644 index 0000000..58509a6 Binary files /dev/null and b/decks/animals/PNG/Round without details/buffalo.png differ diff --git a/decks/animals/PNG/Round without details/buffalo.png.import b/decks/animals/PNG/Round without details/buffalo.png.import new file mode 100644 index 0000000..ebc641e --- /dev/null +++ b/decks/animals/PNG/Round without details/buffalo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b8uv314bt3x" +path="res://.godot/imported/buffalo.png-39c16b19e2a7bf54c5170574fb7175ba.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/buffalo.png" +dest_files=["res://.godot/imported/buffalo.png-39c16b19e2a7bf54c5170574fb7175ba.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/chick.png b/decks/animals/PNG/Round without details/chick.png new file mode 100644 index 0000000..3d9f113 Binary files /dev/null and b/decks/animals/PNG/Round without details/chick.png differ diff --git a/decks/animals/PNG/Round without details/chick.png.import b/decks/animals/PNG/Round without details/chick.png.import new file mode 100644 index 0000000..e148d34 --- /dev/null +++ b/decks/animals/PNG/Round without details/chick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://yav2q1ul7bxa" +path="res://.godot/imported/chick.png-1e79b34fa12cc1ac0b30e178beadfc84.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/chick.png" +dest_files=["res://.godot/imported/chick.png-1e79b34fa12cc1ac0b30e178beadfc84.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/chicken.png b/decks/animals/PNG/Round without details/chicken.png new file mode 100644 index 0000000..fb74516 Binary files /dev/null and b/decks/animals/PNG/Round without details/chicken.png differ diff --git a/decks/animals/PNG/Round without details/chicken.png.import b/decks/animals/PNG/Round without details/chicken.png.import new file mode 100644 index 0000000..c19a566 --- /dev/null +++ b/decks/animals/PNG/Round without details/chicken.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d08v6826l5ec0" +path="res://.godot/imported/chicken.png-7a4d75224a87e69f1a311bd9eed5478a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/chicken.png" +dest_files=["res://.godot/imported/chicken.png-7a4d75224a87e69f1a311bd9eed5478a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/cow.png b/decks/animals/PNG/Round without details/cow.png new file mode 100644 index 0000000..08f0866 Binary files /dev/null and b/decks/animals/PNG/Round without details/cow.png differ diff --git a/decks/animals/PNG/Round without details/cow.png.import b/decks/animals/PNG/Round without details/cow.png.import new file mode 100644 index 0000000..0e4875c --- /dev/null +++ b/decks/animals/PNG/Round without details/cow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpueakd4cen8b" +path="res://.godot/imported/cow.png-938a59336b9706465822a7f6ed989475.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/cow.png" +dest_files=["res://.godot/imported/cow.png-938a59336b9706465822a7f6ed989475.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/crocodile.png b/decks/animals/PNG/Round without details/crocodile.png new file mode 100644 index 0000000..594bb58 Binary files /dev/null and b/decks/animals/PNG/Round without details/crocodile.png differ diff --git a/decks/animals/PNG/Round without details/crocodile.png.import b/decks/animals/PNG/Round without details/crocodile.png.import new file mode 100644 index 0000000..d01c803 --- /dev/null +++ b/decks/animals/PNG/Round without details/crocodile.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://tmy83l86x6lj" +path="res://.godot/imported/crocodile.png-e364fdd228d2dbf13d5b4d542e9e8cc8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/crocodile.png" +dest_files=["res://.godot/imported/crocodile.png-e364fdd228d2dbf13d5b4d542e9e8cc8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/dog.png b/decks/animals/PNG/Round without details/dog.png new file mode 100644 index 0000000..ac45497 Binary files /dev/null and b/decks/animals/PNG/Round without details/dog.png differ diff --git a/decks/animals/PNG/Round without details/dog.png.import b/decks/animals/PNG/Round without details/dog.png.import new file mode 100644 index 0000000..40bb8e5 --- /dev/null +++ b/decks/animals/PNG/Round without details/dog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxp7tvafmra6g" +path="res://.godot/imported/dog.png-e4a39a47a55ee1b2c6ec97c52f816d99.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/dog.png" +dest_files=["res://.godot/imported/dog.png-e4a39a47a55ee1b2c6ec97c52f816d99.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/duck.png b/decks/animals/PNG/Round without details/duck.png new file mode 100644 index 0000000..76b0af7 Binary files /dev/null and b/decks/animals/PNG/Round without details/duck.png differ diff --git a/decks/animals/PNG/Round without details/duck.png.import b/decks/animals/PNG/Round without details/duck.png.import new file mode 100644 index 0000000..bbb550f --- /dev/null +++ b/decks/animals/PNG/Round without details/duck.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://boud2ym1c45jd" +path="res://.godot/imported/duck.png-01f809a99c810d01798e741959ae21ee.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/duck.png" +dest_files=["res://.godot/imported/duck.png-01f809a99c810d01798e741959ae21ee.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/elephant.png b/decks/animals/PNG/Round without details/elephant.png new file mode 100644 index 0000000..5bfd109 Binary files /dev/null and b/decks/animals/PNG/Round without details/elephant.png differ diff --git a/decks/animals/PNG/Round without details/elephant.png.import b/decks/animals/PNG/Round without details/elephant.png.import new file mode 100644 index 0000000..86c72a7 --- /dev/null +++ b/decks/animals/PNG/Round without details/elephant.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://eum0l1rrgjn7" +path="res://.godot/imported/elephant.png-4ae9109c8b8c518289d133edf0fdebac.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/elephant.png" +dest_files=["res://.godot/imported/elephant.png-4ae9109c8b8c518289d133edf0fdebac.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/frog.png b/decks/animals/PNG/Round without details/frog.png new file mode 100644 index 0000000..089d5c5 Binary files /dev/null and b/decks/animals/PNG/Round without details/frog.png differ diff --git a/decks/animals/PNG/Round without details/frog.png.import b/decks/animals/PNG/Round without details/frog.png.import new file mode 100644 index 0000000..1c5d4da --- /dev/null +++ b/decks/animals/PNG/Round without details/frog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://df7b2m5vva54h" +path="res://.godot/imported/frog.png-e1b868741eb0450e0e89a20bc1be5d79.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/frog.png" +dest_files=["res://.godot/imported/frog.png-e1b868741eb0450e0e89a20bc1be5d79.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/giraffe.png b/decks/animals/PNG/Round without details/giraffe.png new file mode 100644 index 0000000..4ae421a Binary files /dev/null and b/decks/animals/PNG/Round without details/giraffe.png differ diff --git a/decks/animals/PNG/Round without details/giraffe.png.import b/decks/animals/PNG/Round without details/giraffe.png.import new file mode 100644 index 0000000..9ddf2c7 --- /dev/null +++ b/decks/animals/PNG/Round without details/giraffe.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpofx4nu3cu76" +path="res://.godot/imported/giraffe.png-a0c54bf51af4dd66c1da30e869a75b6d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/giraffe.png" +dest_files=["res://.godot/imported/giraffe.png-a0c54bf51af4dd66c1da30e869a75b6d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/goat.png b/decks/animals/PNG/Round without details/goat.png new file mode 100644 index 0000000..d760926 Binary files /dev/null and b/decks/animals/PNG/Round without details/goat.png differ diff --git a/decks/animals/PNG/Round without details/goat.png.import b/decks/animals/PNG/Round without details/goat.png.import new file mode 100644 index 0000000..45dc3a9 --- /dev/null +++ b/decks/animals/PNG/Round without details/goat.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2yscvyrcdg6h" +path="res://.godot/imported/goat.png-26e7c564994dee90b102973d8ce77fe5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/goat.png" +dest_files=["res://.godot/imported/goat.png-26e7c564994dee90b102973d8ce77fe5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/gorilla.png b/decks/animals/PNG/Round without details/gorilla.png new file mode 100644 index 0000000..4239940 Binary files /dev/null and b/decks/animals/PNG/Round without details/gorilla.png differ diff --git a/decks/animals/PNG/Round without details/gorilla.png.import b/decks/animals/PNG/Round without details/gorilla.png.import new file mode 100644 index 0000000..722ed56 --- /dev/null +++ b/decks/animals/PNG/Round without details/gorilla.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xubluw0ynilm" +path="res://.godot/imported/gorilla.png-2e94bb0033d072195b3bd59fe715a06e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/gorilla.png" +dest_files=["res://.godot/imported/gorilla.png-2e94bb0033d072195b3bd59fe715a06e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/hippo.png b/decks/animals/PNG/Round without details/hippo.png new file mode 100644 index 0000000..d7ad412 Binary files /dev/null and b/decks/animals/PNG/Round without details/hippo.png differ diff --git a/decks/animals/PNG/Round without details/hippo.png.import b/decks/animals/PNG/Round without details/hippo.png.import new file mode 100644 index 0000000..dc4f8de --- /dev/null +++ b/decks/animals/PNG/Round without details/hippo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cv2tlwhobgdi1" +path="res://.godot/imported/hippo.png-80a1cdf960a2cb0f7311e73418b618f4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/hippo.png" +dest_files=["res://.godot/imported/hippo.png-80a1cdf960a2cb0f7311e73418b618f4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/horse.png b/decks/animals/PNG/Round without details/horse.png new file mode 100644 index 0000000..4721aae Binary files /dev/null and b/decks/animals/PNG/Round without details/horse.png differ diff --git a/decks/animals/PNG/Round without details/horse.png.import b/decks/animals/PNG/Round without details/horse.png.import new file mode 100644 index 0000000..b7a5a71 --- /dev/null +++ b/decks/animals/PNG/Round without details/horse.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dkbnk0yr61bge" +path="res://.godot/imported/horse.png-c69da4bca7dc3ae6429a6a83c42b8756.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/horse.png" +dest_files=["res://.godot/imported/horse.png-c69da4bca7dc3ae6429a6a83c42b8756.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/monkey.png b/decks/animals/PNG/Round without details/monkey.png new file mode 100644 index 0000000..1fed88f Binary files /dev/null and b/decks/animals/PNG/Round without details/monkey.png differ diff --git a/decks/animals/PNG/Round without details/monkey.png.import b/decks/animals/PNG/Round without details/monkey.png.import new file mode 100644 index 0000000..97c52c6 --- /dev/null +++ b/decks/animals/PNG/Round without details/monkey.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://im7jfwmy5ngo" +path="res://.godot/imported/monkey.png-3961f4281ea3d19c9d6d84b318cdca21.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/monkey.png" +dest_files=["res://.godot/imported/monkey.png-3961f4281ea3d19c9d6d84b318cdca21.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/moose.png b/decks/animals/PNG/Round without details/moose.png new file mode 100644 index 0000000..bec15d6 Binary files /dev/null and b/decks/animals/PNG/Round without details/moose.png differ diff --git a/decks/animals/PNG/Round without details/moose.png.import b/decks/animals/PNG/Round without details/moose.png.import new file mode 100644 index 0000000..939186a --- /dev/null +++ b/decks/animals/PNG/Round without details/moose.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cbay2ldshgamc" +path="res://.godot/imported/moose.png-8734ffe8cee9857bd02d4ec74e220c42.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/moose.png" +dest_files=["res://.godot/imported/moose.png-8734ffe8cee9857bd02d4ec74e220c42.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/narwhal.png b/decks/animals/PNG/Round without details/narwhal.png new file mode 100644 index 0000000..2b43d51 Binary files /dev/null and b/decks/animals/PNG/Round without details/narwhal.png differ diff --git a/decks/animals/PNG/Round without details/narwhal.png.import b/decks/animals/PNG/Round without details/narwhal.png.import new file mode 100644 index 0000000..fa748a7 --- /dev/null +++ b/decks/animals/PNG/Round without details/narwhal.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ctnvowlwwu8c1" +path="res://.godot/imported/narwhal.png-4b59f2d07dad2c7441d313908ec76432.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/narwhal.png" +dest_files=["res://.godot/imported/narwhal.png-4b59f2d07dad2c7441d313908ec76432.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/owl.png b/decks/animals/PNG/Round without details/owl.png new file mode 100644 index 0000000..b51c981 Binary files /dev/null and b/decks/animals/PNG/Round without details/owl.png differ diff --git a/decks/animals/PNG/Round without details/owl.png.import b/decks/animals/PNG/Round without details/owl.png.import new file mode 100644 index 0000000..bbe71d8 --- /dev/null +++ b/decks/animals/PNG/Round without details/owl.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c5agwm45x83xx" +path="res://.godot/imported/owl.png-272c3bdf6d4cf3dc8b0c38135155de25.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/owl.png" +dest_files=["res://.godot/imported/owl.png-272c3bdf6d4cf3dc8b0c38135155de25.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/panda.png b/decks/animals/PNG/Round without details/panda.png new file mode 100644 index 0000000..54b9690 Binary files /dev/null and b/decks/animals/PNG/Round without details/panda.png differ diff --git a/decks/animals/PNG/Round without details/panda.png.import b/decks/animals/PNG/Round without details/panda.png.import new file mode 100644 index 0000000..21963f9 --- /dev/null +++ b/decks/animals/PNG/Round without details/panda.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cf6e45r5w1jh2" +path="res://.godot/imported/panda.png-78ee265e16c548294197ae170bc8bbbe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/panda.png" +dest_files=["res://.godot/imported/panda.png-78ee265e16c548294197ae170bc8bbbe.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/parrot.png b/decks/animals/PNG/Round without details/parrot.png new file mode 100644 index 0000000..b80e3ad Binary files /dev/null and b/decks/animals/PNG/Round without details/parrot.png differ diff --git a/decks/animals/PNG/Round without details/parrot.png.import b/decks/animals/PNG/Round without details/parrot.png.import new file mode 100644 index 0000000..5794bed --- /dev/null +++ b/decks/animals/PNG/Round without details/parrot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bm144yaiu77v2" +path="res://.godot/imported/parrot.png-7b75dd46338058f394841fa6565ff49c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/parrot.png" +dest_files=["res://.godot/imported/parrot.png-7b75dd46338058f394841fa6565ff49c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/penguin.png b/decks/animals/PNG/Round without details/penguin.png new file mode 100644 index 0000000..62cab28 Binary files /dev/null and b/decks/animals/PNG/Round without details/penguin.png differ diff --git a/decks/animals/PNG/Round without details/penguin.png.import b/decks/animals/PNG/Round without details/penguin.png.import new file mode 100644 index 0000000..1c64c54 --- /dev/null +++ b/decks/animals/PNG/Round without details/penguin.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://scpkhm1bnb0w" +path="res://.godot/imported/penguin.png-2ab2cf0931998d0f00f7ad9024e6b26f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/penguin.png" +dest_files=["res://.godot/imported/penguin.png-2ab2cf0931998d0f00f7ad9024e6b26f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/pig.png b/decks/animals/PNG/Round without details/pig.png new file mode 100644 index 0000000..2457e53 Binary files /dev/null and b/decks/animals/PNG/Round without details/pig.png differ diff --git a/decks/animals/PNG/Round without details/pig.png.import b/decks/animals/PNG/Round without details/pig.png.import new file mode 100644 index 0000000..0fe0aa5 --- /dev/null +++ b/decks/animals/PNG/Round without details/pig.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bv1mulrg0ln4o" +path="res://.godot/imported/pig.png-248abe3becb13ffc32adc950c4942292.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/pig.png" +dest_files=["res://.godot/imported/pig.png-248abe3becb13ffc32adc950c4942292.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/rabbit.png b/decks/animals/PNG/Round without details/rabbit.png new file mode 100644 index 0000000..1b7a739 Binary files /dev/null and b/decks/animals/PNG/Round without details/rabbit.png differ diff --git a/decks/animals/PNG/Round without details/rabbit.png.import b/decks/animals/PNG/Round without details/rabbit.png.import new file mode 100644 index 0000000..e099e02 --- /dev/null +++ b/decks/animals/PNG/Round without details/rabbit.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c0svgafxfhqch" +path="res://.godot/imported/rabbit.png-4ef9b015d8fec1e840638bab15fde5e5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/rabbit.png" +dest_files=["res://.godot/imported/rabbit.png-4ef9b015d8fec1e840638bab15fde5e5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/rhino.png b/decks/animals/PNG/Round without details/rhino.png new file mode 100644 index 0000000..01dfe39 Binary files /dev/null and b/decks/animals/PNG/Round without details/rhino.png differ diff --git a/decks/animals/PNG/Round without details/rhino.png.import b/decks/animals/PNG/Round without details/rhino.png.import new file mode 100644 index 0000000..d5d141d --- /dev/null +++ b/decks/animals/PNG/Round without details/rhino.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://kokkrm4cwbki" +path="res://.godot/imported/rhino.png-aa524f0e9c10a4416679d371933665bc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/rhino.png" +dest_files=["res://.godot/imported/rhino.png-aa524f0e9c10a4416679d371933665bc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/sloth.png b/decks/animals/PNG/Round without details/sloth.png new file mode 100644 index 0000000..440f632 Binary files /dev/null and b/decks/animals/PNG/Round without details/sloth.png differ diff --git a/decks/animals/PNG/Round without details/sloth.png.import b/decks/animals/PNG/Round without details/sloth.png.import new file mode 100644 index 0000000..1d382d2 --- /dev/null +++ b/decks/animals/PNG/Round without details/sloth.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cam03lhy08qij" +path="res://.godot/imported/sloth.png-7eb1bbe0df3b65beae4dc8cf3e6d2580.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/sloth.png" +dest_files=["res://.godot/imported/sloth.png-7eb1bbe0df3b65beae4dc8cf3e6d2580.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/snake.png b/decks/animals/PNG/Round without details/snake.png new file mode 100644 index 0000000..18346fe Binary files /dev/null and b/decks/animals/PNG/Round without details/snake.png differ diff --git a/decks/animals/PNG/Round without details/snake.png.import b/decks/animals/PNG/Round without details/snake.png.import new file mode 100644 index 0000000..1310aa7 --- /dev/null +++ b/decks/animals/PNG/Round without details/snake.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://k226ib3l40l4" +path="res://.godot/imported/snake.png-0c9685408fe7661b5d0b43a0d32ca097.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/snake.png" +dest_files=["res://.godot/imported/snake.png-0c9685408fe7661b5d0b43a0d32ca097.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/walrus.png b/decks/animals/PNG/Round without details/walrus.png new file mode 100644 index 0000000..44a7a80 Binary files /dev/null and b/decks/animals/PNG/Round without details/walrus.png differ diff --git a/decks/animals/PNG/Round without details/walrus.png.import b/decks/animals/PNG/Round without details/walrus.png.import new file mode 100644 index 0000000..2ef6714 --- /dev/null +++ b/decks/animals/PNG/Round without details/walrus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btn5npbj5cvqq" +path="res://.godot/imported/walrus.png-8d1937905f6a1fbc6fae484c882e422b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/walrus.png" +dest_files=["res://.godot/imported/walrus.png-8d1937905f6a1fbc6fae484c882e422b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/whale.png b/decks/animals/PNG/Round without details/whale.png new file mode 100644 index 0000000..3df486a Binary files /dev/null and b/decks/animals/PNG/Round without details/whale.png differ diff --git a/decks/animals/PNG/Round without details/whale.png.import b/decks/animals/PNG/Round without details/whale.png.import new file mode 100644 index 0000000..3fad175 --- /dev/null +++ b/decks/animals/PNG/Round without details/whale.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://w10ew61l0ghp" +path="res://.godot/imported/whale.png-a8722ef840256ce024b1d288d1f6aa0c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/whale.png" +dest_files=["res://.godot/imported/whale.png-a8722ef840256ce024b1d288d1f6aa0c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round without details/zebra.png b/decks/animals/PNG/Round without details/zebra.png new file mode 100644 index 0000000..d0503a5 Binary files /dev/null and b/decks/animals/PNG/Round without details/zebra.png differ diff --git a/decks/animals/PNG/Round without details/zebra.png.import b/decks/animals/PNG/Round without details/zebra.png.import new file mode 100644 index 0000000..60ad073 --- /dev/null +++ b/decks/animals/PNG/Round without details/zebra.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pa2yjf74wot1" +path="res://.godot/imported/zebra.png-af906f0ec611771c9298e4b4660f1863.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round without details/zebra.png" +dest_files=["res://.godot/imported/zebra.png-af906f0ec611771c9298e4b4660f1863.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/Thumbs.db b/decks/animals/PNG/Round/Thumbs.db new file mode 100644 index 0000000..9b9dd88 Binary files /dev/null and b/decks/animals/PNG/Round/Thumbs.db differ diff --git a/decks/animals/PNG/Round/bear.png b/decks/animals/PNG/Round/bear.png new file mode 100644 index 0000000..f95a398 Binary files /dev/null and b/decks/animals/PNG/Round/bear.png differ diff --git a/decks/animals/PNG/Round/bear.png.import b/decks/animals/PNG/Round/bear.png.import new file mode 100644 index 0000000..c766a35 --- /dev/null +++ b/decks/animals/PNG/Round/bear.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dimn5v7uh8bxu" +path="res://.godot/imported/bear.png-6ce05334a60643c40a79cf2e4209a401.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/bear.png" +dest_files=["res://.godot/imported/bear.png-6ce05334a60643c40a79cf2e4209a401.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/buffalo.png b/decks/animals/PNG/Round/buffalo.png new file mode 100644 index 0000000..69eb633 Binary files /dev/null and b/decks/animals/PNG/Round/buffalo.png differ diff --git a/decks/animals/PNG/Round/buffalo.png.import b/decks/animals/PNG/Round/buffalo.png.import new file mode 100644 index 0000000..3abdd98 --- /dev/null +++ b/decks/animals/PNG/Round/buffalo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3o4whie14yeo" +path="res://.godot/imported/buffalo.png-87c41a0ab8705dce0a4c4c26e6861146.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/buffalo.png" +dest_files=["res://.godot/imported/buffalo.png-87c41a0ab8705dce0a4c4c26e6861146.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/chick.png b/decks/animals/PNG/Round/chick.png new file mode 100644 index 0000000..3d9f113 Binary files /dev/null and b/decks/animals/PNG/Round/chick.png differ diff --git a/decks/animals/PNG/Round/chick.png.import b/decks/animals/PNG/Round/chick.png.import new file mode 100644 index 0000000..cec8428 --- /dev/null +++ b/decks/animals/PNG/Round/chick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://triyhbbmvx4l" +path="res://.godot/imported/chick.png-4060ddef25d3f20b950508d4fd626f07.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/chick.png" +dest_files=["res://.godot/imported/chick.png-4060ddef25d3f20b950508d4fd626f07.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/chicken.png b/decks/animals/PNG/Round/chicken.png new file mode 100644 index 0000000..3aa58bb Binary files /dev/null and b/decks/animals/PNG/Round/chicken.png differ diff --git a/decks/animals/PNG/Round/chicken.png.import b/decks/animals/PNG/Round/chicken.png.import new file mode 100644 index 0000000..44ea243 --- /dev/null +++ b/decks/animals/PNG/Round/chicken.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cuvjjbeg6i7ny" +path="res://.godot/imported/chicken.png-44a8e77e566be6815501204a208a8e43.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/chicken.png" +dest_files=["res://.godot/imported/chicken.png-44a8e77e566be6815501204a208a8e43.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/cow.png b/decks/animals/PNG/Round/cow.png new file mode 100644 index 0000000..8eff1c2 Binary files /dev/null and b/decks/animals/PNG/Round/cow.png differ diff --git a/decks/animals/PNG/Round/cow.png.import b/decks/animals/PNG/Round/cow.png.import new file mode 100644 index 0000000..6f268b2 --- /dev/null +++ b/decks/animals/PNG/Round/cow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cw0n0emqb8wva" +path="res://.godot/imported/cow.png-c36ef8bc15a81b90223294cdc5b31bba.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/cow.png" +dest_files=["res://.godot/imported/cow.png-c36ef8bc15a81b90223294cdc5b31bba.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/crocodile.png b/decks/animals/PNG/Round/crocodile.png new file mode 100644 index 0000000..5f5287f Binary files /dev/null and b/decks/animals/PNG/Round/crocodile.png differ diff --git a/decks/animals/PNG/Round/crocodile.png.import b/decks/animals/PNG/Round/crocodile.png.import new file mode 100644 index 0000000..bdbceb1 --- /dev/null +++ b/decks/animals/PNG/Round/crocodile.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmem5hihbrvfo" +path="res://.godot/imported/crocodile.png-8119066f031b3986e4814929f2015ea9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/crocodile.png" +dest_files=["res://.godot/imported/crocodile.png-8119066f031b3986e4814929f2015ea9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/dog.png b/decks/animals/PNG/Round/dog.png new file mode 100644 index 0000000..85bbe0f Binary files /dev/null and b/decks/animals/PNG/Round/dog.png differ diff --git a/decks/animals/PNG/Round/dog.png.import b/decks/animals/PNG/Round/dog.png.import new file mode 100644 index 0000000..820c873 --- /dev/null +++ b/decks/animals/PNG/Round/dog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d4lt3bs025cnk" +path="res://.godot/imported/dog.png-657190f8ad97e5bfb0da27e752bac763.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/dog.png" +dest_files=["res://.godot/imported/dog.png-657190f8ad97e5bfb0da27e752bac763.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/duck.png b/decks/animals/PNG/Round/duck.png new file mode 100644 index 0000000..76b0af7 Binary files /dev/null and b/decks/animals/PNG/Round/duck.png differ diff --git a/decks/animals/PNG/Round/duck.png.import b/decks/animals/PNG/Round/duck.png.import new file mode 100644 index 0000000..5f96ba0 --- /dev/null +++ b/decks/animals/PNG/Round/duck.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxqiw2tacgrqp" +path="res://.godot/imported/duck.png-7f55b7c4f75e04edc3053dab395303b1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/duck.png" +dest_files=["res://.godot/imported/duck.png-7f55b7c4f75e04edc3053dab395303b1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/elephant.png b/decks/animals/PNG/Round/elephant.png new file mode 100644 index 0000000..47da5bc Binary files /dev/null and b/decks/animals/PNG/Round/elephant.png differ diff --git a/decks/animals/PNG/Round/elephant.png.import b/decks/animals/PNG/Round/elephant.png.import new file mode 100644 index 0000000..7790e02 --- /dev/null +++ b/decks/animals/PNG/Round/elephant.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c0gwqqmk7pqr" +path="res://.godot/imported/elephant.png-ca14f7f4c9e41aa008815ad4addf6f37.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/elephant.png" +dest_files=["res://.godot/imported/elephant.png-ca14f7f4c9e41aa008815ad4addf6f37.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/frog.png b/decks/animals/PNG/Round/frog.png new file mode 100644 index 0000000..f979f95 Binary files /dev/null and b/decks/animals/PNG/Round/frog.png differ diff --git a/decks/animals/PNG/Round/frog.png.import b/decks/animals/PNG/Round/frog.png.import new file mode 100644 index 0000000..48510a6 --- /dev/null +++ b/decks/animals/PNG/Round/frog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3okqhdkh20m1" +path="res://.godot/imported/frog.png-b4222ff58c846b470e2a635144f24957.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/frog.png" +dest_files=["res://.godot/imported/frog.png-b4222ff58c846b470e2a635144f24957.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/giraffe.png b/decks/animals/PNG/Round/giraffe.png new file mode 100644 index 0000000..57d91f6 Binary files /dev/null and b/decks/animals/PNG/Round/giraffe.png differ diff --git a/decks/animals/PNG/Round/giraffe.png.import b/decks/animals/PNG/Round/giraffe.png.import new file mode 100644 index 0000000..f7bec92 --- /dev/null +++ b/decks/animals/PNG/Round/giraffe.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cyu53b5wngako" +path="res://.godot/imported/giraffe.png-25fcfae3ec276581bd27cd7e6a0075e8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/giraffe.png" +dest_files=["res://.godot/imported/giraffe.png-25fcfae3ec276581bd27cd7e6a0075e8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/goat.png b/decks/animals/PNG/Round/goat.png new file mode 100644 index 0000000..3af79d2 Binary files /dev/null and b/decks/animals/PNG/Round/goat.png differ diff --git a/decks/animals/PNG/Round/goat.png.import b/decks/animals/PNG/Round/goat.png.import new file mode 100644 index 0000000..3f9e905 --- /dev/null +++ b/decks/animals/PNG/Round/goat.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1k6227wxfrlx" +path="res://.godot/imported/goat.png-c2e99c9029e4897bfb083bfbca018481.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/goat.png" +dest_files=["res://.godot/imported/goat.png-c2e99c9029e4897bfb083bfbca018481.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/gorilla.png b/decks/animals/PNG/Round/gorilla.png new file mode 100644 index 0000000..4239940 Binary files /dev/null and b/decks/animals/PNG/Round/gorilla.png differ diff --git a/decks/animals/PNG/Round/gorilla.png.import b/decks/animals/PNG/Round/gorilla.png.import new file mode 100644 index 0000000..66046f1 --- /dev/null +++ b/decks/animals/PNG/Round/gorilla.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vjovh1f34a3d" +path="res://.godot/imported/gorilla.png-6701a597e35a98cd75a29c1ca6816462.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/gorilla.png" +dest_files=["res://.godot/imported/gorilla.png-6701a597e35a98cd75a29c1ca6816462.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/hippo.png b/decks/animals/PNG/Round/hippo.png new file mode 100644 index 0000000..639f3b6 Binary files /dev/null and b/decks/animals/PNG/Round/hippo.png differ diff --git a/decks/animals/PNG/Round/hippo.png.import b/decks/animals/PNG/Round/hippo.png.import new file mode 100644 index 0000000..4385d9b --- /dev/null +++ b/decks/animals/PNG/Round/hippo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwrimpy31s0ft" +path="res://.godot/imported/hippo.png-90a75fc49e20d587ff6a9cd4f65185a3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/hippo.png" +dest_files=["res://.godot/imported/hippo.png-90a75fc49e20d587ff6a9cd4f65185a3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/horse.png b/decks/animals/PNG/Round/horse.png new file mode 100644 index 0000000..2dc96b8 Binary files /dev/null and b/decks/animals/PNG/Round/horse.png differ diff --git a/decks/animals/PNG/Round/horse.png.import b/decks/animals/PNG/Round/horse.png.import new file mode 100644 index 0000000..f0f7559 --- /dev/null +++ b/decks/animals/PNG/Round/horse.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgl8wo5pelvpf" +path="res://.godot/imported/horse.png-05f24f2ede772479908589be71f1a11f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/horse.png" +dest_files=["res://.godot/imported/horse.png-05f24f2ede772479908589be71f1a11f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/monkey.png b/decks/animals/PNG/Round/monkey.png new file mode 100644 index 0000000..fadd90f Binary files /dev/null and b/decks/animals/PNG/Round/monkey.png differ diff --git a/decks/animals/PNG/Round/monkey.png.import b/decks/animals/PNG/Round/monkey.png.import new file mode 100644 index 0000000..9050d22 --- /dev/null +++ b/decks/animals/PNG/Round/monkey.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dmc3hcu0mk4np" +path="res://.godot/imported/monkey.png-1b8e72ee8e12dcc2a7808272ff58270a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/monkey.png" +dest_files=["res://.godot/imported/monkey.png-1b8e72ee8e12dcc2a7808272ff58270a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/moose.png b/decks/animals/PNG/Round/moose.png new file mode 100644 index 0000000..0eeaa44 Binary files /dev/null and b/decks/animals/PNG/Round/moose.png differ diff --git a/decks/animals/PNG/Round/moose.png.import b/decks/animals/PNG/Round/moose.png.import new file mode 100644 index 0000000..cce3246 --- /dev/null +++ b/decks/animals/PNG/Round/moose.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dh6kxwbkqvxbs" +path="res://.godot/imported/moose.png-e73e6d8d70a5db8eb3d2f6e7c4655d5f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/moose.png" +dest_files=["res://.godot/imported/moose.png-e73e6d8d70a5db8eb3d2f6e7c4655d5f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/narwhal.png b/decks/animals/PNG/Round/narwhal.png new file mode 100644 index 0000000..463c131 Binary files /dev/null and b/decks/animals/PNG/Round/narwhal.png differ diff --git a/decks/animals/PNG/Round/narwhal.png.import b/decks/animals/PNG/Round/narwhal.png.import new file mode 100644 index 0000000..e8977a6 --- /dev/null +++ b/decks/animals/PNG/Round/narwhal.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqsqpenga8x4b" +path="res://.godot/imported/narwhal.png-459d08d988206f47a0d87a4a4e344658.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/narwhal.png" +dest_files=["res://.godot/imported/narwhal.png-459d08d988206f47a0d87a4a4e344658.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/owl.png b/decks/animals/PNG/Round/owl.png new file mode 100644 index 0000000..a1c0c5e Binary files /dev/null and b/decks/animals/PNG/Round/owl.png differ diff --git a/decks/animals/PNG/Round/owl.png.import b/decks/animals/PNG/Round/owl.png.import new file mode 100644 index 0000000..7ed1043 --- /dev/null +++ b/decks/animals/PNG/Round/owl.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjjt50y6lgunn" +path="res://.godot/imported/owl.png-2ef1779796c31a740ba834641d665117.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/owl.png" +dest_files=["res://.godot/imported/owl.png-2ef1779796c31a740ba834641d665117.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/panda.png b/decks/animals/PNG/Round/panda.png new file mode 100644 index 0000000..44d2e8f Binary files /dev/null and b/decks/animals/PNG/Round/panda.png differ diff --git a/decks/animals/PNG/Round/panda.png.import b/decks/animals/PNG/Round/panda.png.import new file mode 100644 index 0000000..44f33dd --- /dev/null +++ b/decks/animals/PNG/Round/panda.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2qbe8ln7tsjl" +path="res://.godot/imported/panda.png-df7062f0510d204bf3a0cb50addda446.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/panda.png" +dest_files=["res://.godot/imported/panda.png-df7062f0510d204bf3a0cb50addda446.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/parrot.png b/decks/animals/PNG/Round/parrot.png new file mode 100644 index 0000000..f409849 Binary files /dev/null and b/decks/animals/PNG/Round/parrot.png differ diff --git a/decks/animals/PNG/Round/parrot.png.import b/decks/animals/PNG/Round/parrot.png.import new file mode 100644 index 0000000..e6ec22b --- /dev/null +++ b/decks/animals/PNG/Round/parrot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dboe0hqcc2qp3" +path="res://.godot/imported/parrot.png-9bb8f5bb5ca8da629fdeac0080b24083.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/parrot.png" +dest_files=["res://.godot/imported/parrot.png-9bb8f5bb5ca8da629fdeac0080b24083.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/penguin.png b/decks/animals/PNG/Round/penguin.png new file mode 100644 index 0000000..cb69255 Binary files /dev/null and b/decks/animals/PNG/Round/penguin.png differ diff --git a/decks/animals/PNG/Round/penguin.png.import b/decks/animals/PNG/Round/penguin.png.import new file mode 100644 index 0000000..27fc520 --- /dev/null +++ b/decks/animals/PNG/Round/penguin.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cklcrfyyklt4x" +path="res://.godot/imported/penguin.png-243869653c968874673cc074a66bf5ec.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/penguin.png" +dest_files=["res://.godot/imported/penguin.png-243869653c968874673cc074a66bf5ec.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/pig.png b/decks/animals/PNG/Round/pig.png new file mode 100644 index 0000000..0aee3f4 Binary files /dev/null and b/decks/animals/PNG/Round/pig.png differ diff --git a/decks/animals/PNG/Round/pig.png.import b/decks/animals/PNG/Round/pig.png.import new file mode 100644 index 0000000..2cef006 --- /dev/null +++ b/decks/animals/PNG/Round/pig.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dey1881dljnoa" +path="res://.godot/imported/pig.png-8c0f9bfa9303ef64fdae8e71b62afe50.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/pig.png" +dest_files=["res://.godot/imported/pig.png-8c0f9bfa9303ef64fdae8e71b62afe50.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/rabbit.png b/decks/animals/PNG/Round/rabbit.png new file mode 100644 index 0000000..ef07bae Binary files /dev/null and b/decks/animals/PNG/Round/rabbit.png differ diff --git a/decks/animals/PNG/Round/rabbit.png.import b/decks/animals/PNG/Round/rabbit.png.import new file mode 100644 index 0000000..7e1b389 --- /dev/null +++ b/decks/animals/PNG/Round/rabbit.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c12d5rcuboag5" +path="res://.godot/imported/rabbit.png-a90eda46983903c57b6f451a8b78008d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/rabbit.png" +dest_files=["res://.godot/imported/rabbit.png-a90eda46983903c57b6f451a8b78008d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/rhino.png b/decks/animals/PNG/Round/rhino.png new file mode 100644 index 0000000..7bc6ad2 Binary files /dev/null and b/decks/animals/PNG/Round/rhino.png differ diff --git a/decks/animals/PNG/Round/rhino.png.import b/decks/animals/PNG/Round/rhino.png.import new file mode 100644 index 0000000..43ec7ed --- /dev/null +++ b/decks/animals/PNG/Round/rhino.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8ndob0a651dc" +path="res://.godot/imported/rhino.png-8f944c25d6268b30e8f94b87b0758b2a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/rhino.png" +dest_files=["res://.godot/imported/rhino.png-8f944c25d6268b30e8f94b87b0758b2a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/sloth.png b/decks/animals/PNG/Round/sloth.png new file mode 100644 index 0000000..440f632 Binary files /dev/null and b/decks/animals/PNG/Round/sloth.png differ diff --git a/decks/animals/PNG/Round/sloth.png.import b/decks/animals/PNG/Round/sloth.png.import new file mode 100644 index 0000000..8a3b0ea --- /dev/null +++ b/decks/animals/PNG/Round/sloth.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c0t31bfox1lql" +path="res://.godot/imported/sloth.png-04612b81e1af662e3ccd40c0e1967b6d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/sloth.png" +dest_files=["res://.godot/imported/sloth.png-04612b81e1af662e3ccd40c0e1967b6d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/snake.png b/decks/animals/PNG/Round/snake.png new file mode 100644 index 0000000..18c0828 Binary files /dev/null and b/decks/animals/PNG/Round/snake.png differ diff --git a/decks/animals/PNG/Round/snake.png.import b/decks/animals/PNG/Round/snake.png.import new file mode 100644 index 0000000..fde9b3a --- /dev/null +++ b/decks/animals/PNG/Round/snake.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://jsv6bvamlp4o" +path="res://.godot/imported/snake.png-2d3f91118e35b9b969b169da84bb28d0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/snake.png" +dest_files=["res://.godot/imported/snake.png-2d3f91118e35b9b969b169da84bb28d0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/walrus.png b/decks/animals/PNG/Round/walrus.png new file mode 100644 index 0000000..6055b5a Binary files /dev/null and b/decks/animals/PNG/Round/walrus.png differ diff --git a/decks/animals/PNG/Round/walrus.png.import b/decks/animals/PNG/Round/walrus.png.import new file mode 100644 index 0000000..2f75271 --- /dev/null +++ b/decks/animals/PNG/Round/walrus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckuomahfi6gdd" +path="res://.godot/imported/walrus.png-443ab882569c8158c5e85beab5738dc3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/walrus.png" +dest_files=["res://.godot/imported/walrus.png-443ab882569c8158c5e85beab5738dc3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/whale.png b/decks/animals/PNG/Round/whale.png new file mode 100644 index 0000000..762bfaa Binary files /dev/null and b/decks/animals/PNG/Round/whale.png differ diff --git a/decks/animals/PNG/Round/whale.png.import b/decks/animals/PNG/Round/whale.png.import new file mode 100644 index 0000000..b1445bf --- /dev/null +++ b/decks/animals/PNG/Round/whale.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dmuo0oefgjaik" +path="res://.godot/imported/whale.png-61431a39496bdbde3b88b54bc1672d4a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/whale.png" +dest_files=["res://.godot/imported/whale.png-61431a39496bdbde3b88b54bc1672d4a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Round/zebra.png b/decks/animals/PNG/Round/zebra.png new file mode 100644 index 0000000..7448e30 Binary files /dev/null and b/decks/animals/PNG/Round/zebra.png differ diff --git a/decks/animals/PNG/Round/zebra.png.import b/decks/animals/PNG/Round/zebra.png.import new file mode 100644 index 0000000..06e3e14 --- /dev/null +++ b/decks/animals/PNG/Round/zebra.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpfelpwksv283" +path="res://.godot/imported/zebra.png-72a178837bd45b2ff9c5d21ff8821f00.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Round/zebra.png" +dest_files=["res://.godot/imported/zebra.png-72a178837bd45b2ff9c5d21ff8821f00.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/Thumbs.db b/decks/animals/PNG/Square (outline)/Thumbs.db new file mode 100644 index 0000000..d6d46de Binary files /dev/null and b/decks/animals/PNG/Square (outline)/Thumbs.db differ diff --git a/decks/animals/PNG/Square (outline)/bear.png b/decks/animals/PNG/Square (outline)/bear.png new file mode 100644 index 0000000..e887947 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/bear.png differ diff --git a/decks/animals/PNG/Square (outline)/bear.png.import b/decks/animals/PNG/Square (outline)/bear.png.import new file mode 100644 index 0000000..d23bf2c --- /dev/null +++ b/decks/animals/PNG/Square (outline)/bear.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dai2mi22flu7l" +path="res://.godot/imported/bear.png-ebd3185026a31f3e2a1800b12d70625f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/bear.png" +dest_files=["res://.godot/imported/bear.png-ebd3185026a31f3e2a1800b12d70625f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/buffalo.png b/decks/animals/PNG/Square (outline)/buffalo.png new file mode 100644 index 0000000..56a4899 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/buffalo.png differ diff --git a/decks/animals/PNG/Square (outline)/buffalo.png.import b/decks/animals/PNG/Square (outline)/buffalo.png.import new file mode 100644 index 0000000..d5d2801 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/buffalo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d0ytrfsuais7f" +path="res://.godot/imported/buffalo.png-43e9a8cf873fa74babdb2d5692e06983.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/buffalo.png" +dest_files=["res://.godot/imported/buffalo.png-43e9a8cf873fa74babdb2d5692e06983.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/chick.png b/decks/animals/PNG/Square (outline)/chick.png new file mode 100644 index 0000000..e339223 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/chick.png differ diff --git a/decks/animals/PNG/Square (outline)/chick.png.import b/decks/animals/PNG/Square (outline)/chick.png.import new file mode 100644 index 0000000..d31bf7f --- /dev/null +++ b/decks/animals/PNG/Square (outline)/chick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bt46ympyol1qy" +path="res://.godot/imported/chick.png-f52d971d340d204da35ea9b95c6d78ce.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/chick.png" +dest_files=["res://.godot/imported/chick.png-f52d971d340d204da35ea9b95c6d78ce.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/chicken.png b/decks/animals/PNG/Square (outline)/chicken.png new file mode 100644 index 0000000..ef1deca Binary files /dev/null and b/decks/animals/PNG/Square (outline)/chicken.png differ diff --git a/decks/animals/PNG/Square (outline)/chicken.png.import b/decks/animals/PNG/Square (outline)/chicken.png.import new file mode 100644 index 0000000..ef387c4 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/chicken.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1nhp5s1d88j0" +path="res://.godot/imported/chicken.png-9288bfc75b09592072f8b44c40852a7e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/chicken.png" +dest_files=["res://.godot/imported/chicken.png-9288bfc75b09592072f8b44c40852a7e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/cow.png b/decks/animals/PNG/Square (outline)/cow.png new file mode 100644 index 0000000..6010a97 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/cow.png differ diff --git a/decks/animals/PNG/Square (outline)/cow.png.import b/decks/animals/PNG/Square (outline)/cow.png.import new file mode 100644 index 0000000..2afbba6 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/cow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vs405mawrmr3" +path="res://.godot/imported/cow.png-83ac60c914969fe1700be4db21c1828c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/cow.png" +dest_files=["res://.godot/imported/cow.png-83ac60c914969fe1700be4db21c1828c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/crocodile.png b/decks/animals/PNG/Square (outline)/crocodile.png new file mode 100644 index 0000000..950c10f Binary files /dev/null and b/decks/animals/PNG/Square (outline)/crocodile.png differ diff --git a/decks/animals/PNG/Square (outline)/crocodile.png.import b/decks/animals/PNG/Square (outline)/crocodile.png.import new file mode 100644 index 0000000..bac91d7 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/crocodile.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjvk6toru5low" +path="res://.godot/imported/crocodile.png-87941e0cc3c3b071574b0cffcb0ee708.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/crocodile.png" +dest_files=["res://.godot/imported/crocodile.png-87941e0cc3c3b071574b0cffcb0ee708.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/dog.png b/decks/animals/PNG/Square (outline)/dog.png new file mode 100644 index 0000000..8a1379a Binary files /dev/null and b/decks/animals/PNG/Square (outline)/dog.png differ diff --git a/decks/animals/PNG/Square (outline)/dog.png.import b/decks/animals/PNG/Square (outline)/dog.png.import new file mode 100644 index 0000000..85dff7e --- /dev/null +++ b/decks/animals/PNG/Square (outline)/dog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnxxl6bcqeqho" +path="res://.godot/imported/dog.png-673fe4ef5c5af055acfbebe1a940e715.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/dog.png" +dest_files=["res://.godot/imported/dog.png-673fe4ef5c5af055acfbebe1a940e715.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/duck.png b/decks/animals/PNG/Square (outline)/duck.png new file mode 100644 index 0000000..561b6f6 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/duck.png differ diff --git a/decks/animals/PNG/Square (outline)/duck.png.import b/decks/animals/PNG/Square (outline)/duck.png.import new file mode 100644 index 0000000..1405ee1 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/duck.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dd7cjpbvw5ixk" +path="res://.godot/imported/duck.png-115275305e03e3651493b51190ecb418.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/duck.png" +dest_files=["res://.godot/imported/duck.png-115275305e03e3651493b51190ecb418.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/elephant.png b/decks/animals/PNG/Square (outline)/elephant.png new file mode 100644 index 0000000..a2b435e Binary files /dev/null and b/decks/animals/PNG/Square (outline)/elephant.png differ diff --git a/decks/animals/PNG/Square (outline)/elephant.png.import b/decks/animals/PNG/Square (outline)/elephant.png.import new file mode 100644 index 0000000..81c3f6f --- /dev/null +++ b/decks/animals/PNG/Square (outline)/elephant.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c2am0pttq52fk" +path="res://.godot/imported/elephant.png-0d2096537c124b609c94d9f695b3b4fa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/elephant.png" +dest_files=["res://.godot/imported/elephant.png-0d2096537c124b609c94d9f695b3b4fa.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/frog.png b/decks/animals/PNG/Square (outline)/frog.png new file mode 100644 index 0000000..cb9918b Binary files /dev/null and b/decks/animals/PNG/Square (outline)/frog.png differ diff --git a/decks/animals/PNG/Square (outline)/frog.png.import b/decks/animals/PNG/Square (outline)/frog.png.import new file mode 100644 index 0000000..f468bc2 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/frog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1mqtevic3vos" +path="res://.godot/imported/frog.png-f69410a46b3566584ab57b648902bb0a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/frog.png" +dest_files=["res://.godot/imported/frog.png-f69410a46b3566584ab57b648902bb0a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/giraffe.png b/decks/animals/PNG/Square (outline)/giraffe.png new file mode 100644 index 0000000..6a854f4 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/giraffe.png differ diff --git a/decks/animals/PNG/Square (outline)/giraffe.png.import b/decks/animals/PNG/Square (outline)/giraffe.png.import new file mode 100644 index 0000000..e985dec --- /dev/null +++ b/decks/animals/PNG/Square (outline)/giraffe.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cr14tqvgymf8j" +path="res://.godot/imported/giraffe.png-33f13c426152dc4b1d843321bcddc17c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/giraffe.png" +dest_files=["res://.godot/imported/giraffe.png-33f13c426152dc4b1d843321bcddc17c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/goat.png b/decks/animals/PNG/Square (outline)/goat.png new file mode 100644 index 0000000..f6ec8d8 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/goat.png differ diff --git a/decks/animals/PNG/Square (outline)/goat.png.import b/decks/animals/PNG/Square (outline)/goat.png.import new file mode 100644 index 0000000..f98a06e --- /dev/null +++ b/decks/animals/PNG/Square (outline)/goat.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwghihrixcjk0" +path="res://.godot/imported/goat.png-f291358174497915db89346fdba0330a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/goat.png" +dest_files=["res://.godot/imported/goat.png-f291358174497915db89346fdba0330a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/gorilla.png b/decks/animals/PNG/Square (outline)/gorilla.png new file mode 100644 index 0000000..ee1862d Binary files /dev/null and b/decks/animals/PNG/Square (outline)/gorilla.png differ diff --git a/decks/animals/PNG/Square (outline)/gorilla.png.import b/decks/animals/PNG/Square (outline)/gorilla.png.import new file mode 100644 index 0000000..29344f6 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/gorilla.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckxoofwflmhxr" +path="res://.godot/imported/gorilla.png-85faea494c9aded29730e76f3bb07a2d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/gorilla.png" +dest_files=["res://.godot/imported/gorilla.png-85faea494c9aded29730e76f3bb07a2d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/hippo.png b/decks/animals/PNG/Square (outline)/hippo.png new file mode 100644 index 0000000..8b56a38 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/hippo.png differ diff --git a/decks/animals/PNG/Square (outline)/hippo.png.import b/decks/animals/PNG/Square (outline)/hippo.png.import new file mode 100644 index 0000000..a2dff83 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/hippo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5xi6blb21db1" +path="res://.godot/imported/hippo.png-18de8ad761956e3ec850d270478e9c84.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/hippo.png" +dest_files=["res://.godot/imported/hippo.png-18de8ad761956e3ec850d270478e9c84.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/horse.png b/decks/animals/PNG/Square (outline)/horse.png new file mode 100644 index 0000000..2d3eed1 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/horse.png differ diff --git a/decks/animals/PNG/Square (outline)/horse.png.import b/decks/animals/PNG/Square (outline)/horse.png.import new file mode 100644 index 0000000..2623143 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/horse.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://7n58vig53qbw" +path="res://.godot/imported/horse.png-12513f9de6e2bb6d35dffda9458a9be6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/horse.png" +dest_files=["res://.godot/imported/horse.png-12513f9de6e2bb6d35dffda9458a9be6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/monkey.png b/decks/animals/PNG/Square (outline)/monkey.png new file mode 100644 index 0000000..8c7b699 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/monkey.png differ diff --git a/decks/animals/PNG/Square (outline)/monkey.png.import b/decks/animals/PNG/Square (outline)/monkey.png.import new file mode 100644 index 0000000..f5d6bfd --- /dev/null +++ b/decks/animals/PNG/Square (outline)/monkey.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ccetgg2e0lxdq" +path="res://.godot/imported/monkey.png-13487daf43861d3cf21d4a64bd53f1ae.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/monkey.png" +dest_files=["res://.godot/imported/monkey.png-13487daf43861d3cf21d4a64bd53f1ae.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/moose.png b/decks/animals/PNG/Square (outline)/moose.png new file mode 100644 index 0000000..39408f3 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/moose.png differ diff --git a/decks/animals/PNG/Square (outline)/moose.png.import b/decks/animals/PNG/Square (outline)/moose.png.import new file mode 100644 index 0000000..e5fce10 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/moose.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://wgdani5dwypk" +path="res://.godot/imported/moose.png-57951c4a55c9c749c16b81dfbe6b6879.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/moose.png" +dest_files=["res://.godot/imported/moose.png-57951c4a55c9c749c16b81dfbe6b6879.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/narwhal.png b/decks/animals/PNG/Square (outline)/narwhal.png new file mode 100644 index 0000000..d8adf66 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/narwhal.png differ diff --git a/decks/animals/PNG/Square (outline)/narwhal.png.import b/decks/animals/PNG/Square (outline)/narwhal.png.import new file mode 100644 index 0000000..1d87390 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/narwhal.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c2ull2xdaihnp" +path="res://.godot/imported/narwhal.png-f73eec30e4afd5c09be6adc1cbeb045e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/narwhal.png" +dest_files=["res://.godot/imported/narwhal.png-f73eec30e4afd5c09be6adc1cbeb045e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/owl.png b/decks/animals/PNG/Square (outline)/owl.png new file mode 100644 index 0000000..fbfaa4d Binary files /dev/null and b/decks/animals/PNG/Square (outline)/owl.png differ diff --git a/decks/animals/PNG/Square (outline)/owl.png.import b/decks/animals/PNG/Square (outline)/owl.png.import new file mode 100644 index 0000000..f679b9e --- /dev/null +++ b/decks/animals/PNG/Square (outline)/owl.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2nb8gic23deg" +path="res://.godot/imported/owl.png-0d8e17ac12bad818f546f9912646e69c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/owl.png" +dest_files=["res://.godot/imported/owl.png-0d8e17ac12bad818f546f9912646e69c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/panda.png b/decks/animals/PNG/Square (outline)/panda.png new file mode 100644 index 0000000..b981da7 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/panda.png differ diff --git a/decks/animals/PNG/Square (outline)/panda.png.import b/decks/animals/PNG/Square (outline)/panda.png.import new file mode 100644 index 0000000..21ddf12 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/panda.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://baomtx3kvd6hl" +path="res://.godot/imported/panda.png-953274a36d16859443f775ac25adfbd9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/panda.png" +dest_files=["res://.godot/imported/panda.png-953274a36d16859443f775ac25adfbd9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/parrot.png b/decks/animals/PNG/Square (outline)/parrot.png new file mode 100644 index 0000000..5539d82 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/parrot.png differ diff --git a/decks/animals/PNG/Square (outline)/parrot.png.import b/decks/animals/PNG/Square (outline)/parrot.png.import new file mode 100644 index 0000000..e8bfe69 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/parrot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2q7y0stgv21c" +path="res://.godot/imported/parrot.png-20425f4626898ad0b0c8eeda7fb138a0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/parrot.png" +dest_files=["res://.godot/imported/parrot.png-20425f4626898ad0b0c8eeda7fb138a0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/penguin.png b/decks/animals/PNG/Square (outline)/penguin.png new file mode 100644 index 0000000..92bbd6c Binary files /dev/null and b/decks/animals/PNG/Square (outline)/penguin.png differ diff --git a/decks/animals/PNG/Square (outline)/penguin.png.import b/decks/animals/PNG/Square (outline)/penguin.png.import new file mode 100644 index 0000000..6162956 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/penguin.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vsifs6aqjgbb" +path="res://.godot/imported/penguin.png-cd2b6cae6783a542fc8985b07c03cb71.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/penguin.png" +dest_files=["res://.godot/imported/penguin.png-cd2b6cae6783a542fc8985b07c03cb71.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/pig.png b/decks/animals/PNG/Square (outline)/pig.png new file mode 100644 index 0000000..e4a392e Binary files /dev/null and b/decks/animals/PNG/Square (outline)/pig.png differ diff --git a/decks/animals/PNG/Square (outline)/pig.png.import b/decks/animals/PNG/Square (outline)/pig.png.import new file mode 100644 index 0000000..485a407 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/pig.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bhghcvjjlvj4" +path="res://.godot/imported/pig.png-97d9498a20a99407739e3e6033510c5a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/pig.png" +dest_files=["res://.godot/imported/pig.png-97d9498a20a99407739e3e6033510c5a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/rabbit.png b/decks/animals/PNG/Square (outline)/rabbit.png new file mode 100644 index 0000000..f873161 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/rabbit.png differ diff --git a/decks/animals/PNG/Square (outline)/rabbit.png.import b/decks/animals/PNG/Square (outline)/rabbit.png.import new file mode 100644 index 0000000..4a9ec76 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/rabbit.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ba30ddgba7v7b" +path="res://.godot/imported/rabbit.png-53d628539332bdecc6cb6d15ebdc3b3d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/rabbit.png" +dest_files=["res://.godot/imported/rabbit.png-53d628539332bdecc6cb6d15ebdc3b3d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/rhino.png b/decks/animals/PNG/Square (outline)/rhino.png new file mode 100644 index 0000000..233beaf Binary files /dev/null and b/decks/animals/PNG/Square (outline)/rhino.png differ diff --git a/decks/animals/PNG/Square (outline)/rhino.png.import b/decks/animals/PNG/Square (outline)/rhino.png.import new file mode 100644 index 0000000..c8dbe0b --- /dev/null +++ b/decks/animals/PNG/Square (outline)/rhino.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://wm5wwakscq1l" +path="res://.godot/imported/rhino.png-22dd4d3bc771e576b39e1bcb3d028960.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/rhino.png" +dest_files=["res://.godot/imported/rhino.png-22dd4d3bc771e576b39e1bcb3d028960.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/sloth.png b/decks/animals/PNG/Square (outline)/sloth.png new file mode 100644 index 0000000..ae363b0 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/sloth.png differ diff --git a/decks/animals/PNG/Square (outline)/sloth.png.import b/decks/animals/PNG/Square (outline)/sloth.png.import new file mode 100644 index 0000000..bb7e749 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/sloth.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2buck7dao6i7" +path="res://.godot/imported/sloth.png-7bfe24f95c7ae370183b353ecdb834ab.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/sloth.png" +dest_files=["res://.godot/imported/sloth.png-7bfe24f95c7ae370183b353ecdb834ab.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/snake.png b/decks/animals/PNG/Square (outline)/snake.png new file mode 100644 index 0000000..9ff853d Binary files /dev/null and b/decks/animals/PNG/Square (outline)/snake.png differ diff --git a/decks/animals/PNG/Square (outline)/snake.png.import b/decks/animals/PNG/Square (outline)/snake.png.import new file mode 100644 index 0000000..c7126f2 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/snake.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwxua2oirtd4r" +path="res://.godot/imported/snake.png-1ef2a726a205344a911253ea9b552feb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/snake.png" +dest_files=["res://.godot/imported/snake.png-1ef2a726a205344a911253ea9b552feb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/walrus.png b/decks/animals/PNG/Square (outline)/walrus.png new file mode 100644 index 0000000..ae9158e Binary files /dev/null and b/decks/animals/PNG/Square (outline)/walrus.png differ diff --git a/decks/animals/PNG/Square (outline)/walrus.png.import b/decks/animals/PNG/Square (outline)/walrus.png.import new file mode 100644 index 0000000..a54e286 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/walrus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cylu35nki3nyw" +path="res://.godot/imported/walrus.png-17385bef330f4b5329bfe05f0765b2bf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/walrus.png" +dest_files=["res://.godot/imported/walrus.png-17385bef330f4b5329bfe05f0765b2bf.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/whale.png b/decks/animals/PNG/Square (outline)/whale.png new file mode 100644 index 0000000..2a312f6 Binary files /dev/null and b/decks/animals/PNG/Square (outline)/whale.png differ diff --git a/decks/animals/PNG/Square (outline)/whale.png.import b/decks/animals/PNG/Square (outline)/whale.png.import new file mode 100644 index 0000000..fabd587 --- /dev/null +++ b/decks/animals/PNG/Square (outline)/whale.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bc7nfrma48qxw" +path="res://.godot/imported/whale.png-3b8273820b88d79563b8ec38539e7cb8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/whale.png" +dest_files=["res://.godot/imported/whale.png-3b8273820b88d79563b8ec38539e7cb8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square (outline)/zebra.png b/decks/animals/PNG/Square (outline)/zebra.png new file mode 100644 index 0000000..96e702c Binary files /dev/null and b/decks/animals/PNG/Square (outline)/zebra.png differ diff --git a/decks/animals/PNG/Square (outline)/zebra.png.import b/decks/animals/PNG/Square (outline)/zebra.png.import new file mode 100644 index 0000000..202afdb --- /dev/null +++ b/decks/animals/PNG/Square (outline)/zebra.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cr6gqmbaekolr" +path="res://.godot/imported/zebra.png-79e5ca5a11b83401ff349d7a698e2f45.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square (outline)/zebra.png" +dest_files=["res://.godot/imported/zebra.png-79e5ca5a11b83401ff349d7a698e2f45.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/Thumbs.db b/decks/animals/PNG/Square without details (outline)/Thumbs.db new file mode 100644 index 0000000..4d9ffc4 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/Thumbs.db differ diff --git a/decks/animals/PNG/Square without details (outline)/bear.png b/decks/animals/PNG/Square without details (outline)/bear.png new file mode 100644 index 0000000..8b00d17 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/bear.png differ diff --git a/decks/animals/PNG/Square without details (outline)/bear.png.import b/decks/animals/PNG/Square without details (outline)/bear.png.import new file mode 100644 index 0000000..3983be2 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/bear.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vy7xfdjs5emy" +path="res://.godot/imported/bear.png-f6ae6774c577610ef3e7fb2652889e64.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/bear.png" +dest_files=["res://.godot/imported/bear.png-f6ae6774c577610ef3e7fb2652889e64.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/buffalo.png b/decks/animals/PNG/Square without details (outline)/buffalo.png new file mode 100644 index 0000000..a34be42 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/buffalo.png differ diff --git a/decks/animals/PNG/Square without details (outline)/buffalo.png.import b/decks/animals/PNG/Square without details (outline)/buffalo.png.import new file mode 100644 index 0000000..f3cacc2 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/buffalo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8rve46iuegcj" +path="res://.godot/imported/buffalo.png-4eb0093547e250106b46730d2a8afcaa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/buffalo.png" +dest_files=["res://.godot/imported/buffalo.png-4eb0093547e250106b46730d2a8afcaa.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/chick.png b/decks/animals/PNG/Square without details (outline)/chick.png new file mode 100644 index 0000000..e339223 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/chick.png differ diff --git a/decks/animals/PNG/Square without details (outline)/chick.png.import b/decks/animals/PNG/Square without details (outline)/chick.png.import new file mode 100644 index 0000000..7341e5a --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/chick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dsi0pm04emb8l" +path="res://.godot/imported/chick.png-12b05db01f12a4f0f31edd50971a0d2a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/chick.png" +dest_files=["res://.godot/imported/chick.png-12b05db01f12a4f0f31edd50971a0d2a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/chicken.png b/decks/animals/PNG/Square without details (outline)/chicken.png new file mode 100644 index 0000000..b79469f Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/chicken.png differ diff --git a/decks/animals/PNG/Square without details (outline)/chicken.png.import b/decks/animals/PNG/Square without details (outline)/chicken.png.import new file mode 100644 index 0000000..92c7ae1 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/chicken.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4ra8c7dyvtu2" +path="res://.godot/imported/chicken.png-1b9fe932dad950b7a9f6519f50f57b5d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/chicken.png" +dest_files=["res://.godot/imported/chicken.png-1b9fe932dad950b7a9f6519f50f57b5d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/cow.png b/decks/animals/PNG/Square without details (outline)/cow.png new file mode 100644 index 0000000..006a312 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/cow.png differ diff --git a/decks/animals/PNG/Square without details (outline)/cow.png.import b/decks/animals/PNG/Square without details (outline)/cow.png.import new file mode 100644 index 0000000..e0fab6b --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/cow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4t1g3r5airiw" +path="res://.godot/imported/cow.png-12186b43057c7ab83015e9d55e15f14e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/cow.png" +dest_files=["res://.godot/imported/cow.png-12186b43057c7ab83015e9d55e15f14e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/crocodile.png b/decks/animals/PNG/Square without details (outline)/crocodile.png new file mode 100644 index 0000000..98784a6 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/crocodile.png differ diff --git a/decks/animals/PNG/Square without details (outline)/crocodile.png.import b/decks/animals/PNG/Square without details (outline)/crocodile.png.import new file mode 100644 index 0000000..cc3ce42 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/crocodile.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dk3qw84yvjmtk" +path="res://.godot/imported/crocodile.png-21313d19ca169daa8e83111db9bb5d6c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/crocodile.png" +dest_files=["res://.godot/imported/crocodile.png-21313d19ca169daa8e83111db9bb5d6c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/dog.png b/decks/animals/PNG/Square without details (outline)/dog.png new file mode 100644 index 0000000..997a340 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/dog.png differ diff --git a/decks/animals/PNG/Square without details (outline)/dog.png.import b/decks/animals/PNG/Square without details (outline)/dog.png.import new file mode 100644 index 0000000..05efe6e --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/dog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d305cbul84cg3" +path="res://.godot/imported/dog.png-72d988d789d93b36c8f566ff714165eb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/dog.png" +dest_files=["res://.godot/imported/dog.png-72d988d789d93b36c8f566ff714165eb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/duck.png b/decks/animals/PNG/Square without details (outline)/duck.png new file mode 100644 index 0000000..f6a8949 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/duck.png differ diff --git a/decks/animals/PNG/Square without details (outline)/duck.png.import b/decks/animals/PNG/Square without details (outline)/duck.png.import new file mode 100644 index 0000000..6539a35 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/duck.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bm5o7lmkfjy7u" +path="res://.godot/imported/duck.png-919ac9d28454a414da6a10b83a6be058.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/duck.png" +dest_files=["res://.godot/imported/duck.png-919ac9d28454a414da6a10b83a6be058.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/elephant.png b/decks/animals/PNG/Square without details (outline)/elephant.png new file mode 100644 index 0000000..22ca8aa Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/elephant.png differ diff --git a/decks/animals/PNG/Square without details (outline)/elephant.png.import b/decks/animals/PNG/Square without details (outline)/elephant.png.import new file mode 100644 index 0000000..09c1808 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/elephant.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cue30mjs0ab0p" +path="res://.godot/imported/elephant.png-525de70e089403ca5df555c85e3bdc92.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/elephant.png" +dest_files=["res://.godot/imported/elephant.png-525de70e089403ca5df555c85e3bdc92.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/frog.png b/decks/animals/PNG/Square without details (outline)/frog.png new file mode 100644 index 0000000..3c61ac1 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/frog.png differ diff --git a/decks/animals/PNG/Square without details (outline)/frog.png.import b/decks/animals/PNG/Square without details (outline)/frog.png.import new file mode 100644 index 0000000..cbebe85 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/frog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bl3dsp1pmo6m0" +path="res://.godot/imported/frog.png-8580f8b4c8b9dfe62f40779ea2711388.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/frog.png" +dest_files=["res://.godot/imported/frog.png-8580f8b4c8b9dfe62f40779ea2711388.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/giraffe.png b/decks/animals/PNG/Square without details (outline)/giraffe.png new file mode 100644 index 0000000..9ec58ae Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/giraffe.png differ diff --git a/decks/animals/PNG/Square without details (outline)/giraffe.png.import b/decks/animals/PNG/Square without details (outline)/giraffe.png.import new file mode 100644 index 0000000..b2f7d0f --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/giraffe.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://coih8l7jn6f74" +path="res://.godot/imported/giraffe.png-c86aff150932c55dc3291472dcd22eee.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/giraffe.png" +dest_files=["res://.godot/imported/giraffe.png-c86aff150932c55dc3291472dcd22eee.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/goat.png b/decks/animals/PNG/Square without details (outline)/goat.png new file mode 100644 index 0000000..b4563c1 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/goat.png differ diff --git a/decks/animals/PNG/Square without details (outline)/goat.png.import b/decks/animals/PNG/Square without details (outline)/goat.png.import new file mode 100644 index 0000000..09c27a6 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/goat.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xv5a1p5murel" +path="res://.godot/imported/goat.png-82ef30a6e17aed06dc9cd59185092d3b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/goat.png" +dest_files=["res://.godot/imported/goat.png-82ef30a6e17aed06dc9cd59185092d3b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/gorilla.png b/decks/animals/PNG/Square without details (outline)/gorilla.png new file mode 100644 index 0000000..1c4880e Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/gorilla.png differ diff --git a/decks/animals/PNG/Square without details (outline)/gorilla.png.import b/decks/animals/PNG/Square without details (outline)/gorilla.png.import new file mode 100644 index 0000000..a46a568 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/gorilla.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6vhej80jxa68" +path="res://.godot/imported/gorilla.png-b579e52b6aa4741a78d8e8c584d25de6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/gorilla.png" +dest_files=["res://.godot/imported/gorilla.png-b579e52b6aa4741a78d8e8c584d25de6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/hippo.png b/decks/animals/PNG/Square without details (outline)/hippo.png new file mode 100644 index 0000000..9f23eac Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/hippo.png differ diff --git a/decks/animals/PNG/Square without details (outline)/hippo.png.import b/decks/animals/PNG/Square without details (outline)/hippo.png.import new file mode 100644 index 0000000..a93c42c --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/hippo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cdrtguww6lu23" +path="res://.godot/imported/hippo.png-0bbec4cdbde52279f7b26195fdd2187a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/hippo.png" +dest_files=["res://.godot/imported/hippo.png-0bbec4cdbde52279f7b26195fdd2187a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/horse.png b/decks/animals/PNG/Square without details (outline)/horse.png new file mode 100644 index 0000000..f14f465 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/horse.png differ diff --git a/decks/animals/PNG/Square without details (outline)/horse.png.import b/decks/animals/PNG/Square without details (outline)/horse.png.import new file mode 100644 index 0000000..86c59ee --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/horse.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8eysiavkdut5" +path="res://.godot/imported/horse.png-7d7c4de7df708a07ea77a88df1f51617.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/horse.png" +dest_files=["res://.godot/imported/horse.png-7d7c4de7df708a07ea77a88df1f51617.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/monkey.png b/decks/animals/PNG/Square without details (outline)/monkey.png new file mode 100644 index 0000000..f22611f Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/monkey.png differ diff --git a/decks/animals/PNG/Square without details (outline)/monkey.png.import b/decks/animals/PNG/Square without details (outline)/monkey.png.import new file mode 100644 index 0000000..91e9473 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/monkey.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://by4d6yqf30nym" +path="res://.godot/imported/monkey.png-722952ba8d087292dfab49aa1a69b728.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/monkey.png" +dest_files=["res://.godot/imported/monkey.png-722952ba8d087292dfab49aa1a69b728.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/moose.png b/decks/animals/PNG/Square without details (outline)/moose.png new file mode 100644 index 0000000..c8382d8 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/moose.png differ diff --git a/decks/animals/PNG/Square without details (outline)/moose.png.import b/decks/animals/PNG/Square without details (outline)/moose.png.import new file mode 100644 index 0000000..4f14006 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/moose.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://byqqhsc4cx6op" +path="res://.godot/imported/moose.png-96b17872951c1a5791ffb4c0ae506b61.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/moose.png" +dest_files=["res://.godot/imported/moose.png-96b17872951c1a5791ffb4c0ae506b61.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/narwhal.png b/decks/animals/PNG/Square without details (outline)/narwhal.png new file mode 100644 index 0000000..6454dc6 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/narwhal.png differ diff --git a/decks/animals/PNG/Square without details (outline)/narwhal.png.import b/decks/animals/PNG/Square without details (outline)/narwhal.png.import new file mode 100644 index 0000000..2ec84a9 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/narwhal.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckl06l75ayunu" +path="res://.godot/imported/narwhal.png-2b59ce8d803154ed61fe8b911e47e62c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/narwhal.png" +dest_files=["res://.godot/imported/narwhal.png-2b59ce8d803154ed61fe8b911e47e62c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/owl.png b/decks/animals/PNG/Square without details (outline)/owl.png new file mode 100644 index 0000000..18f017e Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/owl.png differ diff --git a/decks/animals/PNG/Square without details (outline)/owl.png.import b/decks/animals/PNG/Square without details (outline)/owl.png.import new file mode 100644 index 0000000..0b51d0e --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/owl.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fdi2on61o1ch" +path="res://.godot/imported/owl.png-3b29e77eff2a03db8ee4265b2efed4de.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/owl.png" +dest_files=["res://.godot/imported/owl.png-3b29e77eff2a03db8ee4265b2efed4de.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/panda.png b/decks/animals/PNG/Square without details (outline)/panda.png new file mode 100644 index 0000000..f1ed3d7 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/panda.png differ diff --git a/decks/animals/PNG/Square without details (outline)/panda.png.import b/decks/animals/PNG/Square without details (outline)/panda.png.import new file mode 100644 index 0000000..c3dc5d1 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/panda.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://shftij1hmkc3" +path="res://.godot/imported/panda.png-07d3241f575c817889d69882c2ec18db.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/panda.png" +dest_files=["res://.godot/imported/panda.png-07d3241f575c817889d69882c2ec18db.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/parrot.png b/decks/animals/PNG/Square without details (outline)/parrot.png new file mode 100644 index 0000000..5539d82 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/parrot.png differ diff --git a/decks/animals/PNG/Square without details (outline)/parrot.png.import b/decks/animals/PNG/Square without details (outline)/parrot.png.import new file mode 100644 index 0000000..2fb1609 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/parrot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cq62dbki3m38o" +path="res://.godot/imported/parrot.png-c0cafe3a85865bb303ca619963435a64.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/parrot.png" +dest_files=["res://.godot/imported/parrot.png-c0cafe3a85865bb303ca619963435a64.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/penguin.png b/decks/animals/PNG/Square without details (outline)/penguin.png new file mode 100644 index 0000000..e80621d Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/penguin.png differ diff --git a/decks/animals/PNG/Square without details (outline)/penguin.png.import b/decks/animals/PNG/Square without details (outline)/penguin.png.import new file mode 100644 index 0000000..f676db0 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/penguin.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://gejvdgtq1lbm" +path="res://.godot/imported/penguin.png-196fa663526352d89ca885b7a9e3f1fd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/penguin.png" +dest_files=["res://.godot/imported/penguin.png-196fa663526352d89ca885b7a9e3f1fd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/pig.png b/decks/animals/PNG/Square without details (outline)/pig.png new file mode 100644 index 0000000..5340638 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/pig.png differ diff --git a/decks/animals/PNG/Square without details (outline)/pig.png.import b/decks/animals/PNG/Square without details (outline)/pig.png.import new file mode 100644 index 0000000..ffe1947 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/pig.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cp4bem7f4kb7s" +path="res://.godot/imported/pig.png-57976dbd26bc3ff831802231521204da.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/pig.png" +dest_files=["res://.godot/imported/pig.png-57976dbd26bc3ff831802231521204da.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/rabbit.png b/decks/animals/PNG/Square without details (outline)/rabbit.png new file mode 100644 index 0000000..c45f3c8 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/rabbit.png differ diff --git a/decks/animals/PNG/Square without details (outline)/rabbit.png.import b/decks/animals/PNG/Square without details (outline)/rabbit.png.import new file mode 100644 index 0000000..5e39342 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/rabbit.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://daf5ustgp06ht" +path="res://.godot/imported/rabbit.png-5907c10c58ec1a942a002fef694e78db.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/rabbit.png" +dest_files=["res://.godot/imported/rabbit.png-5907c10c58ec1a942a002fef694e78db.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/rhino.png b/decks/animals/PNG/Square without details (outline)/rhino.png new file mode 100644 index 0000000..ff51a7a Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/rhino.png differ diff --git a/decks/animals/PNG/Square without details (outline)/rhino.png.import b/decks/animals/PNG/Square without details (outline)/rhino.png.import new file mode 100644 index 0000000..701f204 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/rhino.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ccmtuj37xuvg0" +path="res://.godot/imported/rhino.png-5abe39c9451de4b075486a0df0b6450d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/rhino.png" +dest_files=["res://.godot/imported/rhino.png-5abe39c9451de4b075486a0df0b6450d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/sloth.png b/decks/animals/PNG/Square without details (outline)/sloth.png new file mode 100644 index 0000000..7df76fd Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/sloth.png differ diff --git a/decks/animals/PNG/Square without details (outline)/sloth.png.import b/decks/animals/PNG/Square without details (outline)/sloth.png.import new file mode 100644 index 0000000..e10e3bf --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/sloth.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cddmgw3cn6vve" +path="res://.godot/imported/sloth.png-f625d7adbb8db6d2616373c2ff33fb12.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/sloth.png" +dest_files=["res://.godot/imported/sloth.png-f625d7adbb8db6d2616373c2ff33fb12.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/snake.png b/decks/animals/PNG/Square without details (outline)/snake.png new file mode 100644 index 0000000..7c394a4 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/snake.png differ diff --git a/decks/animals/PNG/Square without details (outline)/snake.png.import b/decks/animals/PNG/Square without details (outline)/snake.png.import new file mode 100644 index 0000000..ad7ddb0 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/snake.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://blsc86kwyvge0" +path="res://.godot/imported/snake.png-25d3e9b0db845f61a0deb1e60072b02f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/snake.png" +dest_files=["res://.godot/imported/snake.png-25d3e9b0db845f61a0deb1e60072b02f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/walrus.png b/decks/animals/PNG/Square without details (outline)/walrus.png new file mode 100644 index 0000000..073cfe7 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/walrus.png differ diff --git a/decks/animals/PNG/Square without details (outline)/walrus.png.import b/decks/animals/PNG/Square without details (outline)/walrus.png.import new file mode 100644 index 0000000..4b00048 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/walrus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgmcm4r1xw17o" +path="res://.godot/imported/walrus.png-107e39df4665c0bd9e5fb91944e59485.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/walrus.png" +dest_files=["res://.godot/imported/walrus.png-107e39df4665c0bd9e5fb91944e59485.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/whale.png b/decks/animals/PNG/Square without details (outline)/whale.png new file mode 100644 index 0000000..cab4db8 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/whale.png differ diff --git a/decks/animals/PNG/Square without details (outline)/whale.png.import b/decks/animals/PNG/Square without details (outline)/whale.png.import new file mode 100644 index 0000000..f1c831b --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/whale.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dyyxq6303tx1r" +path="res://.godot/imported/whale.png-4983f1dd10fe0fb14fbbfa49f4dbaed5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/whale.png" +dest_files=["res://.godot/imported/whale.png-4983f1dd10fe0fb14fbbfa49f4dbaed5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details (outline)/zebra.png b/decks/animals/PNG/Square without details (outline)/zebra.png new file mode 100644 index 0000000..3be3dd8 Binary files /dev/null and b/decks/animals/PNG/Square without details (outline)/zebra.png differ diff --git a/decks/animals/PNG/Square without details (outline)/zebra.png.import b/decks/animals/PNG/Square without details (outline)/zebra.png.import new file mode 100644 index 0000000..6d35d40 --- /dev/null +++ b/decks/animals/PNG/Square without details (outline)/zebra.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bet4kdsvjirio" +path="res://.godot/imported/zebra.png-ea2662c3e6b2702696efadd7f522c942.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details (outline)/zebra.png" +dest_files=["res://.godot/imported/zebra.png-ea2662c3e6b2702696efadd7f522c942.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/Thumbs.db b/decks/animals/PNG/Square without details/Thumbs.db new file mode 100644 index 0000000..574dc37 Binary files /dev/null and b/decks/animals/PNG/Square without details/Thumbs.db differ diff --git a/decks/animals/PNG/Square without details/bear.png b/decks/animals/PNG/Square without details/bear.png new file mode 100644 index 0000000..31daafe Binary files /dev/null and b/decks/animals/PNG/Square without details/bear.png differ diff --git a/decks/animals/PNG/Square without details/bear.png.import b/decks/animals/PNG/Square without details/bear.png.import new file mode 100644 index 0000000..3fcb917 --- /dev/null +++ b/decks/animals/PNG/Square without details/bear.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cm7l2g0f0g7f0" +path="res://.godot/imported/bear.png-62dcd62d7e1e0405a07894e49bfe019f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/bear.png" +dest_files=["res://.godot/imported/bear.png-62dcd62d7e1e0405a07894e49bfe019f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/buffalo.png b/decks/animals/PNG/Square without details/buffalo.png new file mode 100644 index 0000000..3d58458 Binary files /dev/null and b/decks/animals/PNG/Square without details/buffalo.png differ diff --git a/decks/animals/PNG/Square without details/buffalo.png.import b/decks/animals/PNG/Square without details/buffalo.png.import new file mode 100644 index 0000000..ef7d902 --- /dev/null +++ b/decks/animals/PNG/Square without details/buffalo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgkqmdarleym3" +path="res://.godot/imported/buffalo.png-56b2efde5dccbe965fa72992e8af959c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/buffalo.png" +dest_files=["res://.godot/imported/buffalo.png-56b2efde5dccbe965fa72992e8af959c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/chick.png b/decks/animals/PNG/Square without details/chick.png new file mode 100644 index 0000000..6149233 Binary files /dev/null and b/decks/animals/PNG/Square without details/chick.png differ diff --git a/decks/animals/PNG/Square without details/chick.png.import b/decks/animals/PNG/Square without details/chick.png.import new file mode 100644 index 0000000..130a8a1 --- /dev/null +++ b/decks/animals/PNG/Square without details/chick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://462huao4rxin" +path="res://.godot/imported/chick.png-252be068b4ba56f9eab25e9054b13698.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/chick.png" +dest_files=["res://.godot/imported/chick.png-252be068b4ba56f9eab25e9054b13698.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/chicken.png b/decks/animals/PNG/Square without details/chicken.png new file mode 100644 index 0000000..e0672c0 Binary files /dev/null and b/decks/animals/PNG/Square without details/chicken.png differ diff --git a/decks/animals/PNG/Square without details/chicken.png.import b/decks/animals/PNG/Square without details/chicken.png.import new file mode 100644 index 0000000..052db0a --- /dev/null +++ b/decks/animals/PNG/Square without details/chicken.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cihw7dblhjvrf" +path="res://.godot/imported/chicken.png-e8946810c06091a46e4809b0b12cf521.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/chicken.png" +dest_files=["res://.godot/imported/chicken.png-e8946810c06091a46e4809b0b12cf521.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/cow.png b/decks/animals/PNG/Square without details/cow.png new file mode 100644 index 0000000..79cb273 Binary files /dev/null and b/decks/animals/PNG/Square without details/cow.png differ diff --git a/decks/animals/PNG/Square without details/cow.png.import b/decks/animals/PNG/Square without details/cow.png.import new file mode 100644 index 0000000..2e77275 --- /dev/null +++ b/decks/animals/PNG/Square without details/cow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgdyo4tfpwewm" +path="res://.godot/imported/cow.png-a56ffd2637f9b81a25798888c7c5a64a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/cow.png" +dest_files=["res://.godot/imported/cow.png-a56ffd2637f9b81a25798888c7c5a64a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/crocodile.png b/decks/animals/PNG/Square without details/crocodile.png new file mode 100644 index 0000000..eebde2a Binary files /dev/null and b/decks/animals/PNG/Square without details/crocodile.png differ diff --git a/decks/animals/PNG/Square without details/crocodile.png.import b/decks/animals/PNG/Square without details/crocodile.png.import new file mode 100644 index 0000000..aa63a1a --- /dev/null +++ b/decks/animals/PNG/Square without details/crocodile.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dga78vebwnoq8" +path="res://.godot/imported/crocodile.png-10d3fad64832adaa391a71b7ce7ae523.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/crocodile.png" +dest_files=["res://.godot/imported/crocodile.png-10d3fad64832adaa391a71b7ce7ae523.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/dog.png b/decks/animals/PNG/Square without details/dog.png new file mode 100644 index 0000000..0ec8d1c Binary files /dev/null and b/decks/animals/PNG/Square without details/dog.png differ diff --git a/decks/animals/PNG/Square without details/dog.png.import b/decks/animals/PNG/Square without details/dog.png.import new file mode 100644 index 0000000..9a5d520 --- /dev/null +++ b/decks/animals/PNG/Square without details/dog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpau4g0x1mjwh" +path="res://.godot/imported/dog.png-4848a9f4ecef841c2275fa9dd5a4f922.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/dog.png" +dest_files=["res://.godot/imported/dog.png-4848a9f4ecef841c2275fa9dd5a4f922.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/duck.png b/decks/animals/PNG/Square without details/duck.png new file mode 100644 index 0000000..ae0ccca Binary files /dev/null and b/decks/animals/PNG/Square without details/duck.png differ diff --git a/decks/animals/PNG/Square without details/duck.png.import b/decks/animals/PNG/Square without details/duck.png.import new file mode 100644 index 0000000..4eefcba --- /dev/null +++ b/decks/animals/PNG/Square without details/duck.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cl3083fdygi55" +path="res://.godot/imported/duck.png-f6b095a5e7f15403330314cad76dbe1e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/duck.png" +dest_files=["res://.godot/imported/duck.png-f6b095a5e7f15403330314cad76dbe1e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/elephant.png b/decks/animals/PNG/Square without details/elephant.png new file mode 100644 index 0000000..79ea930 Binary files /dev/null and b/decks/animals/PNG/Square without details/elephant.png differ diff --git a/decks/animals/PNG/Square without details/elephant.png.import b/decks/animals/PNG/Square without details/elephant.png.import new file mode 100644 index 0000000..147e0c3 --- /dev/null +++ b/decks/animals/PNG/Square without details/elephant.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btd04ggxwc43f" +path="res://.godot/imported/elephant.png-f6a50903db3a209b80f14d16de7048a5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/elephant.png" +dest_files=["res://.godot/imported/elephant.png-f6a50903db3a209b80f14d16de7048a5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/frog.png b/decks/animals/PNG/Square without details/frog.png new file mode 100644 index 0000000..f5cecca Binary files /dev/null and b/decks/animals/PNG/Square without details/frog.png differ diff --git a/decks/animals/PNG/Square without details/frog.png.import b/decks/animals/PNG/Square without details/frog.png.import new file mode 100644 index 0000000..5cf8600 --- /dev/null +++ b/decks/animals/PNG/Square without details/frog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://jdohijhnmsnl" +path="res://.godot/imported/frog.png-93efa91e998f9ab654011f0a37d07a13.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/frog.png" +dest_files=["res://.godot/imported/frog.png-93efa91e998f9ab654011f0a37d07a13.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/giraffe.png b/decks/animals/PNG/Square without details/giraffe.png new file mode 100644 index 0000000..f50c1ba Binary files /dev/null and b/decks/animals/PNG/Square without details/giraffe.png differ diff --git a/decks/animals/PNG/Square without details/giraffe.png.import b/decks/animals/PNG/Square without details/giraffe.png.import new file mode 100644 index 0000000..d3ca582 --- /dev/null +++ b/decks/animals/PNG/Square without details/giraffe.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2t8bvtw21vi6" +path="res://.godot/imported/giraffe.png-61f8675172bbf518fc1c3d0dbe55bbbe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/giraffe.png" +dest_files=["res://.godot/imported/giraffe.png-61f8675172bbf518fc1c3d0dbe55bbbe.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/goat.png b/decks/animals/PNG/Square without details/goat.png new file mode 100644 index 0000000..24916f5 Binary files /dev/null and b/decks/animals/PNG/Square without details/goat.png differ diff --git a/decks/animals/PNG/Square without details/goat.png.import b/decks/animals/PNG/Square without details/goat.png.import new file mode 100644 index 0000000..ba19097 --- /dev/null +++ b/decks/animals/PNG/Square without details/goat.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c2kv0pa47a8vo" +path="res://.godot/imported/goat.png-7b36670088312c8f8e9b077e31fcf6ed.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/goat.png" +dest_files=["res://.godot/imported/goat.png-7b36670088312c8f8e9b077e31fcf6ed.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/gorilla.png b/decks/animals/PNG/Square without details/gorilla.png new file mode 100644 index 0000000..276edb2 Binary files /dev/null and b/decks/animals/PNG/Square without details/gorilla.png differ diff --git a/decks/animals/PNG/Square without details/gorilla.png.import b/decks/animals/PNG/Square without details/gorilla.png.import new file mode 100644 index 0000000..e2283dd --- /dev/null +++ b/decks/animals/PNG/Square without details/gorilla.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://0g60vij4y5s3" +path="res://.godot/imported/gorilla.png-5a3b56ee8deec0f16e0a0c02b2d7048a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/gorilla.png" +dest_files=["res://.godot/imported/gorilla.png-5a3b56ee8deec0f16e0a0c02b2d7048a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/hippo.png b/decks/animals/PNG/Square without details/hippo.png new file mode 100644 index 0000000..2518f40 Binary files /dev/null and b/decks/animals/PNG/Square without details/hippo.png differ diff --git a/decks/animals/PNG/Square without details/hippo.png.import b/decks/animals/PNG/Square without details/hippo.png.import new file mode 100644 index 0000000..d5aacaf --- /dev/null +++ b/decks/animals/PNG/Square without details/hippo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dc0764nefc02u" +path="res://.godot/imported/hippo.png-434a0483c1e0f66e6dbfcbb3032df21d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/hippo.png" +dest_files=["res://.godot/imported/hippo.png-434a0483c1e0f66e6dbfcbb3032df21d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/horse.png b/decks/animals/PNG/Square without details/horse.png new file mode 100644 index 0000000..a0a7517 Binary files /dev/null and b/decks/animals/PNG/Square without details/horse.png differ diff --git a/decks/animals/PNG/Square without details/horse.png.import b/decks/animals/PNG/Square without details/horse.png.import new file mode 100644 index 0000000..24f299d --- /dev/null +++ b/decks/animals/PNG/Square without details/horse.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c1tlptbw4x7lr" +path="res://.godot/imported/horse.png-ab1ffca19d8d30d5476c96570b00c352.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/horse.png" +dest_files=["res://.godot/imported/horse.png-ab1ffca19d8d30d5476c96570b00c352.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/monkey.png b/decks/animals/PNG/Square without details/monkey.png new file mode 100644 index 0000000..14be40e Binary files /dev/null and b/decks/animals/PNG/Square without details/monkey.png differ diff --git a/decks/animals/PNG/Square without details/monkey.png.import b/decks/animals/PNG/Square without details/monkey.png.import new file mode 100644 index 0000000..85fd53a --- /dev/null +++ b/decks/animals/PNG/Square without details/monkey.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bio1041wb5eo6" +path="res://.godot/imported/monkey.png-54e086fd706f05bf7edd572042ae9bfe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/monkey.png" +dest_files=["res://.godot/imported/monkey.png-54e086fd706f05bf7edd572042ae9bfe.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/moose.png b/decks/animals/PNG/Square without details/moose.png new file mode 100644 index 0000000..5deab9d Binary files /dev/null and b/decks/animals/PNG/Square without details/moose.png differ diff --git a/decks/animals/PNG/Square without details/moose.png.import b/decks/animals/PNG/Square without details/moose.png.import new file mode 100644 index 0000000..baefab9 --- /dev/null +++ b/decks/animals/PNG/Square without details/moose.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fvrc07hmlyye" +path="res://.godot/imported/moose.png-125ce02483a53f356df6667ae2eadf7d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/moose.png" +dest_files=["res://.godot/imported/moose.png-125ce02483a53f356df6667ae2eadf7d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/narwhal.png b/decks/animals/PNG/Square without details/narwhal.png new file mode 100644 index 0000000..5eebd70 Binary files /dev/null and b/decks/animals/PNG/Square without details/narwhal.png differ diff --git a/decks/animals/PNG/Square without details/narwhal.png.import b/decks/animals/PNG/Square without details/narwhal.png.import new file mode 100644 index 0000000..d0e635d --- /dev/null +++ b/decks/animals/PNG/Square without details/narwhal.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d7bniggftq7p" +path="res://.godot/imported/narwhal.png-a89e690e2bfaf938cce5785c9645e9c3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/narwhal.png" +dest_files=["res://.godot/imported/narwhal.png-a89e690e2bfaf938cce5785c9645e9c3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/owl.png b/decks/animals/PNG/Square without details/owl.png new file mode 100644 index 0000000..2c2041c Binary files /dev/null and b/decks/animals/PNG/Square without details/owl.png differ diff --git a/decks/animals/PNG/Square without details/owl.png.import b/decks/animals/PNG/Square without details/owl.png.import new file mode 100644 index 0000000..88ec63f --- /dev/null +++ b/decks/animals/PNG/Square without details/owl.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ggfrcuvenqqe" +path="res://.godot/imported/owl.png-8fdf3b2bb0e2974b201e10833d15596e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/owl.png" +dest_files=["res://.godot/imported/owl.png-8fdf3b2bb0e2974b201e10833d15596e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/panda.png b/decks/animals/PNG/Square without details/panda.png new file mode 100644 index 0000000..0ff8193 Binary files /dev/null and b/decks/animals/PNG/Square without details/panda.png differ diff --git a/decks/animals/PNG/Square without details/panda.png.import b/decks/animals/PNG/Square without details/panda.png.import new file mode 100644 index 0000000..0ec170d --- /dev/null +++ b/decks/animals/PNG/Square without details/panda.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://qv5gvfyh50rw" +path="res://.godot/imported/panda.png-b93c23471c12efcdfcecdce69642db7e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/panda.png" +dest_files=["res://.godot/imported/panda.png-b93c23471c12efcdfcecdce69642db7e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/parrot.png b/decks/animals/PNG/Square without details/parrot.png new file mode 100644 index 0000000..84e8134 Binary files /dev/null and b/decks/animals/PNG/Square without details/parrot.png differ diff --git a/decks/animals/PNG/Square without details/parrot.png.import b/decks/animals/PNG/Square without details/parrot.png.import new file mode 100644 index 0000000..f50844a --- /dev/null +++ b/decks/animals/PNG/Square without details/parrot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqftgwp7otpog" +path="res://.godot/imported/parrot.png-fb1a5bf03ff22a9cabf50ddbaeb170b4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/parrot.png" +dest_files=["res://.godot/imported/parrot.png-fb1a5bf03ff22a9cabf50ddbaeb170b4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/penguin.png b/decks/animals/PNG/Square without details/penguin.png new file mode 100644 index 0000000..85ae17b Binary files /dev/null and b/decks/animals/PNG/Square without details/penguin.png differ diff --git a/decks/animals/PNG/Square without details/penguin.png.import b/decks/animals/PNG/Square without details/penguin.png.import new file mode 100644 index 0000000..814cf92 --- /dev/null +++ b/decks/animals/PNG/Square without details/penguin.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d12mxbq6kv11o" +path="res://.godot/imported/penguin.png-db92fda103fecb009aaff0d00dfd67d8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/penguin.png" +dest_files=["res://.godot/imported/penguin.png-db92fda103fecb009aaff0d00dfd67d8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/pig.png b/decks/animals/PNG/Square without details/pig.png new file mode 100644 index 0000000..2ae68ec Binary files /dev/null and b/decks/animals/PNG/Square without details/pig.png differ diff --git a/decks/animals/PNG/Square without details/pig.png.import b/decks/animals/PNG/Square without details/pig.png.import new file mode 100644 index 0000000..9b5de59 --- /dev/null +++ b/decks/animals/PNG/Square without details/pig.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8l4qhv3sprq5" +path="res://.godot/imported/pig.png-4e1263d867534538f3f22a740d1a4527.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/pig.png" +dest_files=["res://.godot/imported/pig.png-4e1263d867534538f3f22a740d1a4527.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/rabbit.png b/decks/animals/PNG/Square without details/rabbit.png new file mode 100644 index 0000000..166830e Binary files /dev/null and b/decks/animals/PNG/Square without details/rabbit.png differ diff --git a/decks/animals/PNG/Square without details/rabbit.png.import b/decks/animals/PNG/Square without details/rabbit.png.import new file mode 100644 index 0000000..f8276ad --- /dev/null +++ b/decks/animals/PNG/Square without details/rabbit.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://rgvgs48ycxqn" +path="res://.godot/imported/rabbit.png-a108fbe5a82ff04cdb60abe32c1bd3b2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/rabbit.png" +dest_files=["res://.godot/imported/rabbit.png-a108fbe5a82ff04cdb60abe32c1bd3b2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/rhino.png b/decks/animals/PNG/Square without details/rhino.png new file mode 100644 index 0000000..078d634 Binary files /dev/null and b/decks/animals/PNG/Square without details/rhino.png differ diff --git a/decks/animals/PNG/Square without details/rhino.png.import b/decks/animals/PNG/Square without details/rhino.png.import new file mode 100644 index 0000000..d4a9dd4 --- /dev/null +++ b/decks/animals/PNG/Square without details/rhino.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ipubatdr6gcd" +path="res://.godot/imported/rhino.png-563c7f8158c510f2e72d5c03c145a497.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/rhino.png" +dest_files=["res://.godot/imported/rhino.png-563c7f8158c510f2e72d5c03c145a497.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/sloth.png b/decks/animals/PNG/Square without details/sloth.png new file mode 100644 index 0000000..de54041 Binary files /dev/null and b/decks/animals/PNG/Square without details/sloth.png differ diff --git a/decks/animals/PNG/Square without details/sloth.png.import b/decks/animals/PNG/Square without details/sloth.png.import new file mode 100644 index 0000000..5248e8c --- /dev/null +++ b/decks/animals/PNG/Square without details/sloth.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chd4infr1wfye" +path="res://.godot/imported/sloth.png-8a908aa51e51751d1a32b59316ec859a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/sloth.png" +dest_files=["res://.godot/imported/sloth.png-8a908aa51e51751d1a32b59316ec859a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/snake.png b/decks/animals/PNG/Square without details/snake.png new file mode 100644 index 0000000..2643511 Binary files /dev/null and b/decks/animals/PNG/Square without details/snake.png differ diff --git a/decks/animals/PNG/Square without details/snake.png.import b/decks/animals/PNG/Square without details/snake.png.import new file mode 100644 index 0000000..e6ff206 --- /dev/null +++ b/decks/animals/PNG/Square without details/snake.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ca8i8rrl1emuo" +path="res://.godot/imported/snake.png-984ac87e3a23145ad377d31cd37c12bc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/snake.png" +dest_files=["res://.godot/imported/snake.png-984ac87e3a23145ad377d31cd37c12bc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/walrus.png b/decks/animals/PNG/Square without details/walrus.png new file mode 100644 index 0000000..d50a072 Binary files /dev/null and b/decks/animals/PNG/Square without details/walrus.png differ diff --git a/decks/animals/PNG/Square without details/walrus.png.import b/decks/animals/PNG/Square without details/walrus.png.import new file mode 100644 index 0000000..d78c202 --- /dev/null +++ b/decks/animals/PNG/Square without details/walrus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmrrih0nho4rm" +path="res://.godot/imported/walrus.png-64b3e7e9b33a11846a658e24b970dec5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/walrus.png" +dest_files=["res://.godot/imported/walrus.png-64b3e7e9b33a11846a658e24b970dec5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/whale.png b/decks/animals/PNG/Square without details/whale.png new file mode 100644 index 0000000..c2c7254 Binary files /dev/null and b/decks/animals/PNG/Square without details/whale.png differ diff --git a/decks/animals/PNG/Square without details/whale.png.import b/decks/animals/PNG/Square without details/whale.png.import new file mode 100644 index 0000000..0fb6004 --- /dev/null +++ b/decks/animals/PNG/Square without details/whale.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvplduqhv3p16" +path="res://.godot/imported/whale.png-0aa6983a37c45634de91c98fd017ee7b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/whale.png" +dest_files=["res://.godot/imported/whale.png-0aa6983a37c45634de91c98fd017ee7b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square without details/zebra.png b/decks/animals/PNG/Square without details/zebra.png new file mode 100644 index 0000000..e235a4a Binary files /dev/null and b/decks/animals/PNG/Square without details/zebra.png differ diff --git a/decks/animals/PNG/Square without details/zebra.png.import b/decks/animals/PNG/Square without details/zebra.png.import new file mode 100644 index 0000000..6578356 --- /dev/null +++ b/decks/animals/PNG/Square without details/zebra.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1vr241t0mxpq" +path="res://.godot/imported/zebra.png-da3cbdc2914d1810b46d10b4481d3f70.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square without details/zebra.png" +dest_files=["res://.godot/imported/zebra.png-da3cbdc2914d1810b46d10b4481d3f70.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/Thumbs.db b/decks/animals/PNG/Square/Thumbs.db new file mode 100644 index 0000000..7d912bf Binary files /dev/null and b/decks/animals/PNG/Square/Thumbs.db differ diff --git a/decks/animals/PNG/Square/bear.png b/decks/animals/PNG/Square/bear.png new file mode 100644 index 0000000..695db99 Binary files /dev/null and b/decks/animals/PNG/Square/bear.png differ diff --git a/decks/animals/PNG/Square/bear.png.import b/decks/animals/PNG/Square/bear.png.import new file mode 100644 index 0000000..792d82f --- /dev/null +++ b/decks/animals/PNG/Square/bear.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://drtel1f6t25ta" +path="res://.godot/imported/bear.png-d85aa4c155fcafd06186aa3b3d94bae5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/bear.png" +dest_files=["res://.godot/imported/bear.png-d85aa4c155fcafd06186aa3b3d94bae5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/buffalo.png b/decks/animals/PNG/Square/buffalo.png new file mode 100644 index 0000000..684bb43 Binary files /dev/null and b/decks/animals/PNG/Square/buffalo.png differ diff --git a/decks/animals/PNG/Square/buffalo.png.import b/decks/animals/PNG/Square/buffalo.png.import new file mode 100644 index 0000000..5fc36ca --- /dev/null +++ b/decks/animals/PNG/Square/buffalo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0i5bn77bshef" +path="res://.godot/imported/buffalo.png-331bc713defca5c8432fd3a2eda38049.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/buffalo.png" +dest_files=["res://.godot/imported/buffalo.png-331bc713defca5c8432fd3a2eda38049.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/chick.png b/decks/animals/PNG/Square/chick.png new file mode 100644 index 0000000..6149233 Binary files /dev/null and b/decks/animals/PNG/Square/chick.png differ diff --git a/decks/animals/PNG/Square/chick.png.import b/decks/animals/PNG/Square/chick.png.import new file mode 100644 index 0000000..7f0459c --- /dev/null +++ b/decks/animals/PNG/Square/chick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://05jdwcslkkyp" +path="res://.godot/imported/chick.png-2fedad06ad8b21bef3fc4dff423842ec.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/chick.png" +dest_files=["res://.godot/imported/chick.png-2fedad06ad8b21bef3fc4dff423842ec.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/chicken.png b/decks/animals/PNG/Square/chicken.png new file mode 100644 index 0000000..dd4d97b Binary files /dev/null and b/decks/animals/PNG/Square/chicken.png differ diff --git a/decks/animals/PNG/Square/chicken.png.import b/decks/animals/PNG/Square/chicken.png.import new file mode 100644 index 0000000..6172eb7 --- /dev/null +++ b/decks/animals/PNG/Square/chicken.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://e22hx8bnu0rx" +path="res://.godot/imported/chicken.png-dcaab847ffb31d66ee0b67c2868a84d5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/chicken.png" +dest_files=["res://.godot/imported/chicken.png-dcaab847ffb31d66ee0b67c2868a84d5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/cow.png b/decks/animals/PNG/Square/cow.png new file mode 100644 index 0000000..2d409f9 Binary files /dev/null and b/decks/animals/PNG/Square/cow.png differ diff --git a/decks/animals/PNG/Square/cow.png.import b/decks/animals/PNG/Square/cow.png.import new file mode 100644 index 0000000..1daa922 --- /dev/null +++ b/decks/animals/PNG/Square/cow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dtb6g8ls5fnwl" +path="res://.godot/imported/cow.png-af41611cfd347b364a81fbdd23a0a279.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/cow.png" +dest_files=["res://.godot/imported/cow.png-af41611cfd347b364a81fbdd23a0a279.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/crocodile.png b/decks/animals/PNG/Square/crocodile.png new file mode 100644 index 0000000..eebde2a Binary files /dev/null and b/decks/animals/PNG/Square/crocodile.png differ diff --git a/decks/animals/PNG/Square/crocodile.png.import b/decks/animals/PNG/Square/crocodile.png.import new file mode 100644 index 0000000..4f3ed86 --- /dev/null +++ b/decks/animals/PNG/Square/crocodile.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://f23158uj1d4w" +path="res://.godot/imported/crocodile.png-b0e034a9f494257f51053cabcbf09ed0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/crocodile.png" +dest_files=["res://.godot/imported/crocodile.png-b0e034a9f494257f51053cabcbf09ed0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/dog.png b/decks/animals/PNG/Square/dog.png new file mode 100644 index 0000000..e679647 Binary files /dev/null and b/decks/animals/PNG/Square/dog.png differ diff --git a/decks/animals/PNG/Square/dog.png.import b/decks/animals/PNG/Square/dog.png.import new file mode 100644 index 0000000..e1e8cf0 --- /dev/null +++ b/decks/animals/PNG/Square/dog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://kydq682rmeu4" +path="res://.godot/imported/dog.png-1c87eb221e9c74ee22c1435b7beec94d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/dog.png" +dest_files=["res://.godot/imported/dog.png-1c87eb221e9c74ee22c1435b7beec94d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/duck.png b/decks/animals/PNG/Square/duck.png new file mode 100644 index 0000000..ae0ccca Binary files /dev/null and b/decks/animals/PNG/Square/duck.png differ diff --git a/decks/animals/PNG/Square/duck.png.import b/decks/animals/PNG/Square/duck.png.import new file mode 100644 index 0000000..ceda0ec --- /dev/null +++ b/decks/animals/PNG/Square/duck.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cev1pfljbo782" +path="res://.godot/imported/duck.png-cc24fd01958ffb1bcc2482e7707d91a1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/duck.png" +dest_files=["res://.godot/imported/duck.png-cc24fd01958ffb1bcc2482e7707d91a1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/elephant.png b/decks/animals/PNG/Square/elephant.png new file mode 100644 index 0000000..f278d99 Binary files /dev/null and b/decks/animals/PNG/Square/elephant.png differ diff --git a/decks/animals/PNG/Square/elephant.png.import b/decks/animals/PNG/Square/elephant.png.import new file mode 100644 index 0000000..210d085 --- /dev/null +++ b/decks/animals/PNG/Square/elephant.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c12lcdpujeskk" +path="res://.godot/imported/elephant.png-8ba59fb5f833d3adb143422a3618675c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/elephant.png" +dest_files=["res://.godot/imported/elephant.png-8ba59fb5f833d3adb143422a3618675c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/frog.png b/decks/animals/PNG/Square/frog.png new file mode 100644 index 0000000..8c07fde Binary files /dev/null and b/decks/animals/PNG/Square/frog.png differ diff --git a/decks/animals/PNG/Square/frog.png.import b/decks/animals/PNG/Square/frog.png.import new file mode 100644 index 0000000..6b7b85b --- /dev/null +++ b/decks/animals/PNG/Square/frog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://o6g4b338lqj1" +path="res://.godot/imported/frog.png-f86803ac8bc5852182f0fb321c7ead68.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/frog.png" +dest_files=["res://.godot/imported/frog.png-f86803ac8bc5852182f0fb321c7ead68.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/giraffe.png b/decks/animals/PNG/Square/giraffe.png new file mode 100644 index 0000000..cb51378 Binary files /dev/null and b/decks/animals/PNG/Square/giraffe.png differ diff --git a/decks/animals/PNG/Square/giraffe.png.import b/decks/animals/PNG/Square/giraffe.png.import new file mode 100644 index 0000000..93ddd12 --- /dev/null +++ b/decks/animals/PNG/Square/giraffe.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxit8hhtpwx1i" +path="res://.godot/imported/giraffe.png-baad04ae7d301746511b25f135f380a7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/giraffe.png" +dest_files=["res://.godot/imported/giraffe.png-baad04ae7d301746511b25f135f380a7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/goat.png b/decks/animals/PNG/Square/goat.png new file mode 100644 index 0000000..91a420d Binary files /dev/null and b/decks/animals/PNG/Square/goat.png differ diff --git a/decks/animals/PNG/Square/goat.png.import b/decks/animals/PNG/Square/goat.png.import new file mode 100644 index 0000000..579e468 --- /dev/null +++ b/decks/animals/PNG/Square/goat.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjlhbac0o223e" +path="res://.godot/imported/goat.png-6253d5c5d03993545b9686221050f174.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/goat.png" +dest_files=["res://.godot/imported/goat.png-6253d5c5d03993545b9686221050f174.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/gorilla.png b/decks/animals/PNG/Square/gorilla.png new file mode 100644 index 0000000..276edb2 Binary files /dev/null and b/decks/animals/PNG/Square/gorilla.png differ diff --git a/decks/animals/PNG/Square/gorilla.png.import b/decks/animals/PNG/Square/gorilla.png.import new file mode 100644 index 0000000..310b53b --- /dev/null +++ b/decks/animals/PNG/Square/gorilla.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5xh5ih2riq4h" +path="res://.godot/imported/gorilla.png-3295b1869b067c8fdc575fbae3502ce3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/gorilla.png" +dest_files=["res://.godot/imported/gorilla.png-3295b1869b067c8fdc575fbae3502ce3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/hippo.png b/decks/animals/PNG/Square/hippo.png new file mode 100644 index 0000000..495d60c Binary files /dev/null and b/decks/animals/PNG/Square/hippo.png differ diff --git a/decks/animals/PNG/Square/hippo.png.import b/decks/animals/PNG/Square/hippo.png.import new file mode 100644 index 0000000..ef9b841 --- /dev/null +++ b/decks/animals/PNG/Square/hippo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ct5eteh0xa2jt" +path="res://.godot/imported/hippo.png-5f132be328cf1ef2803ade23f3a1d814.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/hippo.png" +dest_files=["res://.godot/imported/hippo.png-5f132be328cf1ef2803ade23f3a1d814.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/horse.png b/decks/animals/PNG/Square/horse.png new file mode 100644 index 0000000..53f48e9 Binary files /dev/null and b/decks/animals/PNG/Square/horse.png differ diff --git a/decks/animals/PNG/Square/horse.png.import b/decks/animals/PNG/Square/horse.png.import new file mode 100644 index 0000000..685ac91 --- /dev/null +++ b/decks/animals/PNG/Square/horse.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c52pbybumcual" +path="res://.godot/imported/horse.png-1698941e915c69076eb473b94630c79c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/horse.png" +dest_files=["res://.godot/imported/horse.png-1698941e915c69076eb473b94630c79c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/monkey.png b/decks/animals/PNG/Square/monkey.png new file mode 100644 index 0000000..ad8111e Binary files /dev/null and b/decks/animals/PNG/Square/monkey.png differ diff --git a/decks/animals/PNG/Square/monkey.png.import b/decks/animals/PNG/Square/monkey.png.import new file mode 100644 index 0000000..76fc1a4 --- /dev/null +++ b/decks/animals/PNG/Square/monkey.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://brvlpmmf6m12j" +path="res://.godot/imported/monkey.png-c29e2778e6dd761b844a66f3d930b848.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/monkey.png" +dest_files=["res://.godot/imported/monkey.png-c29e2778e6dd761b844a66f3d930b848.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/moose.png b/decks/animals/PNG/Square/moose.png new file mode 100644 index 0000000..abf8697 Binary files /dev/null and b/decks/animals/PNG/Square/moose.png differ diff --git a/decks/animals/PNG/Square/moose.png.import b/decks/animals/PNG/Square/moose.png.import new file mode 100644 index 0000000..659c2ab --- /dev/null +++ b/decks/animals/PNG/Square/moose.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cc2xxs76mgidh" +path="res://.godot/imported/moose.png-5654c4758b116e38abae58b51c756d6f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/moose.png" +dest_files=["res://.godot/imported/moose.png-5654c4758b116e38abae58b51c756d6f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/narwhal.png b/decks/animals/PNG/Square/narwhal.png new file mode 100644 index 0000000..b50d4c0 Binary files /dev/null and b/decks/animals/PNG/Square/narwhal.png differ diff --git a/decks/animals/PNG/Square/narwhal.png.import b/decks/animals/PNG/Square/narwhal.png.import new file mode 100644 index 0000000..6cb79f9 --- /dev/null +++ b/decks/animals/PNG/Square/narwhal.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dtaa5p4xqcfks" +path="res://.godot/imported/narwhal.png-066564505d2ed0e46c8ea3efad20a9c1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/narwhal.png" +dest_files=["res://.godot/imported/narwhal.png-066564505d2ed0e46c8ea3efad20a9c1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/owl.png b/decks/animals/PNG/Square/owl.png new file mode 100644 index 0000000..2c2041c Binary files /dev/null and b/decks/animals/PNG/Square/owl.png differ diff --git a/decks/animals/PNG/Square/owl.png.import b/decks/animals/PNG/Square/owl.png.import new file mode 100644 index 0000000..5ae3308 --- /dev/null +++ b/decks/animals/PNG/Square/owl.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dhl03wiso4s56" +path="res://.godot/imported/owl.png-84ac2c82abc281a7ffd79b8406e9112b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/owl.png" +dest_files=["res://.godot/imported/owl.png-84ac2c82abc281a7ffd79b8406e9112b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/panda.png b/decks/animals/PNG/Square/panda.png new file mode 100644 index 0000000..0615ac7 Binary files /dev/null and b/decks/animals/PNG/Square/panda.png differ diff --git a/decks/animals/PNG/Square/panda.png.import b/decks/animals/PNG/Square/panda.png.import new file mode 100644 index 0000000..0016813 --- /dev/null +++ b/decks/animals/PNG/Square/panda.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b46w882x5lay1" +path="res://.godot/imported/panda.png-041d128efa1fbbb7be26f2cf7ec1a1e0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/panda.png" +dest_files=["res://.godot/imported/panda.png-041d128efa1fbbb7be26f2cf7ec1a1e0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/parrot.png b/decks/animals/PNG/Square/parrot.png new file mode 100644 index 0000000..84e8134 Binary files /dev/null and b/decks/animals/PNG/Square/parrot.png differ diff --git a/decks/animals/PNG/Square/parrot.png.import b/decks/animals/PNG/Square/parrot.png.import new file mode 100644 index 0000000..e3f7122 --- /dev/null +++ b/decks/animals/PNG/Square/parrot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ol6lt8w18vfv" +path="res://.godot/imported/parrot.png-9d22df18534f14861a18310a1560fa43.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/parrot.png" +dest_files=["res://.godot/imported/parrot.png-9d22df18534f14861a18310a1560fa43.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/penguin.png b/decks/animals/PNG/Square/penguin.png new file mode 100644 index 0000000..bc83746 Binary files /dev/null and b/decks/animals/PNG/Square/penguin.png differ diff --git a/decks/animals/PNG/Square/penguin.png.import b/decks/animals/PNG/Square/penguin.png.import new file mode 100644 index 0000000..87177eb --- /dev/null +++ b/decks/animals/PNG/Square/penguin.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c5jj3tvaqc34" +path="res://.godot/imported/penguin.png-2027f4e39fe06c3068064902e09e7452.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/penguin.png" +dest_files=["res://.godot/imported/penguin.png-2027f4e39fe06c3068064902e09e7452.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/pig.png b/decks/animals/PNG/Square/pig.png new file mode 100644 index 0000000..d20ccc9 Binary files /dev/null and b/decks/animals/PNG/Square/pig.png differ diff --git a/decks/animals/PNG/Square/pig.png.import b/decks/animals/PNG/Square/pig.png.import new file mode 100644 index 0000000..edc4d78 --- /dev/null +++ b/decks/animals/PNG/Square/pig.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ona2gka2eugg" +path="res://.godot/imported/pig.png-07192ae4aff9f9636e1d33b1da1e29aa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/pig.png" +dest_files=["res://.godot/imported/pig.png-07192ae4aff9f9636e1d33b1da1e29aa.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/rabbit.png b/decks/animals/PNG/Square/rabbit.png new file mode 100644 index 0000000..7c80688 Binary files /dev/null and b/decks/animals/PNG/Square/rabbit.png differ diff --git a/decks/animals/PNG/Square/rabbit.png.import b/decks/animals/PNG/Square/rabbit.png.import new file mode 100644 index 0000000..475fa80 --- /dev/null +++ b/decks/animals/PNG/Square/rabbit.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dm2rli8bgvvrr" +path="res://.godot/imported/rabbit.png-e3a89c9ce071f4d19d18a7284c6c6e9e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/rabbit.png" +dest_files=["res://.godot/imported/rabbit.png-e3a89c9ce071f4d19d18a7284c6c6e9e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/rhino.png b/decks/animals/PNG/Square/rhino.png new file mode 100644 index 0000000..a4499ad Binary files /dev/null and b/decks/animals/PNG/Square/rhino.png differ diff --git a/decks/animals/PNG/Square/rhino.png.import b/decks/animals/PNG/Square/rhino.png.import new file mode 100644 index 0000000..37117d7 --- /dev/null +++ b/decks/animals/PNG/Square/rhino.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bqdb2pcp116gj" +path="res://.godot/imported/rhino.png-b4e12da29d1bcbf36ed376f6da587e13.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/rhino.png" +dest_files=["res://.godot/imported/rhino.png-b4e12da29d1bcbf36ed376f6da587e13.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/sloth.png b/decks/animals/PNG/Square/sloth.png new file mode 100644 index 0000000..de54041 Binary files /dev/null and b/decks/animals/PNG/Square/sloth.png differ diff --git a/decks/animals/PNG/Square/sloth.png.import b/decks/animals/PNG/Square/sloth.png.import new file mode 100644 index 0000000..9e3fa74 --- /dev/null +++ b/decks/animals/PNG/Square/sloth.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cocakfgta7nti" +path="res://.godot/imported/sloth.png-130eec7324db0c483b732b9f386ce650.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/sloth.png" +dest_files=["res://.godot/imported/sloth.png-130eec7324db0c483b732b9f386ce650.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/snake.png b/decks/animals/PNG/Square/snake.png new file mode 100644 index 0000000..1b89bef Binary files /dev/null and b/decks/animals/PNG/Square/snake.png differ diff --git a/decks/animals/PNG/Square/snake.png.import b/decks/animals/PNG/Square/snake.png.import new file mode 100644 index 0000000..55605ed --- /dev/null +++ b/decks/animals/PNG/Square/snake.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvxy724xkiie" +path="res://.godot/imported/snake.png-2b95fd6545092d38560308333af8ce7b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/snake.png" +dest_files=["res://.godot/imported/snake.png-2b95fd6545092d38560308333af8ce7b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/walrus.png b/decks/animals/PNG/Square/walrus.png new file mode 100644 index 0000000..5ddae14 Binary files /dev/null and b/decks/animals/PNG/Square/walrus.png differ diff --git a/decks/animals/PNG/Square/walrus.png.import b/decks/animals/PNG/Square/walrus.png.import new file mode 100644 index 0000000..87f4363 --- /dev/null +++ b/decks/animals/PNG/Square/walrus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cuf0k3p7w3p58" +path="res://.godot/imported/walrus.png-3017b6bfbe9bb73e6e3e43a992a99af7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/walrus.png" +dest_files=["res://.godot/imported/walrus.png-3017b6bfbe9bb73e6e3e43a992a99af7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/whale.png b/decks/animals/PNG/Square/whale.png new file mode 100644 index 0000000..e708b83 Binary files /dev/null and b/decks/animals/PNG/Square/whale.png differ diff --git a/decks/animals/PNG/Square/whale.png.import b/decks/animals/PNG/Square/whale.png.import new file mode 100644 index 0000000..d21ca25 --- /dev/null +++ b/decks/animals/PNG/Square/whale.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cp1iniav62fjh" +path="res://.godot/imported/whale.png-a294a798d54347fd40910a4baedd8dc6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/whale.png" +dest_files=["res://.godot/imported/whale.png-a294a798d54347fd40910a4baedd8dc6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/PNG/Square/zebra.png b/decks/animals/PNG/Square/zebra.png new file mode 100644 index 0000000..32fba5a Binary files /dev/null and b/decks/animals/PNG/Square/zebra.png differ diff --git a/decks/animals/PNG/Square/zebra.png.import b/decks/animals/PNG/Square/zebra.png.import new file mode 100644 index 0000000..e213b7f --- /dev/null +++ b/decks/animals/PNG/Square/zebra.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://br48mnbv45xqg" +path="res://.godot/imported/zebra.png-b96b300577b89a6a99e7a65bc5597392.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/PNG/Square/zebra.png" +dest_files=["res://.godot/imported/zebra.png-b96b300577b89a6a99e7a65bc5597392.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/Patreon.url b/decks/animals/Patreon.url new file mode 100644 index 0000000..439ef26 --- /dev/null +++ b/decks/animals/Patreon.url @@ -0,0 +1,2 @@ +[InternetShortcut] +URL=https://www.patreon.com/kenney/ \ No newline at end of file diff --git a/decks/animals/Spritesheet/round.png b/decks/animals/Spritesheet/round.png new file mode 100644 index 0000000..a9e820f Binary files /dev/null and b/decks/animals/Spritesheet/round.png differ diff --git a/decks/animals/Spritesheet/round.png.import b/decks/animals/Spritesheet/round.png.import new file mode 100644 index 0000000..55c0d07 --- /dev/null +++ b/decks/animals/Spritesheet/round.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c0atii2y7dyc7" +path="res://.godot/imported/round.png-aec81c3041ed2605cc8d2a93089815ec.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/Spritesheet/round.png" +dest_files=["res://.godot/imported/round.png-aec81c3041ed2605cc8d2a93089815ec.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/Spritesheet/round.xml b/decks/animals/Spritesheet/round.xml new file mode 100644 index 0000000..1bd23e1 --- /dev/null +++ b/decks/animals/Spritesheet/round.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/decks/animals/Spritesheet/roundOutline.png b/decks/animals/Spritesheet/roundOutline.png new file mode 100644 index 0000000..641abd8 Binary files /dev/null and b/decks/animals/Spritesheet/roundOutline.png differ diff --git a/decks/animals/Spritesheet/roundOutline.png.import b/decks/animals/Spritesheet/roundOutline.png.import new file mode 100644 index 0000000..342b6d7 --- /dev/null +++ b/decks/animals/Spritesheet/roundOutline.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bhmu32qg5c2e1" +path="res://.godot/imported/roundOutline.png-a521cbd9302df0775e51d1d3b61c1b3f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/Spritesheet/roundOutline.png" +dest_files=["res://.godot/imported/roundOutline.png-a521cbd9302df0775e51d1d3b61c1b3f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/Spritesheet/roundOutline.xml b/decks/animals/Spritesheet/roundOutline.xml new file mode 100644 index 0000000..d9bb88c --- /dev/null +++ b/decks/animals/Spritesheet/roundOutline.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/decks/animals/Spritesheet/round_nodetails.png b/decks/animals/Spritesheet/round_nodetails.png new file mode 100644 index 0000000..bf53234 Binary files /dev/null and b/decks/animals/Spritesheet/round_nodetails.png differ diff --git a/decks/animals/Spritesheet/round_nodetails.png.import b/decks/animals/Spritesheet/round_nodetails.png.import new file mode 100644 index 0000000..1fd5c1b --- /dev/null +++ b/decks/animals/Spritesheet/round_nodetails.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cf5k428dsfkxj" +path="res://.godot/imported/round_nodetails.png-56350661d2bdbc91c1379cb72495c4d3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/Spritesheet/round_nodetails.png" +dest_files=["res://.godot/imported/round_nodetails.png-56350661d2bdbc91c1379cb72495c4d3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/Spritesheet/round_nodetails.xml b/decks/animals/Spritesheet/round_nodetails.xml new file mode 100644 index 0000000..d22c3fb --- /dev/null +++ b/decks/animals/Spritesheet/round_nodetails.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/decks/animals/Spritesheet/round_nodetailsOutline.png b/decks/animals/Spritesheet/round_nodetailsOutline.png new file mode 100644 index 0000000..877d4c0 Binary files /dev/null and b/decks/animals/Spritesheet/round_nodetailsOutline.png differ diff --git a/decks/animals/Spritesheet/round_nodetailsOutline.png.import b/decks/animals/Spritesheet/round_nodetailsOutline.png.import new file mode 100644 index 0000000..4dd11b4 --- /dev/null +++ b/decks/animals/Spritesheet/round_nodetailsOutline.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://djnrpc1fhvyth" +path="res://.godot/imported/round_nodetailsOutline.png-222346f02bf5fec8df87c8a5fc184b0c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/Spritesheet/round_nodetailsOutline.png" +dest_files=["res://.godot/imported/round_nodetailsOutline.png-222346f02bf5fec8df87c8a5fc184b0c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/Spritesheet/round_nodetailsOutline.xml b/decks/animals/Spritesheet/round_nodetailsOutline.xml new file mode 100644 index 0000000..4279fee --- /dev/null +++ b/decks/animals/Spritesheet/round_nodetailsOutline.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/decks/animals/Spritesheet/square.png b/decks/animals/Spritesheet/square.png new file mode 100644 index 0000000..09d4dfe Binary files /dev/null and b/decks/animals/Spritesheet/square.png differ diff --git a/decks/animals/Spritesheet/square.png.import b/decks/animals/Spritesheet/square.png.import new file mode 100644 index 0000000..12bafc4 --- /dev/null +++ b/decks/animals/Spritesheet/square.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dt4q7ef7s7lts" +path="res://.godot/imported/square.png-e0b848b6de9f1d0af8df5a60d0b92a06.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/Spritesheet/square.png" +dest_files=["res://.godot/imported/square.png-e0b848b6de9f1d0af8df5a60d0b92a06.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/Spritesheet/square.xml b/decks/animals/Spritesheet/square.xml new file mode 100644 index 0000000..945c265 --- /dev/null +++ b/decks/animals/Spritesheet/square.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/decks/animals/Spritesheet/squareOutline.png b/decks/animals/Spritesheet/squareOutline.png new file mode 100644 index 0000000..bba29c6 Binary files /dev/null and b/decks/animals/Spritesheet/squareOutline.png differ diff --git a/decks/animals/Spritesheet/squareOutline.png.import b/decks/animals/Spritesheet/squareOutline.png.import new file mode 100644 index 0000000..0e809b7 --- /dev/null +++ b/decks/animals/Spritesheet/squareOutline.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://t6wm5bkq0fd4" +path="res://.godot/imported/squareOutline.png-c9ff484b512ba3c893ba5b66a28262c5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/Spritesheet/squareOutline.png" +dest_files=["res://.godot/imported/squareOutline.png-c9ff484b512ba3c893ba5b66a28262c5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/Spritesheet/squareOutline.xml b/decks/animals/Spritesheet/squareOutline.xml new file mode 100644 index 0000000..05bfd10 --- /dev/null +++ b/decks/animals/Spritesheet/squareOutline.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/decks/animals/Spritesheet/square_nodetails.png b/decks/animals/Spritesheet/square_nodetails.png new file mode 100644 index 0000000..14bc941 Binary files /dev/null and b/decks/animals/Spritesheet/square_nodetails.png differ diff --git a/decks/animals/Spritesheet/square_nodetails.png.import b/decks/animals/Spritesheet/square_nodetails.png.import new file mode 100644 index 0000000..e0af022 --- /dev/null +++ b/decks/animals/Spritesheet/square_nodetails.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://erkpf2yuqnqk" +path="res://.godot/imported/square_nodetails.png-ec83f4aba9a6a1c936f0690bffe54248.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/Spritesheet/square_nodetails.png" +dest_files=["res://.godot/imported/square_nodetails.png-ec83f4aba9a6a1c936f0690bffe54248.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/Spritesheet/square_nodetails.xml b/decks/animals/Spritesheet/square_nodetails.xml new file mode 100644 index 0000000..679bbca --- /dev/null +++ b/decks/animals/Spritesheet/square_nodetails.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/decks/animals/Spritesheet/square_nodetailsOutline.png b/decks/animals/Spritesheet/square_nodetailsOutline.png new file mode 100644 index 0000000..f0af00b Binary files /dev/null and b/decks/animals/Spritesheet/square_nodetailsOutline.png differ diff --git a/decks/animals/Spritesheet/square_nodetailsOutline.png.import b/decks/animals/Spritesheet/square_nodetailsOutline.png.import new file mode 100644 index 0000000..8e92e0b --- /dev/null +++ b/decks/animals/Spritesheet/square_nodetailsOutline.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://boh4voq7bk25j" +path="res://.godot/imported/square_nodetailsOutline.png-7901ddcf57c60ff5a249efa1e311045e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/Spritesheet/square_nodetailsOutline.png" +dest_files=["res://.godot/imported/square_nodetailsOutline.png-7901ddcf57c60ff5a249efa1e311045e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/Spritesheet/square_nodetailsOutline.xml b/decks/animals/Spritesheet/square_nodetailsOutline.xml new file mode 100644 index 0000000..9f89619 --- /dev/null +++ b/decks/animals/Spritesheet/square_nodetailsOutline.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/decks/animals/Thumbs.db b/decks/animals/Thumbs.db new file mode 100644 index 0000000..7d912bf Binary files /dev/null and b/decks/animals/Thumbs.db differ diff --git a/decks/animals/Vector/round.svg b/decks/animals/Vector/round.svg new file mode 100644 index 0000000..6563f46 --- /dev/null +++ b/decks/animals/Vector/round.svg @@ -0,0 +1,361 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/decks/animals/Vector/round.svg.import b/decks/animals/Vector/round.svg.import new file mode 100644 index 0000000..ccad2cb --- /dev/null +++ b/decks/animals/Vector/round.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d0mymd2qgfo0l" +path="res://.godot/imported/round.svg-9c422bc6b84b983cab1b0dbcb15ebadc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/Vector/round.svg" +dest_files=["res://.godot/imported/round.svg-9c422bc6b84b983cab1b0dbcb15ebadc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/decks/animals/Vector/round.swf b/decks/animals/Vector/round.swf new file mode 100644 index 0000000..2bcdd5f Binary files /dev/null and b/decks/animals/Vector/round.swf differ diff --git a/decks/animals/Vector/roundOutline.svg b/decks/animals/Vector/roundOutline.svg new file mode 100644 index 0000000..67109c1 --- /dev/null +++ b/decks/animals/Vector/roundOutline.svg @@ -0,0 +1,391 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/decks/animals/Vector/roundOutline.svg.import b/decks/animals/Vector/roundOutline.svg.import new file mode 100644 index 0000000..b679293 --- /dev/null +++ b/decks/animals/Vector/roundOutline.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqbacy5yg5c67" +path="res://.godot/imported/roundOutline.svg-623ac2a58261e917bc81bf2852cf79e7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/Vector/roundOutline.svg" +dest_files=["res://.godot/imported/roundOutline.svg-623ac2a58261e917bc81bf2852cf79e7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/decks/animals/Vector/roundOutline.swf b/decks/animals/Vector/roundOutline.swf new file mode 100644 index 0000000..d87bf14 Binary files /dev/null and b/decks/animals/Vector/roundOutline.swf differ diff --git a/decks/animals/Vector/round_nodetails.svg b/decks/animals/Vector/round_nodetails.svg new file mode 100644 index 0000000..20e7d01 --- /dev/null +++ b/decks/animals/Vector/round_nodetails.svg @@ -0,0 +1,302 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/decks/animals/Vector/round_nodetails.svg.import b/decks/animals/Vector/round_nodetails.svg.import new file mode 100644 index 0000000..0031b11 --- /dev/null +++ b/decks/animals/Vector/round_nodetails.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://k2xbjxlbg1nv" +path="res://.godot/imported/round_nodetails.svg-9b9d0f2f34e94c0db9bab77321f1a242.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/Vector/round_nodetails.svg" +dest_files=["res://.godot/imported/round_nodetails.svg-9b9d0f2f34e94c0db9bab77321f1a242.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/decks/animals/Vector/round_nodetails.swf b/decks/animals/Vector/round_nodetails.swf new file mode 100644 index 0000000..2361d81 Binary files /dev/null and b/decks/animals/Vector/round_nodetails.swf differ diff --git a/decks/animals/Vector/round_nodetailsOutline.svg b/decks/animals/Vector/round_nodetailsOutline.svg new file mode 100644 index 0000000..90a07ce --- /dev/null +++ b/decks/animals/Vector/round_nodetailsOutline.svg @@ -0,0 +1,332 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/decks/animals/Vector/round_nodetailsOutline.svg.import b/decks/animals/Vector/round_nodetailsOutline.svg.import new file mode 100644 index 0000000..7b4b47b --- /dev/null +++ b/decks/animals/Vector/round_nodetailsOutline.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bopacgks48iok" +path="res://.godot/imported/round_nodetailsOutline.svg-e1416b3eca261def322fe817fe61bf3b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/Vector/round_nodetailsOutline.svg" +dest_files=["res://.godot/imported/round_nodetailsOutline.svg-e1416b3eca261def322fe817fe61bf3b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/decks/animals/Vector/round_nodetailsOutline.swf b/decks/animals/Vector/round_nodetailsOutline.swf new file mode 100644 index 0000000..7b45327 Binary files /dev/null and b/decks/animals/Vector/round_nodetailsOutline.swf differ diff --git a/decks/animals/Vector/square.svg b/decks/animals/Vector/square.svg new file mode 100644 index 0000000..5852899 --- /dev/null +++ b/decks/animals/Vector/square.svg @@ -0,0 +1,323 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/decks/animals/Vector/square.svg.import b/decks/animals/Vector/square.svg.import new file mode 100644 index 0000000..3007ef0 --- /dev/null +++ b/decks/animals/Vector/square.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://brnw131hmi2ww" +path="res://.godot/imported/square.svg-2e79ed6254dae08b09e1666544fe0d96.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/Vector/square.svg" +dest_files=["res://.godot/imported/square.svg-2e79ed6254dae08b09e1666544fe0d96.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/decks/animals/Vector/square.swf b/decks/animals/Vector/square.swf new file mode 100644 index 0000000..2e1b7fa Binary files /dev/null and b/decks/animals/Vector/square.swf differ diff --git a/decks/animals/Vector/squareOutline.svg b/decks/animals/Vector/squareOutline.svg new file mode 100644 index 0000000..d443a9f --- /dev/null +++ b/decks/animals/Vector/squareOutline.svg @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/decks/animals/Vector/squareOutline.svg.import b/decks/animals/Vector/squareOutline.svg.import new file mode 100644 index 0000000..c26aba5 --- /dev/null +++ b/decks/animals/Vector/squareOutline.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://kds4a2nx1frx" +path="res://.godot/imported/squareOutline.svg-03c226047ab352a9dfd54d99cdf14acb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/Vector/squareOutline.svg" +dest_files=["res://.godot/imported/squareOutline.svg-03c226047ab352a9dfd54d99cdf14acb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/decks/animals/Vector/squareOutline.swf b/decks/animals/Vector/squareOutline.swf new file mode 100644 index 0000000..1be59ce Binary files /dev/null and b/decks/animals/Vector/squareOutline.swf differ diff --git a/decks/animals/Vector/square_nodetails.svg b/decks/animals/Vector/square_nodetails.svg new file mode 100644 index 0000000..301983a --- /dev/null +++ b/decks/animals/Vector/square_nodetails.svg @@ -0,0 +1,268 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/decks/animals/Vector/square_nodetails.svg.import b/decks/animals/Vector/square_nodetails.svg.import new file mode 100644 index 0000000..02c296d --- /dev/null +++ b/decks/animals/Vector/square_nodetails.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7q6ywvxc1jc3" +path="res://.godot/imported/square_nodetails.svg-2501d658494eef0d837bfcc51bcd6c7e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/Vector/square_nodetails.svg" +dest_files=["res://.godot/imported/square_nodetails.svg-2501d658494eef0d837bfcc51bcd6c7e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/decks/animals/Vector/square_nodetails.swf b/decks/animals/Vector/square_nodetails.swf new file mode 100644 index 0000000..3c6f614 Binary files /dev/null and b/decks/animals/Vector/square_nodetails.swf differ diff --git a/decks/animals/Vector/square_nodetailsOutline.svg b/decks/animals/Vector/square_nodetailsOutline.svg new file mode 100644 index 0000000..94c923f --- /dev/null +++ b/decks/animals/Vector/square_nodetailsOutline.svg @@ -0,0 +1,298 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/decks/animals/Vector/square_nodetailsOutline.svg.import b/decks/animals/Vector/square_nodetailsOutline.svg.import new file mode 100644 index 0000000..33450c0 --- /dev/null +++ b/decks/animals/Vector/square_nodetailsOutline.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://berqrqee0p4m" +path="res://.godot/imported/square_nodetailsOutline.svg-9a662c2e193a0dcc2238e7c39fdccd0a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/Vector/square_nodetailsOutline.svg" +dest_files=["res://.godot/imported/square_nodetailsOutline.svg-9a662c2e193a0dcc2238e7c39fdccd0a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/decks/animals/Vector/square_nodetailsOutline.swf b/decks/animals/Vector/square_nodetailsOutline.swf new file mode 100644 index 0000000..1402f67 Binary files /dev/null and b/decks/animals/Vector/square_nodetailsOutline.swf differ diff --git a/decks/animals/bear.png b/decks/animals/bear.png new file mode 100644 index 0000000..695db99 Binary files /dev/null and b/decks/animals/bear.png differ diff --git a/decks/animals/bear.png.import b/decks/animals/bear.png.import new file mode 100644 index 0000000..7e41da8 --- /dev/null +++ b/decks/animals/bear.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://o8oexbq6ak2t" +path="res://.godot/imported/bear.png-7e9ab229fc0f3992209fcc4633011a1b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/bear.png" +dest_files=["res://.godot/imported/bear.png-7e9ab229fc0f3992209fcc4633011a1b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/buffalo.png b/decks/animals/buffalo.png new file mode 100644 index 0000000..684bb43 Binary files /dev/null and b/decks/animals/buffalo.png differ diff --git a/decks/animals/buffalo.png.import b/decks/animals/buffalo.png.import new file mode 100644 index 0000000..407931d --- /dev/null +++ b/decks/animals/buffalo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3du5a4b8s34o" +path="res://.godot/imported/buffalo.png-4ce4eb19093bafb5adf732a70bce7277.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/buffalo.png" +dest_files=["res://.godot/imported/buffalo.png-4ce4eb19093bafb5adf732a70bce7277.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/chick.png b/decks/animals/chick.png new file mode 100644 index 0000000..6149233 Binary files /dev/null and b/decks/animals/chick.png differ diff --git a/decks/animals/chick.png.import b/decks/animals/chick.png.import new file mode 100644 index 0000000..93c40a7 --- /dev/null +++ b/decks/animals/chick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8e8kgwyvdbmy" +path="res://.godot/imported/chick.png-617d08f1dee79e909e7f71f890d8cd7c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/chick.png" +dest_files=["res://.godot/imported/chick.png-617d08f1dee79e909e7f71f890d8cd7c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/chicken.png b/decks/animals/chicken.png new file mode 100644 index 0000000..dd4d97b Binary files /dev/null and b/decks/animals/chicken.png differ diff --git a/decks/animals/chicken.png.import b/decks/animals/chicken.png.import new file mode 100644 index 0000000..096f9e9 --- /dev/null +++ b/decks/animals/chicken.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3frx2h1bum3s" +path="res://.godot/imported/chicken.png-ffa512b7784ad1114f1829ee016fbd26.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/chicken.png" +dest_files=["res://.godot/imported/chicken.png-ffa512b7784ad1114f1829ee016fbd26.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/cow.png b/decks/animals/cow.png new file mode 100644 index 0000000..2d409f9 Binary files /dev/null and b/decks/animals/cow.png differ diff --git a/decks/animals/cow.png.import b/decks/animals/cow.png.import new file mode 100644 index 0000000..d2f8336 --- /dev/null +++ b/decks/animals/cow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cojbncqhrvx72" +path="res://.godot/imported/cow.png-8cf31758f640f6046b5e704f3740cc1b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/cow.png" +dest_files=["res://.godot/imported/cow.png-8cf31758f640f6046b5e704f3740cc1b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/crocodile.png b/decks/animals/crocodile.png new file mode 100644 index 0000000..eebde2a Binary files /dev/null and b/decks/animals/crocodile.png differ diff --git a/decks/animals/crocodile.png.import b/decks/animals/crocodile.png.import new file mode 100644 index 0000000..55f9851 --- /dev/null +++ b/decks/animals/crocodile.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bambvjp433em6" +path="res://.godot/imported/crocodile.png-e96a2dc1168540ca38772e2c6f92deae.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/crocodile.png" +dest_files=["res://.godot/imported/crocodile.png-e96a2dc1168540ca38772e2c6f92deae.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/dog.png b/decks/animals/dog.png new file mode 100644 index 0000000..e679647 Binary files /dev/null and b/decks/animals/dog.png differ diff --git a/decks/animals/dog.png.import b/decks/animals/dog.png.import new file mode 100644 index 0000000..dfa6b36 --- /dev/null +++ b/decks/animals/dog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bc8xatvwiwv5i" +path="res://.godot/imported/dog.png-8014e7b8cb46ff82bdbbe26e4b02a321.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/dog.png" +dest_files=["res://.godot/imported/dog.png-8014e7b8cb46ff82bdbbe26e4b02a321.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/duck.png b/decks/animals/duck.png new file mode 100644 index 0000000..ae0ccca Binary files /dev/null and b/decks/animals/duck.png differ diff --git a/decks/animals/duck.png.import b/decks/animals/duck.png.import new file mode 100644 index 0000000..91d0954 --- /dev/null +++ b/decks/animals/duck.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c18j0bp8xfko1" +path="res://.godot/imported/duck.png-8b7eab82802761a9220cf3a79a29d52a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/duck.png" +dest_files=["res://.godot/imported/duck.png-8b7eab82802761a9220cf3a79a29d52a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/elephant.png b/decks/animals/elephant.png new file mode 100644 index 0000000..f278d99 Binary files /dev/null and b/decks/animals/elephant.png differ diff --git a/decks/animals/elephant.png.import b/decks/animals/elephant.png.import new file mode 100644 index 0000000..d2595bb --- /dev/null +++ b/decks/animals/elephant.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cvsomx74l4giv" +path="res://.godot/imported/elephant.png-430f0cce7c4233110f0b3ad77b5fa953.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/elephant.png" +dest_files=["res://.godot/imported/elephant.png-430f0cce7c4233110f0b3ad77b5fa953.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/frog.png b/decks/animals/frog.png new file mode 100644 index 0000000..8c07fde Binary files /dev/null and b/decks/animals/frog.png differ diff --git a/decks/animals/frog.png.import b/decks/animals/frog.png.import new file mode 100644 index 0000000..65f3579 --- /dev/null +++ b/decks/animals/frog.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4r87cob0e3sl" +path="res://.godot/imported/frog.png-5f050117e744ba7b895eb5c06d6cc926.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/frog.png" +dest_files=["res://.godot/imported/frog.png-5f050117e744ba7b895eb5c06d6cc926.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/giraffe.png b/decks/animals/giraffe.png new file mode 100644 index 0000000..cb51378 Binary files /dev/null and b/decks/animals/giraffe.png differ diff --git a/decks/animals/giraffe.png.import b/decks/animals/giraffe.png.import new file mode 100644 index 0000000..dd2f340 --- /dev/null +++ b/decks/animals/giraffe.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dg3htulg4qeko" +path="res://.godot/imported/giraffe.png-0600716e5bf780e1c740b6e711f5d821.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/giraffe.png" +dest_files=["res://.godot/imported/giraffe.png-0600716e5bf780e1c740b6e711f5d821.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/goat.png b/decks/animals/goat.png new file mode 100644 index 0000000..91a420d Binary files /dev/null and b/decks/animals/goat.png differ diff --git a/decks/animals/goat.png.import b/decks/animals/goat.png.import new file mode 100644 index 0000000..4a5d1df --- /dev/null +++ b/decks/animals/goat.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bsqkauridbsae" +path="res://.godot/imported/goat.png-0e4027ad63cf21dfc1fe336f67178247.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/goat.png" +dest_files=["res://.godot/imported/goat.png-0e4027ad63cf21dfc1fe336f67178247.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/gorilla.png b/decks/animals/gorilla.png new file mode 100644 index 0000000..276edb2 Binary files /dev/null and b/decks/animals/gorilla.png differ diff --git a/decks/animals/gorilla.png.import b/decks/animals/gorilla.png.import new file mode 100644 index 0000000..37ef334 --- /dev/null +++ b/decks/animals/gorilla.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4nmp8eyqg6sy" +path="res://.godot/imported/gorilla.png-203c5c31fd01c78b97ddce33b2dae290.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/gorilla.png" +dest_files=["res://.godot/imported/gorilla.png-203c5c31fd01c78b97ddce33b2dae290.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/hippo.png b/decks/animals/hippo.png new file mode 100644 index 0000000..495d60c Binary files /dev/null and b/decks/animals/hippo.png differ diff --git a/decks/animals/hippo.png.import b/decks/animals/hippo.png.import new file mode 100644 index 0000000..7ca2bfe --- /dev/null +++ b/decks/animals/hippo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ces7suhivx8wv" +path="res://.godot/imported/hippo.png-14bd5237b20709f023ba1cd7e5c7e2a9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/hippo.png" +dest_files=["res://.godot/imported/hippo.png-14bd5237b20709f023ba1cd7e5c7e2a9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/horse.png b/decks/animals/horse.png new file mode 100644 index 0000000..53f48e9 Binary files /dev/null and b/decks/animals/horse.png differ diff --git a/decks/animals/horse.png.import b/decks/animals/horse.png.import new file mode 100644 index 0000000..38e8fa5 --- /dev/null +++ b/decks/animals/horse.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvu4pgsmtaxml" +path="res://.godot/imported/horse.png-105c235dde19811ca97f47847a8594b9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/horse.png" +dest_files=["res://.godot/imported/horse.png-105c235dde19811ca97f47847a8594b9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/kenney_animalPackRedux.zip b/decks/animals/kenney_animalPackRedux.zip new file mode 100644 index 0000000..2725358 Binary files /dev/null and b/decks/animals/kenney_animalPackRedux.zip differ diff --git a/decks/animals/monkey.png b/decks/animals/monkey.png new file mode 100644 index 0000000..ad8111e Binary files /dev/null and b/decks/animals/monkey.png differ diff --git a/decks/animals/monkey.png.import b/decks/animals/monkey.png.import new file mode 100644 index 0000000..e91d291 --- /dev/null +++ b/decks/animals/monkey.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxi2687tqovpv" +path="res://.godot/imported/monkey.png-4851c948fcf7efb069ac0d22f19835cb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/monkey.png" +dest_files=["res://.godot/imported/monkey.png-4851c948fcf7efb069ac0d22f19835cb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/moose.png b/decks/animals/moose.png new file mode 100644 index 0000000..abf8697 Binary files /dev/null and b/decks/animals/moose.png differ diff --git a/decks/animals/moose.png.import b/decks/animals/moose.png.import new file mode 100644 index 0000000..14f9478 --- /dev/null +++ b/decks/animals/moose.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://eg8n4g88iu42" +path="res://.godot/imported/moose.png-effbc140191939d85a83ade06b626426.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/moose.png" +dest_files=["res://.godot/imported/moose.png-effbc140191939d85a83ade06b626426.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/narwhal.png b/decks/animals/narwhal.png new file mode 100644 index 0000000..b50d4c0 Binary files /dev/null and b/decks/animals/narwhal.png differ diff --git a/decks/animals/narwhal.png.import b/decks/animals/narwhal.png.import new file mode 100644 index 0000000..2ade1b5 --- /dev/null +++ b/decks/animals/narwhal.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bimcshsq3khnh" +path="res://.godot/imported/narwhal.png-8141005bd2172703f05e21d20d4e1936.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/narwhal.png" +dest_files=["res://.godot/imported/narwhal.png-8141005bd2172703f05e21d20d4e1936.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/owl.png b/decks/animals/owl.png new file mode 100644 index 0000000..2c2041c Binary files /dev/null and b/decks/animals/owl.png differ diff --git a/decks/animals/owl.png.import b/decks/animals/owl.png.import new file mode 100644 index 0000000..5479a41 --- /dev/null +++ b/decks/animals/owl.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7lxa5rofx8ns" +path="res://.godot/imported/owl.png-1086b5bad1700f4fbdccbf4153cfcae1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/owl.png" +dest_files=["res://.godot/imported/owl.png-1086b5bad1700f4fbdccbf4153cfcae1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/panda.png b/decks/animals/panda.png new file mode 100644 index 0000000..0615ac7 Binary files /dev/null and b/decks/animals/panda.png differ diff --git a/decks/animals/panda.png.import b/decks/animals/panda.png.import new file mode 100644 index 0000000..e22e533 --- /dev/null +++ b/decks/animals/panda.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://clv1x1dv2v7xa" +path="res://.godot/imported/panda.png-1587556c8853ee6a521f9f0bbd348f36.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/panda.png" +dest_files=["res://.godot/imported/panda.png-1587556c8853ee6a521f9f0bbd348f36.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/parrot.png b/decks/animals/parrot.png new file mode 100644 index 0000000..84e8134 Binary files /dev/null and b/decks/animals/parrot.png differ diff --git a/decks/animals/parrot.png.import b/decks/animals/parrot.png.import new file mode 100644 index 0000000..8c4cbe6 --- /dev/null +++ b/decks/animals/parrot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbigw60p1bg4j" +path="res://.godot/imported/parrot.png-cbff2aee71c1049bf38abaed3df95b98.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/parrot.png" +dest_files=["res://.godot/imported/parrot.png-cbff2aee71c1049bf38abaed3df95b98.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/penguin.png b/decks/animals/penguin.png new file mode 100644 index 0000000..bc83746 Binary files /dev/null and b/decks/animals/penguin.png differ diff --git a/decks/animals/penguin.png.import b/decks/animals/penguin.png.import new file mode 100644 index 0000000..09b72a0 --- /dev/null +++ b/decks/animals/penguin.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bwkkn4bq00b3a" +path="res://.godot/imported/penguin.png-0185fcb86ba2e0dd08446c841e246097.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/penguin.png" +dest_files=["res://.godot/imported/penguin.png-0185fcb86ba2e0dd08446c841e246097.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/pig.png b/decks/animals/pig.png new file mode 100644 index 0000000..d20ccc9 Binary files /dev/null and b/decks/animals/pig.png differ diff --git a/decks/animals/pig.png.import b/decks/animals/pig.png.import new file mode 100644 index 0000000..02318e7 --- /dev/null +++ b/decks/animals/pig.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7hpsfrwc6x7a" +path="res://.godot/imported/pig.png-bb4bb178a08546f540312563c90f42d9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/pig.png" +dest_files=["res://.godot/imported/pig.png-bb4bb178a08546f540312563c90f42d9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/rabbit.png b/decks/animals/rabbit.png new file mode 100644 index 0000000..7c80688 Binary files /dev/null and b/decks/animals/rabbit.png differ diff --git a/decks/animals/rabbit.png.import b/decks/animals/rabbit.png.import new file mode 100644 index 0000000..a101965 --- /dev/null +++ b/decks/animals/rabbit.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bq4vkfppvfydy" +path="res://.godot/imported/rabbit.png-e358a1f6970b6c54236dcac15359e225.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/rabbit.png" +dest_files=["res://.godot/imported/rabbit.png-e358a1f6970b6c54236dcac15359e225.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/rhino.png b/decks/animals/rhino.png new file mode 100644 index 0000000..a4499ad Binary files /dev/null and b/decks/animals/rhino.png differ diff --git a/decks/animals/rhino.png.import b/decks/animals/rhino.png.import new file mode 100644 index 0000000..bedb3be --- /dev/null +++ b/decks/animals/rhino.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://jx7mroh4hqcf" +path="res://.godot/imported/rhino.png-14c772458a2786c5a5655448f3309bb5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/rhino.png" +dest_files=["res://.godot/imported/rhino.png-14c772458a2786c5a5655448f3309bb5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/sloth.png b/decks/animals/sloth.png new file mode 100644 index 0000000..de54041 Binary files /dev/null and b/decks/animals/sloth.png differ diff --git a/decks/animals/sloth.png.import b/decks/animals/sloth.png.import new file mode 100644 index 0000000..41e78ad --- /dev/null +++ b/decks/animals/sloth.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbdrbrc8flf0h" +path="res://.godot/imported/sloth.png-4b91be4d312eafd6bc4b2f797a6131ca.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/sloth.png" +dest_files=["res://.godot/imported/sloth.png-4b91be4d312eafd6bc4b2f797a6131ca.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/snake.png b/decks/animals/snake.png new file mode 100644 index 0000000..1b89bef Binary files /dev/null and b/decks/animals/snake.png differ diff --git a/decks/animals/snake.png.import b/decks/animals/snake.png.import new file mode 100644 index 0000000..c45c6e0 --- /dev/null +++ b/decks/animals/snake.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3swbs0lmwcpi" +path="res://.godot/imported/snake.png-1d2dcaa2e9035811c77f2e4f513d94b0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/snake.png" +dest_files=["res://.godot/imported/snake.png-1d2dcaa2e9035811c77f2e4f513d94b0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/sources.txt b/decks/animals/sources.txt new file mode 100644 index 0000000..10741f7 --- /dev/null +++ b/decks/animals/sources.txt @@ -0,0 +1 @@ +https://opengameart.org/content/animal-pack-redux diff --git a/decks/animals/walrus.png b/decks/animals/walrus.png new file mode 100644 index 0000000..5ddae14 Binary files /dev/null and b/decks/animals/walrus.png differ diff --git a/decks/animals/walrus.png.import b/decks/animals/walrus.png.import new file mode 100644 index 0000000..9fbece4 --- /dev/null +++ b/decks/animals/walrus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b803mdjx4gib6" +path="res://.godot/imported/walrus.png-d8f82e3f5ca24c2c6a7fdc94679ad4d6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/walrus.png" +dest_files=["res://.godot/imported/walrus.png-d8f82e3f5ca24c2c6a7fdc94679ad4d6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/whale.png b/decks/animals/whale.png new file mode 100644 index 0000000..e708b83 Binary files /dev/null and b/decks/animals/whale.png differ diff --git a/decks/animals/whale.png.import b/decks/animals/whale.png.import new file mode 100644 index 0000000..adb8cfa --- /dev/null +++ b/decks/animals/whale.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3r2ra8do8051" +path="res://.godot/imported/whale.png-e1eb6770ca008bad0971048757924f5c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/whale.png" +dest_files=["res://.godot/imported/whale.png-e1eb6770ca008bad0971048757924f5c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/animals/zebra.png b/decks/animals/zebra.png new file mode 100644 index 0000000..32fba5a Binary files /dev/null and b/decks/animals/zebra.png differ diff --git a/decks/animals/zebra.png.import b/decks/animals/zebra.png.import new file mode 100644 index 0000000..e65eaa7 --- /dev/null +++ b/decks/animals/zebra.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqsqb43sc5cvc" +path="res://.godot/imported/zebra.png-6c220a48857011e43f9420509be1dafc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/animals/zebra.png" +dest_files=["res://.godot/imported/zebra.png-6c220a48857011e43f9420509be1dafc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/.DS_Store b/decks/numbers/Number_Blocks_01/.DS_Store new file mode 100644 index 0000000..bc3e1e2 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/.DS_Store differ diff --git a/decks/numbers/Number_Blocks_01/Ai Resource/Number_Blocks_01.ai b/decks/numbers/Number_Blocks_01/Ai Resource/Number_Blocks_01.ai new file mode 100644 index 0000000..5976268 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Ai Resource/Number_Blocks_01.ai @@ -0,0 +1,2741 @@ +%PDF-1.5 %âãÏÓ +1 0 obj <>/OCGs[5 0 R 65 0 R 124 0 R 183 0 R 242 0 R 304 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + application/pdf + + + Letter_Blocks_01 + + + + + 2012-11-26T23:20:20Z + 2012-11-26T23:20:20Z + 2012-11-26T23:00:53Z + Adobe Illustrator CS6 (Macintosh) + + + + 256 + 240 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA8AEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q8H/Pyw1OfzVZyWsd 80f6MaptSoTlG8rb1B3FRX6MuxnSV++yiEu738j83Ixe0Oo0Y8PHCMonezfXY/YNnl0el69yqsOq /ZsKlZUr++bboN6n7P8AMdss/wBb/wDVx8x05t3+jLWf6lD7en09fm3+itcMqgw6oQzXw3kT/dTV Pw03I/a8Dtj/AK3/AOrj5jryX/RlrP8AUofb1+rr8lh03XAwIi1PiDYhSJ1A/enkOI49+q/zdDvj XZ/+rj5jpzX/AEZaz/Uofb0+nr83u3/OPdvew+X9WN2lyrNfuF+tyK7EKKGgAFPf3ynJ4F/up8Y6 uPm7Vy6w8WSIjw93zeq5W0uxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2 KuxV2KuxV2KvPPzK02G51CKV/R+GymBaUybUDEfCgI7mnjvXtnN9r6aU8wIMR6Rz95c/S6bDkjc4 km+n9oYOmhW7SVaO2KlNJIPpXDAlpCDQp/w1do+o65rPyWT+dHr39fh0697lfkNN/Nl+P850WhQG dPhtq8tW6RTgfDMADzqQvsT/AHnU4/ksnfHp39Ph16dyPyGm/my/H+cuk0KFbl1b0eYbS+RaG4J+ KQqasBRunxU/u+uP5KffHr39fh0+1P5DTfzZfj/Oei/lbZpa6TfqvChvpz+7R4+jEft7t8/41zoO yMRhA2Rz6e5wNXhx4yBAEe/+0s0zbuK7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq+XPzKg87t+Yuox2sMssL3LCCUODGUcALycniPT2B5H4fbJDSZZbiJovb dn9v6HFghGWSMZQHqDG7W2/MUatdoLaVeEbAn1FCEIrcuLEhD6gBVQpPPoK1w/ks380uT/om7Puz khwmq/srZQsoPzFNjdtHbzECT7JbmwL/AGeMbkO/Cn7I+Gu/Xd/JZv5pUe0mgGxyw4jdczTV1bfm Kuj2TNBNRm4ij/GSgAJdVPMc6ihNOVPbH8lm/mlB9pNARQyw4hV8/wBSvd2v5jnVrRTBKQ6KAOal PjQcQzhuC+mCAQx+ClDSmP5LN/NKf9EvZ92MsOEXYXWtt+YA1S6RLeYSIjhx6o4URW5cWLcD6g+F Qp+PtWuP5LN/NLL/AES9nczljRquaHgtPzJ/RN47QzHi/QkI/wAdaFUNGYIVNSo+GvbH8lm/mlrH tJoQKOWBkbo/gNT2n5kjSLNvRm+Nio4sC/JQByZBVwGZhTkBzpj+SzfzSv8Aok0JFDLDjHM/gdH1 L+ViaknkDR11KovfTcyKWDlQ0rlFJBNCqEDj+z07ZAwMdpbF5HtTU4s+olkxEGEuRHu3+1lWLgOx V2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KvnX8wPIWu3nn+e5tdZs4be4 nle3E3riVAyj1kokTpt2rIOVMyYe2GlwR8OcZ8WPY0BX3/odBqNDxTkb2kWO2X5a+Yf8RX6jX9PE /pDkwFwHICn0K1hVTybiHIdio8aAZI+3GjA4uHJv5R+P8TUez7iBewQul/ltr8mkam0PmKxjHryC clrqFVNP9ILNJbxsnGi0ohB33FMMvbbRxIjw5PV5R+H8TKWgJIJIsKd9+XOtp5d0p38xWPos0Qti pu/slB6HDhbs9WUtUGNePvXYj210hJjw5PT5R+P8SjQkSMrFlF6j+WmtjzJpoPmOyNyYvgUtchhV f39EWJ04qeXEs68qD7PTIj230hBlw5NvKPw/iQNBUTEEUVWz/LrzC2v30P6dsVuEiBaTjdBigDeh 9qBIyHfZisjcd+vGmE+3GjERLhnv5R+P8TH+TtqvZLbH8tNUHl3UTF5j057YSuJaSXLrWlJat6Cv UUTiFRuVdqbVJ9tdICI8OTfyj/xTZLREyEiRYavPy01YeWtOL+Y9Pa23EZLXLKE9I8WUi3dqhC5a qL6dK160A9tNISY8OTbyj/xSjRESMrFl9N/l5ps+meTNMsbi5W7uIkf1p0BCF2kZ2C13IUtxBPWl aDpmLPXQ1Z8aAqMuV+W36HcaPF4eIR7mRZFyXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXkvmzTdEk82q001wpnmlLBGTijolWAqK/GK/LOB7Ryx8fJtyPzc3H2P4gEr+p ItP0zyo3mjVII7m79dIojLIJ0dSHBEalN+JTrTiK9T1FcaWUCAJHp3oft6/gM/5D6WgtLsPJsuia vLJNdfV4Z5VuFVluPUMarVgOJ581K8famSnkIlEV6iBXSua/yIOdlS1C08lx+VNIuJJrpbO6MASA yKoT1ELKDwUk8ACCBWvyyUJk5JAD1C7Pev8AIo52UbqVh5Oj82aVayyXcl3NG5jnqpVRGp5b8erc W7fDX3yMcl4zID0irHf+PxyX+ROllGWWk6Ade1CETXIVY42a4EiGpdSI0NU2Kfap9P7WVnNHhBI2 3ofj8Hkv8heZSTTLbyTP5W1W5tvr0VtFJKstvVEZyqqWI41NGVlGx2pQVFMvySIyRid5GqPcv8iA 72Vt9B5HTylpV0zXptJlrFByRCFELuV341JjR141PqVp3wxlI5JRH1DmfiPuPXp8F/kUc7e8eVYb aHQLSK2ZnhRWAdzVmPNuRNAOrVzr+yJCWmgQK2/SXDy4PCkYdya5smt2KuxV2KuxV2KuxV2KuxV2 KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV595iXTh5lhZ7KNw0kgvC3qVqErEwAdUoab1Q8q/fzu qw4TmJlEcVu+008vhACW3wSjTpdNfzRqcTaZGLJIkMEnpTqWZ1Pq0cu0Tha/sqvHt0rlAw4LvgH4 57fim0zzUBxH7Ph0/tQujzqNF1aS50ZZ7uO5m+owqXtzKigGH45JW4cmLcjyANP2gASBp8FEcA+1 kcmawRIj5fqU9RuWHlXSZ4NGRdSdoDeW1JSVLLWULxkJ+FwOPN6KPDE6fBQHAPt+KjJm4j6j9nw6 IzUZoI/NGlwQaPE2mvGxu7k+qSvFT6Yp6ioAeKVLBi9eh3OJwYLB4B0/Z+OqBkzUfUfs+PT+xE2I sW13UA+nwjT1RPQIEodpHUmbrKycUWlCEWh6fZwjBg4r4B1/b+OinJm4QOI/Z8On9qU6feTSeVtV nvNChg1GOSYWtvWaQOibx1pIz/ESwIVgHpXpQ5EafBRHAPt++0nJm4h6j9n6lt7eyjypplxDoUX6 TehuLY+swV/SZgvwyo4DSKi1Zj6fKtOuE4MFAcA+39aRkzcR9R+z9T1zRPR/RduIYxFCFIjQCgCg mn39a986HSADFEAUHQam/ENmyjcyWh2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2 KuxV2KsS/Ne9lsvy+1i5jYoyJECQaVV5kRlPsysQcjLk7bsKIOsxg95+4vlu683zx3dqqJD6ErFZ QYxyrxJBB6dvDKrfSclxlEXsUU/m6coYxxeNATBC+8as32iF6LyoK0wW2nEOY+r7+60BpvnS+Z5x KIecJHpXMCcKPSpCk1NUPcYS4+AmZIkbA+XmG9W84X6Wwng9N5uspeL1WYnqzNUHxJO+ILLUAwjc fl+OQCLh83zGGNeSmKRQ0yIOMcjAfCxXvSp416VxttjjiQDzPf8Aq96Bh8++tqfopFD9V4sA/FeT OpHT2xcbHnE8nCDt70XqvnK/+rF4wJ7heCIXT1SsYooABI2RNgK422ZIcEbh39Pfuf0t6X50na39 RJFEpDpI8aeiSpqHRlBbYrsRXfG1xiOSNk3v9oPd3hAXPnuddRMKRxR28TIJHaLnXmK7sCOPthaZ 56yGNmhXf1+5M382ztG0QZfTUEwIw5JGzfaZU2G9BWnXI25nhDmPq7/uv3ILTvOF+XuGd4iIm428 0UYibmvVhQt0PQ4SWnDc7s3Ebe/vUda8830PomERvJIGeaR4xK7FQDvuPtHq2IatVk8OhHz+zyTC 385TPbxfZSOZFeaFKemzAfCSOjceRpXG3JxwEgJHnXyvnSXW3nq8bUlgmhhEchkHpiLiycKlfiOz cgO2FxYZicgib3vv2pHap51vAkQHCW4kZIY5JhzCIB8I+SqKKMFt2QCAAjtxS+08yyT8pfNl1ded tJt3CRzi79CSSFeAZeO/0MDuMI5ut7U9Wky8W/C+qsufM3Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FWLfmhpkWqeQtYsJZ/qwniUJNx5UkWRWjBFRszgKfnlmLCckhEcy3afXjRzGYixD+x8syflbr xliD32nepUmJTPICSAa0Hp77HMr+R8vfH7f1O8Pt9ozRMMu3lH/i0VP+VOoNYxrFqds9+xcXkDF0 iRNvTKSgMzlvir8Iph/kbL3x+39TD/k4OlJIMMnD/m3/ALr7ihNN/KjUUYV1OyWzDhbiSGaSdkUH 4+KFVBYA/Z5DH+R8p6x+39TGPt3o8USIwy/Gv+LLWqflbd+rU6np5teTfVZp5pIHdOxKhTQkUqvI 4/yPlHWP2/qSfbrR5QOLHkJHdX/FBGW/5WXxsHL6paLe/B9RhjLPDJHQ8y0tFKcfhpRTXH+RsveP t/Uk/wDBB0okAIZOH/Nv/dfpCF/5VRronVvrenCYKeP76SvGoqael8sH8j5e+P2/qT/o80V8Xh5L 90f+LRGs/lZcmhttUtJbMRxerJdM0BWYKBIo4iTZZKgNXfD/ACPl7x9v6mMfb3SzjU4ZOfTh/wCK G7tF/K25ofX1Szjs/Tl9GS1ZrgtLxYRqeQj2aSgLV2x/kfL3j7f1LL290sIiMMeT48P/ABRQU/5S 6s1xG015pomc/uw08oLFfb0/ipj/ACPl74/b+pZ+3GhnLiOPJfuj/wAWmE35XX6WUbx6ram+Bc3s UhdIY0FPTZJaMX5fFWqimP8AI2XvH2/qZR/4IWm4j6Mlf5t/7r9JQmnflnfuUT9KaeLKMgTvbyvM 6IT8RCcV5GlTQsK4/wAjZT1j9v6kn2+0kIVHHkHdtH/ilup/lVfeqX/SdibXkVtp5ppLd3Q9OShW oWHVeRx/kfKOsft/U1n260eQAyhlvyr/AIoIyD8qr9bGRZNTtY75SgsrdObQvHv6heQhSnH4afCa 4/yNl7x9v6mX/JwdLEgCE+H/ADfs9X6UDF+U+sC5cx32nGdftr9YlYry3+z6fw1wfyPl74/b+pY+ 3WijLiEMt/5v/Fo7VvyqvHI+qalaT2gijMr3LPCyyqg9UDiJPhR6gNXD/I+XvH2/qRH2+0s41OGT n04f+KG/4DIfym/Lm80zzxo17d3tqLSGb1EFs7ys7lTwHxKmzNSp3yE+y8kAZEjb3/qatR7ZabPi ODHCcTPbeq/3RL6kzDdM7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqw784Lo2v5cazcA0MawkH/ AKOIxmf2Z/jEfj9xcLtGN4JD8c3yXqOutPqOnXYAM1tK1ZafEEMb7V8K52Eo7h5nHAiMh3j9KMn8 2O0U4cs6OhDopPJhQ1AoQanJECmqOA2En8ua19VN7NHE1mtxwUWvBkVUQEKakDkx/aOV4t7JFOVq cZNC+LzVPMmuvf6elsUaQn7MiIshWlDxNSGUPTcjHLy2DHS4+GV2mVr5qmjgtlNIjHGF9NPsr8IH FfYU2ywDZonhskpRaa3rC+YhqN0yuzxyRl1diqR1XgigqKfx3OVRieLcOVOEPC4Y+SO1/XmvdOa2 cu6FkchArn4WD/Zc0b5ZKQ2asOMxnbegeZbuDTUhlVYSpcqiIsVRUkFkT4VY96YwG2658IM9t0n1 LVtQk8wNfcPrHJ4PQ9SNJEVYx8Q5tvF8W+3XK5WJbByMUY+HV1z/AB5skbzWziRZCHSQcXVtwQRQ gg5kUHAGEjdLND1ZbJLq4WJLaW9bk0UahAkaiiJRaDpufc5CA2suRniZULsBA+a9Vn1E2lFZ1ijl XmE9ahdQAOB6dPtdshl8m3SR4bvy8vx7k60/zRcQ2VnExKNDCsZWtaEKBSv0ZZEbC3FyYbkSO9Id Nv7m28wR3UfJUia4aWZkCPJ6pJAZwzep8R2yqIPF5OZkAOKupr8eSca7r813bwxkGeBJkluLcb+o gBJFD9rcg075OY2tx8OPhJ6bbMl/JbVpU866VaBTDb3GoF4LY7cEYV40HTcE07Zh60f4PM+TlYIX ngedc31/nGvUOxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KpV5pW0fy/ex3kST2sqCOeGQBlZJGC kEH55h9oameHDLJA1KPI/FrzfSXh+oeVPyus9T0+zPlsSRX7tH9ZFzOFR1QuAV9XkahTmjh7Va+U SfE5eQ/U67wodyb3flP8tjpy2r6DC9tZc5YY4jIszM4HIGRXWSQniKBmOUQ9qtfxX4h3936k8EOV JJ5b0b8s7m+uFbyutjqGmmKUwzzyXC0kBePkpkdD9n4kYZkZ/afXiIPi2JX0H6l8OA3przho35ba ZbnVX8sQ3XrOTOI7mW2AdyKBI1bjuSfhRdsdL7T6+fp8U/IfqXw4HonVl5T/AC5GmfVDoEEUV6I5 riJneWRXQbBZizOtOZB4MAcx5+1ev4r8Q7eQ/UvBDlSSRaF+T83mJtEh0ESSRxPJNcCe59NXQrWP +93YB6nwzJPtP2iIcZyfZH9S+FDuR3m/Sfy1trA6pd+X4J5IRDbJHFI9qvEERJyMbIuy9WIrlem9 pteZcIyH5A/oXgjLmFXyx5f/AC6+prqMGgWsMtwkkJUzm+T03rG3FmZ0qVruNxkc/tPr74fEO3kB +hRCI5BJbzSvykh19dGh8upNMGjW4c3skXH1QCvBZJlaQhTUhcyI+0vaBhx+Ia/qj9Wy+DDuZJd+ Ufy6fTlsxoNvJFac5LaJXeKRncCoaZWDtXiB8bGmYkfavX8V+Id/IfqXghypJPLWhfl5cX10ZPKk VnPpkiAF7mS6iaWnPiVLlG47cgQRvl+f2o1wiKyk8XkB+hfDgN6UfONj+V2lSxXE3lmO4nvTLK/C 4ktYl4Dm/ECRUBNfhRR8slpfaTtCYoZOXkP1KMUD0T3TvLH5aS6QsUWhQpaaisVxJHKZGmUhaoBI ztJGRzNQrDMfJ7U68T/vDt7v1LwRG1Ma06x/KO91mPTv8NeklwZls7g3Ux5m3LCTlGJecf2TTl1z Ln7SdoRjxeJyq9h1+C+DDuT3zPon5arHDc3Pl6K5u3MdlaW9szW/MqvGNTweJNlTdjvTMfB7Ta/c DIa58h+r8FeCJ5hMfy10r8v01m3v9K0NdP1W3na1lSWR5nikpR+JZ5F+y2zLvTMnF7QazLmhjnk4 oS8huPk2YoRjIUHtOdE7B2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVJfOVpd3flm/gs1DXJRWj UkCpR1cgE9yF2zB7ShxaeY8mE4GQoPEbvy55oup7OZ9PuQ1nKZkATqTG0dD/AMHXOJhHhBHe4402 TuRVzoHnP6mZY7SWNpwyRleLyRsBszR1qOu1Rvj4AAB2Pl+vuX8pk7kr8ueS/OGnLLb+hPcNdScm mmjWI82J5NJISa9erHbLctZCNuH47fsTLTZD/Cqa75Q843o+rejcxInKOVY4454pFO1fiDKenwsM GMDGTsD5/tCjTZB/CjrPy15shsEEVhKIbNUhVHIErALQEKTyanHemQOHiuRI5/f3BH5XJ3JPZfl/ rFlqcd/a6bexvGJf3XKRkLSkEmjE+HT6e2WTyylHhP3dzI6fJXJNtY8secHh+rC2nR2CSrLAI5gC QGCsCHXY7MMj4QhLpLbv8vJA0uQfwqPl3yb5osbU2UNnNt6s8ks3CIM5q5Cj4VFTsqjJSj4s7NDb 7h5qdNkPRKdS/LzzDfam18bS8jErwyXMSxqebQCkZVyOSbdaHJY8pjHhrvr4pGnyAfSyN9C83pAl x9QkIlJUIpVpF492QHkta7VzHOAcINj9LH8pk7kDo3lXzTZ20dlFYzl3ZmluJQE5ySNVpJGNANzk 5x45WdvuCTpch6ILzH5C80alPH6lpMslsskQIiS4iYPQFlDVWu2zDLMUvDsc/ce7zHRMdNkH8Kaa f5X8122mRJFZTGGyRIVWQqJWAFAQpILU470GVyxcVyNc/v7gxOlyHekntfIXmKHWzqz2NxJOpkaI C3jjIMuzF2jVTJsaDllkslw4Onx/AZHT5Kqk01zyj5quEihe0nWWJo7q3uLfhJ6cnGor9pajkVZT /bkeDw5dDY+8eSBpcg6Jr+XXljzFYeYLQT20/F7hrq9u7gKnJyu5oAB+yAqgf1zM0A4tTA7CuTKO nmDZGwe452jkOxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KpZ5kn9DRbiXpx4fjIozV9tf4pP4fe HL0MeLLEfjk8l8w6/ex6/wCXpYbyaOOS6khntkekUimCR6uo+0QVFK5wuAkwnfQX9oehOmA2rmnN 55i4W107XP1ZViYtcnj+7AU/H8Xw/D13zGhxcQ62k6QAMR/L3zXPdtq0kWrS6jpYMa2Yu5lluQQG EkjKKNGkjfYVvDtmfr4SiIgjhl1rl+3zYwwRlyXfmX5mZNHhS31V9O1GjSW/G7ktA6IFMgqtFd6U Cqx74OzoyMtxxR91+5ZYBHmybSPMfq6Zp0ivKVe2jZTOeUxBRT+8Pd/5vfMPLxCZ8iWQ0oItiGk/ mB5gvfzAWO7ju7PTpILiO1sZIZESkTIRO5YBWLb7jZdh3zY5cIjgsEGVizff0axgBNUnfnnzDdL5 bkW31AadK88Si5aZ7cAeqCymWMFk5AEVzG0d+JuOIV7+nczlphHcu8i+bDe+W4pazErLJG0k9w10 XKSEFkmfd0P7P3Y6yEo5CPK+VdO5EdOJbsW8x/mDq1t55kgmu5ksbSayS2tILgQSSLOFLsIjG/1g c/hYE7DpTqM3Bg4sAI+oiW9Xy872YnDGJqno02terHPE0jIsicWdGKOAwIqrDdSOxGacSkDbb+UY v5E1W6Mep6j9fu7nTbqUx6Yl3PJOfRgqhlBkJI9V6n5UzN1sjtCgJAequ89PgiOnEt6Sn80fN2rw yaZb6fqEtpzhuZZFS4FmrFEXgfWYryKk/wB33y/s2FiXELqul/Z+ljPAInkzHQPNE11oul3MsrSS zWsbySOAjMzIpZio2FT4Zr84Mckh3Eso6UEWwby9518wt58gtH1B7uGV739IBbmOeAJGW9EpAvxW /E8F+L7WbTPjAwGVUfTWxB89+rWMIJqmUedfNV1babaKl29jaXF7HDf3sbBHigctyYOa8KsFXl2r mFpIkyPUiNgd5ZS0wjuUd+V3mO7vpDDJdvfWkWoSQafeysGeW3XjxYuAOdGLLy70zYaWJGrx7UTR I7i4+pwDwpSD2HO9ecdirsVdirsVdirsVdirsVdirsVdirsVdirsVQWtWlvd6XcW1wSIpQFLKaMD yFCK16HfMbV44zxSjLkW/TZJQyCUeYec3uieVrTVbHS7nVZ1v74sbOP0+XIqpLfGFKrsD1Oc1/JG EbcUnoB2plIvgjsj7ryboEdm7T3ssaRK73U7lOJjpU8gRQBQDkz2TgoCyCOrAdqZb+mNHok/ljSP IWrid9G1GSZICn1qNYfq7FWBKVDIjcWFeLDBHsvCTZlI0yl2jlj/AARFrvM+k+UNFto7jU7q7Fox LIUtzcLHwpu7IjBacti1K4JdlYQbEpC1h2llltwxKa2flPQbqyiuI7y4cXKJNbzMAhVGHLdCoPxA ivLcYY9kYOGrO/VjLtTNf0x2QZ0HyuNbXRv0tKdVMDXAgCqWEIYAkkLQVNNid8j/ACPh5cUmf8qZ avgiv1/QPK+l6e99d3txDZrwidAomZ3dhGKKqliXY9AMnk7KwcwZBhj7TzHYxiV+ieW/L19ZJdxX F59XYMkcU0RtnUiqg8HRW+E7jamOPsnBzJkVydp5RsIxCXajpnkm01eDTrvVZW1EsgRFh9UxmU0T myIwj5npyIrkP5JwjbikzHaWU78EU5ufKGiQWrytd3KmBWkmkRRIzKBWgjVSSQBsFFTkz2Rg4as7 dWA7Vy39Md0q0LTvJ2qzz21hqN1I1iIzdW0lvJbFVkBKCksUdOQU9MhHsnBd3Is59pZgPpiPx71L zRp3kTRVgGr6jMiXBZraD0frDBYxVmoiMaIp3amGXZeEGxKQtEe0cstuCJpObTyloFzZxzw30s6X KJLa3KlOPpsOVQKUIcEZIdkYKqzv1YntTNf0x26JJp9l5DvNal06z1iRtSJcNSIL6hhJDhJCgWTh TfixpkP5KwnbikzPaWUC+CKZ63oHlXTbJry91Ga0tABEwYLIXc/DRVClmZz+yBk8nZOA72Qwh2nm OxjEovydpPlq4ltdU03UJL2CNisaUCBXX4eLrxVlKfymmX6Ls3DDKJgklp1evySxmBiIvQc6R0Ls VdirsVdirsVdirsVdirsVdirsVdirsVdiqA19nTSLh1BJUKxp4BgSfoGY2rvwjTkaWvEFvMtaMt/ qOi3MU0app121xMGbcqYJI/hoDvycdc0Hiu98FMbvVLkWs0kAR5GRhbiUlYnkANFZgG2qRyoDj4h 5nkjwRy6sb8mQ61Zz6jeaysMmragyGS5gnMocJyVIY4jHH6SIOg5MSThOQdE+Ftuu89watrOnR6b bJaywEk3CXM01vJHKoHpSI0Qb7DVLKy+GPidCoxdQn+nXt3Dp9qlxObmW3hSO6uuzSBQCx8ObAnB 4h59EeEOXVh+jeV9S0zzgmutrKXqSrcG9aSNUmdpuHFKgn4Rw23HGlAKHHxQy8I8mQ+bY59S0Z7E RQTOzxzfV7t5oUdVYSKRJCVkU9CrCownJXNjHF1CzyVFqumaFHYX1yLq5R5JAsbvMsURYssYd/jZ Y17t+rEZLOyyxAbljGu+XNen84T6zpd7FCt7NaStc+vNHJbi2UJIvop+6mEir+18sRlDLwjyeg/p RgDITRG2RyaKSOoB9q4PEPNj4I5JL5VhuNOs7h7yVJ9Y1KZ7m+kiJZTI+yRpUBuMaBVXHxd9knFt ukX5i6Jqevy2Bg9OSO1iuIpLdpzayLJOqoH9QJKSq0+JNq++EZB1UY65Mq0Oe7stFsLa4lWaSzt4 4LieIUj5qgXagAAPHbYYPEPMckHELo82HaN5a1C28422qTSxQabpz3clnbx3MkyFrvkCI4nRRCPj LPRjVum2E5RTLwiyTzZFf31vYvavGl9p13Hf28VyWSOTiGAViAxAZXqrUOJyUd2IxbbI38u7e+tb yX628b32p3z31xFbszRR81UcVLBSeKpu1Nzl+lneUANOqx1jJL1POgdC7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq+VLjzCNUlN/qapd3lz+8llmUOatvxXlXiq9Ao2Ayjm+v48Hgjgx+mI7tvwUsu vNHlq1uktZYIPWcgcRCppy6ciF2xpjPOYmjOV+8pgmo6ejB4oIopFNUkjUI6kdCrLRgfcY7NhEyK JJHnuib/AM33mtOkusS/XXgRIYhNRlCogBYKfh5OaszUqcbvm04NFDACMQ4LJJr3/cOQCS6h5r8t WEgjnt4TIRXgkKsQPfbbGk5NQYGjOXzKJs9b0K9gE9vb27xnavpKCCOxBGNBshknIWJS+ZTCXzrq N7aLo15O0+mWLc4IJCWB9QAgPX7QjoeAPSuNtUNBjhM5YCskuZHl3d19e9J9S8z+XtOZFuLSKsgJ XjAp6e9MaDLLnlDnKXzK3TvNflzUJWit7WLmq8iGgUbVp1p740jHqJTNCUvmU6i866jZWjaNZztB pl83OeCMlQPTBJCU+yJKjmB1pjaJ6DHOYyzF5I8ifPv766dyG+vaX/yyW/8AyKT+mOzf+8/nS+ZQ q+YPL7X7WK29ubhV5MoiWnyrSlcaDWMsuLh45X7ymlh5vvNFd5dHl+pPOjwyiGiqVdCAxUfDyQ0Z WpUY3XJhn0UM4Ayjjogi/f8AceRCDuNV0xUkuLiGKQqDJLNIgkc03ZmZgWY/PHZt9cR9RAHdsEnj 89eVXdUFolWIA/0de+3YY00DWX/HL5lPrfzCNLlF/pipaXlt+8ilhUIarvxbjTkrdCp2Ix5N2TB4 w4Mnqie/f8F1x5hGqSm/1NUu7y5/eSyzKHNW34ryrxVegUbAY81x4PBHBj9MR3bfgpLd+dfK1rcG B7aJ3U0cpAhVT4E0/VjTVPVGJrjl8ymdrrGlSJHc2sUS1o8U0SCNwR0KsoVlIx2bgZTH1ExPxCNv /N95rTpLrEv114ESGITUZQqIAWCn4eTmrM1KnG75tWDRQwAjEOCySa9/3DkAx+785+WLS4e3ltI/ UjNGpAtOlfDGkT1RiaMpfMovTvMOg6hE0lvawlUPFg0KqQevhjQbMeWUxYlL5lNJfOuo3toujXk7 T6ZYtzggkJYH1ACA9ftCOh4A9K42whoMcJnLAVklzI8u7uvr3pTqXmXy9p6qbi2g5P8AZjWFGY09 qY0GWTNKHOcvmXab5l8vagrG3toOSfajaFFYV9qY0Fx5pT5Tl8ym0XnXUbK0bRrOdoNMvm5zwRkq B6YJISn2RJUcwOtMbYz0GOcxlmLyR5E+ff3107kuvdc0KygM9xb26INh+6QknwAAxoNmTJOAsyl8 yhNO83eWr+X0obaFZeqpJCik08NiMaa8epMzQnK/eU9sPN95orvLo8v1J50eGUQ0VSroQGKj4eSG jK1KjG65Ln0UM4Ayjjogi/f9x5EISfVdMVXnuYYWO7yzSqrse5ZnarE+5x2bvVEfUQB50Eoh88eV JZxCLeJamiyNAoQn502+nGnHGrs1xy+ZTy38wjS5Rf6YqWl5bfvIpYVCGq78W405K3QqdiMeTdkw eMODJ6onv3/BYNFqBEaCvQAfhkXK4kq1+5VhbPQc/WUFqb032rkg6/XkARP9IJv+kG8ci7C3G/Km leyn/hRhYxlYQF1f2Fi8l4yD6xNt4s21KCvT3xG7jZsmPDcz9R+1T0KSa2t5HkHBp35+mNuI7YSW OigYxJltxG6R6X5Eshr14/hkXM4ll7f3ZtZBbMPXI+Ak0+eENeYy4DwfUlmg35tpZbSWMpdf3kkh PIv9P04S4OhycMjjkKnz96bPfkyxmvTl+ORdlxITV/MDWsAWNv38uyV6D/KOSAtw9ZqxijQ+opRp t3b22rRuLgScoz6kpOxkY77nCeTgafJCOYeq9ufmyb68WNK9Ax+5TkXdSlShe3Uk9nNCp+KRGUV8 SMbY5o8UCBzISlNT1nTLWMyCNraOilAfiA+eS2LrvEzYIAyA4QnT6jzhJB2ZdvkRkXaCQq1kmoyJ ZsUb4ljJX5hcWOSdRJHcx7TLnUkspHgjiMXxF/UFWkp1G+SNOm0xy+GZREa8+qfadrAns45EURin H0x0FNqD2yJdrpswyYxICkSb8qaV7Kf+FGLbGVhBavrT29m3psfWl+COnWp7/RhDjazUeHDb6jsF 2lsLKzSEH4vtSHxY9f6YCWzTY/DgB16q6X5Eshr14/hgbuJKNSvphrUEtqvq3KR0ZGpxA33qSKdc kOTrNTMjOOAXKuTtNvZjrU8t0vpXLR/Ci04laiprU16YnkummTnlxipVyTd78mWM16cvxyLs+JLt dkuJ/q00a+sLd+TQ9eQNO30ZIFwtbCR4ZRF8J5IG71aa51GwkFu0DI4ClhQt8QqO2ww04eXUGeSH pMd+rIxfljSvZj/wpyLuJSoJV5j1B208IGIV5FD/AOrQn9YwxcLtGdY/iv1aS2/RDxhQEiUGKlNj UUp88RzZ6uMRhPcOSvZahI2lxBz8RiAP3bYC26ad44k9yBkM0EjwTI0c0TGOWNhRldTRlIPQgjGm mGYGIIQ11GlysYZyvpuHBArWnbCGvPAZAATVG1c3HfBTf4qvex3VrMkdzG0TvFDMiuKExyxK8bD2 ZWBGEhpw6gSBo9T96T3NjLLdm5W5KtWqArXj7DfthBcPNpZTycYn7tuX2ou1aaKMrLOZnJqGIAoP DAXMwGUY1KXEUU8N3HbxXkkbLbXLOkEpBCu0PH1OJ78eYrjSY6gGRje4pA3cHryJNHM0M6DiHXcU 60IqMQ06jFxyEhIxkGrS3EEjzSStNO4oZG2oPACp8MSunw+HIyJ4pnqj0iu5LeS7jiZ7a2ZEuJQC VRpeXphj25cDTGm6WoAkI3ubUJGikAEiLIB0DANT78DKZjL6gD71AWtqLtbhVVeK0EYVQvKuzfPC 0DBjGQTAHLlQr3pjZR3V1M8dtG0rpFNM6oKkRxRM8jH2VVJOIDZm1AiBZ6j70JOUnheJyeDihIND 44GWWpxMTyKC+oSPxSe7eWBCCIyKVp4mpyVuD+UJoTmZRHT8FM4/WnkSCBDJNKRHFEgqzMxoqqB3 JNBkac+eYRiSeTpPWgkeCdDHNETHLE4oyspoysD3BFDjSwzCUQRySz6hIgeOC6eK3cmsVK0r1ANR krcH8qRYhMxgeiNg9OCFYo9kQbV6+JJwObi4ccREcgi72O6tZkjuY2id4oZkVxQmOWJXjYezKwIx IY4dQJA0ep+9AzRRy3MNwzE+iDxj/Zr/ADYscmMSnGZP09P0q/r4KcjxFR4buO3ivJI2W2uWdIJS CFdoePqcT348xXDTVHUAyMb3FIC6tvWmWeKZoJ1HHkoqCPcVGIaM+HjkJxlwyDrW39KZriWZp52H HkRQAewqcSuDDwSM5S4pI9IruS3ku44me2tmRLiUAlUaXl6YY9uXA0xpvlqAJCN7m0JdqbiMKszw sp5K6Hv7ioxDHUR8SNCRifJRt7UpOLiedriVRRC2wX8TiWnDg4Z8c5GcunkmllHdXUzx20bSukU0 zqgqRHFEzyMfZVUk4gN+bUCIFnqPvQk/pzwtFJujDenX5jFll4ckTE8ighp8jKsU108lsh2ipTYd BWpw24P5QkCMpkwHT8FMovVmdLe3QvLIRHDEgqWZvhVVA7k7DI0588ojE9AA9y1rTvKfmXUJda1K xiF1eH1GEIEWzfZ5cAC7U+0zbk5138mYo7cN113/AFvgeP2k1sR6ckox6Dbb5gpXN5V/LSCSOOeG OKSU8YkebizE7AKCd8f5OxfzB9v620e0vaB5ZZfKP/Eoq38oeRbeZJ4bFPVjIZPVpMlR/NHIGRh7 EYf5OxfzB9v62EvabXkV40v9j/xKceaLzQvOc0E+sWMANpGsMfpKFeoUF6yU58OZPFK0A98A7KxR FEcXv/Y14/aLVRP7uZxjuFc+p3BY1eeWvyvsgpvI4rYN9kzT+mD8uRGP8nYv5g+39bfH2l7Qlyyz Pwj/AMSrxeTfy8kRZYrQOjCqOshZSPEbkHH+TsX8wfb+tB9ptfy8aXyj/wASyDUdW0jWNDt/K93Y 2v6O00/AUhjU8WFY/TooER+1zKAV9t8f5KxA8VWD07u9x4+0GqBuMyJ9ZdZd3kxe88uflbYlRerD al68PWuPT5U605MK4/ydi/mD7f1uVH2k7RlyyzPwj/xLrPy7+Vl6zLZLDdMgBcQ3AkIB6V4saY/y di/mD7f1rL2k7RjzyzHwj/xLKNO1bSNH0O48r2lja/o7Uj8ZeGNjxUVk9SqkSn7PAuDT32x/krET xVQHTv7nFl7Qaom5TJn0l1j3+SQnyT5AJr9S/wCHYfqx/k7F/MH2/rb/APRPr/8AVpfKP/Eqf+Ef y4+sfV/qy/WOPP0fVPPjWnLjWtPfH+TsX8wfb+tP+ibtCr8WXyj/AMSyDyveaF5Mmnn0exgJu42h k9VQz1KkpSSnPhzA5JWhHvieysUhQHD7v2tOT2i1Uj+8mcg7jXPodgEmufKXkSaWS5uLKNXcl5DH SGMdzxjjCog9gMP8nYv5g+39bZH2m14FeNL5R/4lK00z8n3dUSa0Z2ICqLtSSTsAAGwfydi/mD7f 1tv+iLtL/VJ/6WP/ABLINE0/yn5Z1CPWdNsYjdWh9QCYCXZd24FwSj0+yy0IOP8AJmKW3DV9d/1t GT2k1sh6skpR6jbf5ANa1p3lPzLqEutalYxC6vD6jCECLZvs8uABdqfaZtycf5MxR24brrv+tcft JrYj05JRj0G23zBSW60H8qbSUQ3XoW8xoRHLchGoemzMDj/J2L+YPt/W3R9pO0TuMs/lH/iUfbeU vIkEsdzb2SM6EPGZKTRk9RyjkDI49iMP8nYv5g+39bXL2m15FeNL/Y/8SnPmi80LznNBPrFjADaR rDH6ShXqFBeslOfDmTxStAPfAOysURRHF7/2NeP2i1UT+7mcY7hXPqdwWK3GjflJbTNBcvbQzJ9u KS6VGFRXdSwOP8nYv5g+39bkj2j7RIsZZ/KP/Eq9n5X/ACzvI/Ws4Y7mMHiZIpvUXkN6VBIx/k7F /MH2/rYy9pe0Bscsx8I/8SyXUdW0jWNDt/K93Y2v6O00/AUhjU8WFY/TooER+1zKAV9t8f5KxA8V WD07u9xo+0GqBuMyJ9ZdZd3kxu68q/lpZxerdwx28VaepLNwWvhViBj/ACdi/mD7f1uTH2l7QPLL L5R/4l1r5V/LS8i9W0hjuIq09SKbmtfCqkjH+TsX8wfb+tZe0vaA55ZfKP8AxLJNO1bSNH0O48r2 lja/o7Uj8ZeGNjxUVk9SqkSn7PAuDT32x/krETxVQHTv7nGl7Qaom5TJn0l1j3+THpvJ/wCXcUbS zWqxxqKvI0pVQPEmoAx/k7F/MH2/rcge02v5DNL5R/4lQs/Ln5W3pYWSw3JT7fo3HqU+fFjj/J2L +YPt/Wyl7Sdox55Zj4R/4lk3le80LyZNPPo9jATdxtDJ6qhnqVJSklOfDmByStCPfE9lYpCgOH3f tcfJ7RaqR/eTOQdxrn0OwCT3HlDyLcTPPNYp6shLP6VIUqf5Y4wqKPYDD/J2L+YPt/W2R9pteBXj S/2P/EpfDoX5UT3H1aE28txuPRS5DPt1+ENXB/J2L+YPt/W2H2j7RAs5Z17o/wDEp3omn+U/LOoR 6zptjEbq0PqATAS7Lu3AuCUen2WWhBx/kzFLbhq+u/62nJ7Sa2Q9WSUo9Rtv8gGEwa6ywRry6KB9 wzdmLoOFiPnT6o95Z6koP1uS4iSRuRI4qDSg6DplWQVTsdHKVGPSizL9PN/NlvA67hKyPW2So5dT X7wMeG0mDH9UtNElvbrVtXka4jKgKkjEJGoFKLxIO56D+ORMANy5WPLkoQgKKzyHqU9rps4qyWkk 7PaRuakJ/n+ORxCxbLXD1DvrdP49bYXMzcvtBPwBy3hcLgS7zJeWVxZvdTWCahcQLSFCKt8RHhvQ dchONC3I05lxVxcIKSeQLzTrZ7iUEjVXBEsbLw4R8uiDwJpX6MrxUfe5WvE9v5jLJNbY3MLcvsh/ xAy/hdbwIfWfOaabZNOx5yn4YIh1d+w+Xjlc6iG7BpzklTFNButSg84JdahIXvLi3aWQH9nlUBPo A+jK4g8VFzs5icPp5A0zeTW2eg5dDX7gcv4adYIIPXdYnn0W+giq0ksEiKq7k8lIoB75GUNmzAKm Ce9hOm3+kWMVqdT0J1CkBr1+ZBatamM0GUiQHMOzyQnMngmPc9Bm10vbyANUMhofmMyBF0/AVJ/M T2+ntIpqYYSwH+qtf4Yyj1ZRx2QHnFhf2c8Fxdahpk+pTSuz3N6HZeHf4eIp7mv6sxYy25O6yQII EZCPcHoOha7ZrpFqtizC1VOMQc1YUNCDXvXMiIBFh1GeEhM8XNGR62yVHLqa/eBkuG2swY75l/w7 HbXWpXFnHJdP0JLDlI2y1AIHuchMCIty9NLJKQiDsreSz+idHVW2nuT60viKj4V+gfjjCG27HVz4 57cgnEetsLmZuX2gn4A5ZwuLwMR836pbv5jsJr9TeWaxEfU0b4g1T8XGorXb50zHyERkHZ6SBOKX Dsb5u8oapbp5jv5rBDZ2RiA+pu3xFqj4uNTSm/yr74cdSkV1cSMURLeV82XSa2xuYW5fZD/iBl/C 6zgY3591WS4j09ZmY6as9b1UruKrTp7cqZTlFV3OfoY7yr6q2SmTWdFtfMOlz+X6xfGI7oJzCsjs o40fvStfoyBnGxTkRxZDjl4nwZ9JrbPQcuhr9wOZHDTqRBIvO/mO6XQ2igkKG5kWB2BoQrAk7+/G mV5fSHL0WO8m/QWlmtaJo9poZks1MV7ZgSLchjyZlIrXfv2p0xnCo22YNTOWSjyLI9P8yz3eiQyz N+9lgHqHxbjQn6Tk4CwC4mbFwzIHexdNRPBd+wyYLkHEhNUEl9HAqSKphnSQ8yR8IqDT78qywMqr vbsJECb6hGtqNSaHbLbaPCbfUCG60+FfxUZGJZSxJFq0erXd+HKxT2cRrDCZOKnbqwqrV8cxssZm XKw5mCWOEOoketJtaajeGD/SkjhkBoiRNyHED6affmRjMq9QpxMmKN+kk+9UXUG5sa7Ggr8sle6D i2Ql9eat60c9jMhVV4vbS7KxrXlXb9YyrJx3cfk24oY6ImPiFDTxdrqE2o3rRi4lQRrFFuANtyd/ 5fE5HHCXEZSZ5THgEI3Q70ybUG5qa7Cor88vvdxxi2QuoRWN/wAPrSljHXiQxGx6/qyE8cZc2zFK UPpQMWi2cWoR3EZ/0aNeXAu3P1Vbbp2plQ04Er6N51MjAg/V+hO11Bi3Xsx/4UnL5FxI4lK4vZ5L eSOGb0ZWFElIrxNfD8MZWRtzWEACCRYSm5Ou38K2l48EdvyBlnQ1Zgv+TX+AzGMcktjVOXDwoHij d9ybtfhYiqmiqtFHsBtmV0cMY93C+V4uD7oy8WHiCKHHmE+HRSeAa3ZW0lja+jLbMW4TswVlD9aq SN/oOYojkiOEUQ5kjimeKVg9yY6Yy2FlHbK/IpUuw6FiamntmRjjwxpxs3rkZIt9QIbrT4V/FRhi WEsSXaij315aNI6mygq8kRJ5NJXYU8CKfjleSBlIfzW7FIQjKvqKYfpE/wA2XW4/hLV1BubGuxoK /LBe7I4tktvBejUk1KxaN5gnpvFKaCniDt+vKMkZcXFFyMZjwcErrybs/rv6SfUb1o0lKekkURrt 4sd/1444y4uKS5DHg4I3V3umLag3NTXYVFfnl97uOMWyhqF7fyW/GzeMSVq6Siodf5d9v8+uQycV elnihEH1XXkl9tDdy30V3fJDAlt8UNvBShf+Y8Sw7V65TCEjK5UKb5ziImMLN9SnSagS3Wvwt+Cn MiRcWOJCamY9Qs3tpG41oyP14sOh/hgyR4o0zwk45cQS+Z9fu7YWNy8MdvsJblW5O6r7A1/AZjkZ ZDhNV3uRHwoHijd9ybLeJDbiKPaONAiD2UUGZQoCnEMCTZe9+YvyJ8l6xq9xqVldXWlw3TmQ2sJj eMMxqWQOtUBrXjWg7Z5SPbbUDaAhwjlxAkkfAh3k9PCRsbJb/wBC4+Wf+r3e/wDAw/8ANOH/AEca vux/6WX/ABbD8pHvVIP+cdfKkcyPNq17PEpBeGsUfMD9nmEYivtifbjV/wA3H8pD/fH7lGlinvnH 8nfIfmO6t7ixE2jPBBFbv9VK8HWKMIgZHVviRQF5V3pvXrkR7aZobYxEx5+q+Z3I2I/tbcuKEzsK Y9/0Lj5Z/wCr3e/8DD/zTkv9HGr7sf8ApZf8W1flI97v+hcfLP8A1e73/gYf+acf9HGr7sfyl/xa /lIsk1T8oPy9vvLFjoVvDNZ3Ng7v+kY5AZy0lOZkLKVk9Sg24jjTamRHtrmHqiB4h+oH6RXKuu/9 rbLFAxEa5Mb/AOhcfLP/AFe73/gYf+acl/o41fdj/wBLL/i2r8pHvd/0Lj5Z/wCr3e/8DD/zTj/o 41fdj/0sv+LX8pHvZJpf5Qfl7Y+WL7QriGa8ub90f9IySATho68DGVULH6dTtxPKu9cifbXMfVID xB9IH0m+d9dv7G2OKAiY1zY3/wBC4+Wf+r3e/wDAw/8ANOS/0cavux/KX/FtX5SLv+hcfLP/AFe7 3/gYf+acf9HGr7sf+ll/xa/lI97IfJ35O+Q/Ll1cXF8JtZeeCW3T60V4IssZRwqIq/E6kryrtXan XIn20zT2yCIjz9N8xuBuT/a24sUIHcWkU/8Azjr5Ukmd4dWvoImJKQ1ik4A/s8yik098kPbjV/zc fykf98PuajpYqf8A0Lj5Z/6vd7/wMP8AzTj/AKONX3Y/9LL/AItfyke9MvLv5E+S9H1e31K9urrV IbVxILWYxpGWU1DOEWrgUrxrQ98B9ttQdpiHCefCCCB8SWcNPCJs7u8xfkT5L1jV7jUrK6utLhun MhtYTG8YZjUsgdaoDWvGtB2xHttqBtAQ4Ry4gSSPgQs9PCRsbJb/ANC4+Wf+r3e/8DD/AM04f9HG r7sf+ll/xbD8pHvVIP8AnHXypHMjzatezxKQXhrFHzA/Z5hGIr7Yn241f83H8pD/AHx+5RpYp75x /J3yH5jure4sRNozwQRW7/VSvB1ijCIGR1b4kUBeVd6b165Ee2maG2MRMefqvmdyNiP7W3LihM7C mPf9C4+Wf+r3e/8AAw/805L/AEcavux/6WX/ABbV+Uj3u/6Fx8s/9Xu9/wCBh/5px/0cavux/KX/ ABa/lIsk1T8oPy9vvLFjoVvDNZ3Ng7v+kY5AZy0lOZkLKVk9Sg24jjTamRHtrmHqiB4h+oH6RXKu u/8Aa2yxQMRGuTG/+hcfLP8A1e73/gYf+acl/o41fdj/ANLL/i2r8pHvd/0Lj5Z/6vd7/wADD/zT j/o41fdj/wBLL/i1/KR72SaX+UH5e2Pli+0K4hmvLm/dH/SMkgE4aOvAxlVCx+nU7cTyrvXIn21z H1SA8QfSB9JvnfXb+xtjigImNc2N/wDQuPln/q93v/Aw/wDNOS/0cavux/KX/FtX5SLv+hcfLP8A 1e73/gYf+acf9HGr7sf+ll/xa/lI97IfJ35O+Q/Ll1cXF8JtZeeCW3T60V4IssZRwqIq/E6kryrt XanXIn20zT2yCIjz9N8xuBuT/a24sUIHcWkU/wDzjr5Ukmd4dWvoImJKQ1ik4A/s8yik098kPbjV /wA3H8pH/fD7mo6WKn/0Lj5Z/wCr3e/8DD/zTj/o41fdj/0sv+LX8pHvTLy7+RPkvR9Xt9Svbq61 SG1cSC1mMaRllNQzhFq4FK8a0PfAfbbUHaYhwnnwgggfElnDTwibO6fw6vSGMcv2R+rOA3DIHZgv 5gahrFpqmm6lb6tOlvJdQwrYoSqKerMSp+LlTowzZaMxlExI3o7s47s9/S/+VmtssLWQ6tQN8XfC bCgsV1vT9d1fVp5rrWXsNIhQfVIrR2Rq0qzSk0Gx/wAxmXjzxhEARuXW2Vrfy180ajd6XdxXd015 HaXDQ2129eToADuTufHfffJa6AjIUKscllsyqPVv9IlPLqF/Ucwd+bAHdjfnz6hc2H6RvtRu7OCy U/u7VwvMuQAOJG7E7DMvSZJcXCACT3swUm/Kma54XWqSai8yS1ijsTN6hQBqh5RXZtqLsNt++ZHa EqIiB8Uy2Z7Jq3+kRHl0DfqGazfm1k7qWqearPTLCW9u5OEEIqfEnsqjuSemWY4SnIRHNkN2A+Vv OXmHUPPKT38kkNrd2ry29lyPprDX92ePieNeXf5ZstRhjDDtuQebIig9Fm1aoX4u+aoWWBKA8y6/ Pb+XtSnt5Ck8dtK0bg7q3A0Ye465bgHFOIPekc3mXlq98sztYtdeYr+DUiVZ4+bLGJAa8Q5UgfMn NrnGUXUAYsyC9cm1f9zIOX7J/Vmk3LWTspvryW1g07n4IYjI9OtEWp/VkogkgBQ8gTzPb608l/rX mS50+8kdvqttbrK0cKV+GvCg+7fuTm8OGUNoQEh97ZRes6JqrppFor336QYRLW92/e7fa2rmlyk8 R2ryYEoqHVqBvi75A2EAsP8ANmn26Jfa3Preo28ar6ht4Z+KAgBVRBTbk1Bmbp8xJEBGJZAq/wCW t3qkPl4XGo3Us8l4/qwrM7OUjpRaciftfawa6Q8SojksjuyePVv9IlPLqF/Ucwt+bAHdgvnzzBcy eYtP0691GbS9BmiLyXEBI5yAtVWYeHw+IFa5stJD92ZAcUx0bByd5C1+6j8xahp1lqM2qaDDEGju JyTwlJWiqx8fi8K0rjq4/uxIjhmeinkzqTVv9IiPLoG/UM1u/NrJ3Yj+ZHmnUYI9LsLW7NjDqM5j ur1SQUQFR9oUoPjqflmfocYlxEi+Ecmcd0nGqSeUvM2kwWesS39nqLCO8tppBJxDMqiQU6VLVHy7 5cB42ORMeEx5JG4ekTatUL8XfNWLLAlIvPXnO60fQHnsz/pk8i29u3XizgnlT2VTT3zJ0eLxJ0eQ 3ZR3Ytqmka/oWlfp221y6m1W24y3kcjlonFRyUAncLX9rr7ZlYtRDJPgMRwnkkGyzrTfMw1HRLe+ 2U3MAkZAdgzL8Q+g7Zr8sDGRj3MJMci1I+km/wCyP1ZYce6KY951W+v7fTVtYnnaK+hZwgrxUhhy PgPfMvRmMTKzXpLZBkjal8R375h8DCliakd9/wDOgyc8e60wbzjr+u3uoNpQsr2PR43AupLeJnec Df4Wpx4ntv7nwzZaTBCMeO48fSzybYRFX1ZN5Z1W2OlLHaWE+nW9u3ppDcp6bHbkWFSeVa7nxzC1 OM8e5Eie5rkN0xTUj60m/wDL+rKTj2Y0k/mHzHqlpPEo0r9J6PKhF0Ix6sgevePccaU6j6cyMGCM h9XDPozjEHruk3lBLg+Y77WIrB9K0yWERQ27rwLsShqE22+EnbbtmRqyPDEDLilbKfKmYvqR9aPf +b9Wa8Y9mqkj826RLr6WyrfG2W3ZmMRQSRsTSjEVXce9cydLmGK9rtnE0ksGmeaI/OFtcTX7yqlv ybUBAvD01ahhp9mp+/fMmWXEcJAHXlf2s7HCzh9S6b9z+o5roY92qkPqmqXq6dctZQpc3QQ+lbyG iOSaEHp+zXbv0w48Y4hxGgkDdg+s6pea7p0WkWvl2WzvOal5Hi9OKGh3KtxWgPvT6c2eLGMUuMzB H2lsEa3tnovjHaiMuXKR8S56mi0r9OargstRC2W6W5sXt2bis8RjZh2Drxr+OER4ZX3FQwDTb19F 0q80S70Ga5v5jIsc8UQkjmDCiHnStF7ca/Qc2uSHiTExMCPv5NxFm7Zb5QS70vy9a2d2aTqGZ0qD w5sWC1HhXf3zA1ZE8hI5Nc9ym6akd9/86DKZ492NMb83LqOsX2m6Ssbrpbsbi+uh9ikZp6fLs3t7 jwzK0pjjjKf8XIBnGgLZKl+qIqJRUUBVUbAAbADMMwYUsTUj60m/8v6sJx7Iphvmlp4/M8Gq3enS atpSwen6SAyCNxWpKdPffY/PNjpqOIwEuGVtseVdV3lZ5X8zXGqWOnSaVpD2/pGOVfT9V6ggrH0H 0bffg1NDEIylxTtZcq6swfUj60e/836s14x7NVJP5wvhJpSq+lNq8PqAywIxV0UA/vF4gtX5fTmR pIev6uBnAb86YlomlwX2u2VxY6ZPp+m2Tieae6LFpXUhlQBtuo7duvbM/NlMcZEpCUpbbdGyRoc3 o76kdt/86HNTDHu00knnO1uNZ0N7e2P+lQyLcW61pydARxr7qxp75fpJjHOzyOzKBopJqXm3Xtb0 k6NDpNzFqVwBFeSSIUhQAjk3IjblT9rp75lY9Ljxz4zIcI5d7MQAN2yywdNP0mCxRuS20Ij5dORV aFvpO+YE/XMy7y1Hdk+sflfqaX8o0W5glsOR9L6wzxuor9mqq/KnTltmVqpYhkIx3KN+X6Tv73Yn s+fePx8EF/yrPzf/AL8sv+R0n/VLMfjHcf8AY/8AFL/J0++P2/qXw/lj5naVRcXFpFCT8ckbySsB 4hCkdf8AgsMZxvcSr4f8Uv8AJ0+8fb+pNPMX5XsJoT5fvI5E9KMTx3BZRzVAOYdQ32/tFabHM3XH BGQ8MmXpHKu7zI586X+T5Hlt70oH5aecB0ls/wDkfJ/1SzB4x3H/AGP/ABS/ydPvj9v6nf8AKs/N xI5S2dO59aQ/8yseMdx/2P8AxS/ydPvj9v6k6vfythGiW31G/DayGc3PqKVjkrT4dqlAlNjvWv3Z +Y6cYYmJJmb2rfzvfavfv0T/ACfLkkv/ACrPzd/vyy/5HSf9UswOMdx/2P8AxSP5On3x+39Tv+VZ +bv9+WX/ACOk/wCqWPGO4/7H/il/k6ffH7f1J1ZflbCdEufr1+F1kshtvTUtHHSvw70Lh67nalPv z8J05wyMiRMVtW/lW+9+/bqn+T5cklP5ZebamklkR2PrSD/mVmBxjuP+x/4pH8nT74/b+p3/ACrP zf8A78sv+R0n/VLHjHcf9j/xS/ydPvj9v6k38u/lexmmPmC8jjT0pBBHblmHNkI5l2C/Y+0Fpucz tCcEpHxCY+k867vInlzpf5PkOe/uSub8sfM6ysILi0lhB+CR3kiYjxKBJOP/AAWYUpxvYSr4f8Uv 8nT7x9v6ln/Ks/N/T1LL/kdJ/wBUsHGO4/7H/il/k6ffH7f1I3R/yv1N7+Ia1cwRWHIer9XZ5HYV +zVlTjXpy3zI0ssRyAZLjG/L9B296js+fePx8Hax+V+ppfyjRbmCWw5H0vrDPG6iv2aqr8qdOW2O qliGQjHco35fpO/vU9nz7x+Pggv+VZ+b6U9Syp/xmk/6pZj8Y7j/ALH/AIpf5On3x+39S+H8sfM7 SqLi4tIoSfjkjeSVgPEIUjr/AMFhjON7iVfD/il/k6fePt/UmnmL8r2E0J8v3kcielGJ47gso5qg HMOob7f2itNjmbrjgjIeGTL0jlXd5kc+dL/J8jy296T/APKsvN3+/LL/AJHSf9UsweMdx/2P/FL/ ACdPvj9v6mx+WXm2orJZAdz60h/5lY8Y7j/sf+KX+Tp98ft/UnV7+VsI0S2+o34bWQzm59RSscla fDtUoEpsd61+7PzHTjDExJMze1b+d77V79+if5PlySX/AJVn5vHSSy/5HSf9UswOMdx/2P8AxSP5 On3x+39Tv+VZ+bz1ksv+R0n/AFSx4x3H/Y/8Uv8AJ0++P2/qTqy/K2E6Jc/Xr8LrJZDbempaOOlf h3oXD13O1Kffn4TpzhkZEiYrat/Kt979+3VP8ny5JKfyy82g7SWVOx9aQf8AMrMDjHcf9j/xSP5O n3x+39Tj+Wfm89ZLI/8APaT/AKpY8Y7j/sf+KX+Tp98ft/Um/l38r2M0x8wXkcaelIII7csw5shH MuwX7H2gtNzmdoTglI+ITH0nnXd5E8udL/J8hz39yVzflj5nWVhBcWksIPwSO8kTEeJQJJx/4LMK U43sJV8P+KX+Tp94+39Sz/lWfm+lPUsqf8ZpP+qWDjHcf9j/AMUv8nT74/b+pG6P+V+pvfxDWrmC Kw5D1fq7PI7Cv2asqca9OW+ZGlliOQDJcY35foO3vUdnz7x+Pgy6HUf3Me/7I/VmjGQgU9PLBuwT z353856JrNg1qtsmiT3EMIc/HLIz7urAn4QKdvv8Nno4Y8kDZPGAUjCOrPv0j75rfFLHwFOHUKK2 /wC0cHGQk4WG65rv5kX+u3FhoEUOm2Foqn6/eLyE7sK0j+GQU7bDbue2bDFLDGAlMmRPQdEjCOqL /Lzz1qOvaddJqaImo6fOba4aL7DkD7Q3O/WtNsjrcfhSHCfTIWg4B0ZNHqP+kS7/AMv6swBMg2k4 dgx/zlf+a0hS70fVrTTLO3R3vXuo+XShDcqPsB2p9+ZmmywJqQMieVKMI6hJPyw82edtbe6vdWuE l0dQY7WT0hE0kgb7ScQvwgVrXv8ATmRrxjx1GP1dVOEdGdyaj/pEW/8AN+rNWZkm1GHYrp9Yht4J J55VihiUvJI5oqqoqSSewycckiaHNj4Dz3yx+bOoa/56ewgRY9DaGQ23JSJH9M7S8j/MQdv45tNR pfCw8RPrT4Ip6DNqFVXf9oZqeMlRhQXmPzFLpmgajqENGmtbeWWINuvNUJWoqNq9cuwSM5iPeUeA wPy1r/5j6xFZXSeY9NAnCyvZNGhmCV3DIqqeg8R882OoOLGSOGW3Xoz8KPc9Km1H9zJv+yf1ZqDk JFMY4N1o1aOG0Esj8Y44+TsegVRUnDGZ2AWWDd5bF5//ADA8wyS6hot7YaXp4kZLGzumjE1wF2/b ViT8iortm5lixYvTMSlLqRyCRhi9M0jU9UfTLZtVWOPUSgN1HCSYw/fiTmpyZRxHhPpYnArw6hRW 3/aOV8ZCThYX5muvzOhur2+sNY0610aFTKizIeaRotW5fupd9j+193TNhgzYCBExkZfjzZDDHqET +WPmrzJrPl9tQ1t0f1ZmFo6oEZo12JIWi051A2wa8Rxz4Y/FicI6Mqj1H/SJd/5f1ZrxMg2k4dgw zzh538yr5nsPK+gPBa3V1F67310KrSrfCgIIP92ex+jfNnpoROI5Z2QDVBAwjq7yf538yt5nv/K+ vvBdXVpF9YS9tRRSKr8LgAAf3g7D6dsdTCIxDLCwCaoqcI6Mzk1H/SIt/wCb9WawzJNpGHYsW/ML z5qeixadY6QiPq2rzehavJuiUKgkjpWsigVzYaLGMnFKR9MRZQMI6pRaecvPHl3zFpem+abm21C0 1ljFBcW6hWjlqF47LFtykUbr079cuMceXHKWOwYd6ZYYvQZtQqq7/tDNVxkoGFKPOfnePy3oE+ps vqygiO2iJoGlf7IPsNyfYZlaSEs0xFHgMKu/NX5saJp8fmLU5LW608lHutLRArwo5oPiCg96faan vvmdAafJLw42JdD3szhj3PRbXX4NQ0qK+t2rBdQiaMnrxdeQr775qsplEmJ58mMcO6SQXv7mPf8A ZH6sgY7u0OJg/wCbF0TZ6Hvt+k4fxVs2fZcd5/1C4+ePDTOzebnfNXwt/hKcN7s2/fJzjunwnnnn z80RFet5e0i6W1uCxivtUk5cIOzKnEM3IdyBt236bbQ9m3HxJix0j3uJkmAaDIfy/fy1aaCLfQbx b2NHJu7gVDvMQKsymhXYfD7eOYev8WWS8g4e73N2KESNt2QR3v8ApEwr2X9RzEMdg3eExfzv5q8s xSJ5f8xRzpYahH6n1wBvSDI9QvJKtyDKCdtqiu2Z2i02U/vMdcUenVx8nCDRY9+W2pRxebdSsNCv J7zyvFAGRp68UlJWnHkEpU8/2RUeNK5l9o4ycMZZABlvp3fimGIXKhyekyXv+kQivZv1DNMI7Fy/ CYl+Zdj5r1mytrHRwj2TsWvozII2fiQUUlqfD16Hrmw7OyYscjKfPo0ZcUugYnplz5ptPzE06H9F 2lrdRWSxLaRyUhW0DEM/MM/xdfH5HM/JHFLTSPFIji59baQJcVVu9bmvdhv+1mhhHf4OZ4SX+Z9T sYPL2oS6hDJc2QhYXEEIJdkb4SBQrTrua7DfLNNjkckRE1K2GSAiLLyLX5/y6/Q9o/lNpx5gaaP6 sqGczcidw4b4AR24d+m2dBgjqeM+NXh1vyr8e9xZGNbc3tQvJxYj1yPXEX72nTnx+KlPfOa4Rxbc nMjiUb55LzRbi1jP7y4tniSvTk8ZUfryUPTMHuKyxbF4poEP5fx+WtRGvu8evwmVBC5kSRGUUQRq vwseQ35fTtnS5zqDlj4f92acKJjRvm9R/LW+1I+S9ON+zGQq3pF68vR5n061/wAnp7UzR9owj40u H8Hq5OGBMbZHDe7Nv3zFnHdt8JhH5latdajcab5PsXK3OrOJLp/5LZCTU+1UZj/q++bHs7EICWaX KHL3/j73HyjcRHNmliLaxsoLK1Xhb2yLFEvgqigr75rZkykZHmW8YW473/SJhXsv6jiY7Bl4TzD8 wrjTbrz3Y2/mOeSy0VLblbXMSbtITVgZArnrt029q1zd6CMo4CcY4p3uHDyACdHYLvy9n02y8939 p5dne/0aS1DXF1IoJSUNVQJOKkitR7+9K4NeJSwROQcM75fsTjAM6G4emyXv+kQivZv1DNKI7Fy/ CYn+Zz+XJdKtJNZuJrN0npZXtuhdopCKksB+z8Netdtsz+zfEEyIAHbcHq4+aIiN2B2sZ1nzrosF rrtx5h+qyLPdXcsbxpFDEyvxXmzGppufEjvm1kfDwTJgMd7Ad5aYjikADb2qa92XfvnOQju5vhMQ /Ni3u7/ymZLVTJJYXEd40YFSURWRtvYPyPsMzuy5COXf+IU05sZEbSvzX+Zugat5QktNPla41PVE WCOwRWMiO5HINt26CnU9Mv0vZ2THmuW0Y721SyRMdubMPL0M2l+V7KwmP762tVSUVqA/GrCvsds1 +okJ5TIciXJx4tgml75Y8w2Fy9qtpJcxxnjHPDRlZR0JoaqadQc2mo7JywmQBxBcPaOCcQSeE9xQ z6HrsgAk0qaQKyuoeNWAZTVWFa0IPQ5SOzs45RLZLVac85RVI9D8ySOEXTpgzGgLhUX6WYgDGPZe YmuFZa7TgXxBGar5O17TJI1iiN7HIiszwUJV+I5qVJDU5V4mnTMzWdjZIEcPq2Dj6XtTDkBs8O/V I7ryTJdztcXfllLi4enOaa0hkdqCgqzAk7Zjx0mqiKHEB7y2nNpTzlFXs/LGp2URhsdDa0iZuTRw QJEpYilSE4iu3XIT0GokbkJH3so6nTR5Simtx5K8wW1hFqAiEs05PrWiMpeNRThTejnry4nb3zLy 9iZI4oyFGXc4+PtXDLIYnYDkfxySu68uavdwmC70aS5hO5imhWRCf9VqjMSPZ+oibAILky1Wmlzl F1r5b1a0hEFposltCDURQwrGlT34pQYy7P1EjZBJ81jqtNHlKKaW/krzBc2EuoGIRTQEejaOyh5F Nedd6IenHkd/bMvF2JklilI0JdzjZO1cMcgiNweZ/HNA/ofzF/1bbj/gR/XML+Tc380uV+cwfzwt /QeumQSnSpvVVSiy+mOYQkEqG60JANMP8nZ6rhKPzWnu+KNphpXk7XtTkkWWI2UcaMyvPQFn4ngo UEtTlTkadMzNH2NkmTxenYuPqu1MOMCjxb9EG+ieZI3KNp0xZTQlOLr9DKSDmHLsvMDXC5A1unI+ oIKDyhd29ybq38vCG6avK4jto0kNetXUBvxyctFqSKIkR7yxGfSg2JRTKy8seYb+5S1a0kto5Dxk nmoqqp6kVNWNOgGT0/ZOWcwCOEMc3aOCESQeI9wde+WPMNhcvaraSXMcZ4xzw0ZWUdCaGqmnUHHU dk5YTIA4guHtHBOIJPCe4pZceTrm5uPrNz5dW4udqTy20TybdPjYFtvnkI6PUxFDiA95ZHPpSbMo o5NE8ySOEXTpgzGgL8UX6WYgDIR7LzE1wsjrdOB9QRmq+Tte0ySNYojexyIrM8FCVfiOalSQ1OVe Jp0zM1nY2SBHD6tg4+l7Uw5AbPDv1S86HrpkWU6VMZUBVJDGOQVqFgG6gGgqMw/5Oz8uEuR+a093 xRXfofzF/wBW24/4Ef1wfybm/mlP5zB/PCOuPJXmC2sItQEQlmnJ9a0RlLxqKcKb0c9eXE7e+ZuX sTJHFGQoy7nFx9q4ZZDE7Acj+OSVXflnVL2L0bzRHuogaiOeFJVr48XqMxIaDURNxEh7nIlqdNLn KLrTyzqlnF6Vnoj2sRNTHBCkS18eKUGM9BqJG5CR96x1OmjylFNbfyV5gubCXUDEIpoCPRtHZQ8i mvOu9EPTjyO/tmXi7EySxSkaEu5x8nauGOQRG4PM/jmls/l/WriFoLjSJZoX2eKSJXRh7q1Qcw49 nZwbESC5MtVpyN5RUrPyrqFirLY6EbRXILrbwRxBiOhITjXJT0Ool9QkffuiOp00eUopvpXk7XtT kkWWI2UcaMyvPQFn4ngoUEtTlTkadMytH2NkmTxenYtGq7Uw4wKPFv0Qb6J5kjkKnTpyymnJOLr9 DKSDmHLsvMDXC5A1unIviCBg8nXNvcm6t/LohujWtxHbRJJv1+NQG3+eTlotSRR4iPeWIz6UGxKK Z2XljzDf3KWrWkltHIeMk81FVVPUipqxp0Ayen7JyzmARwhjm7RwQiSDxHuD0SK9/dqa7kAn5nOn GXZ5g4t2E+bvzXl8va9a6YdGuJ7eeWGN9RY+nDWY9IzxYOwFdqjpkJaggtsNLxC7Zx9d98s8Vp8J ZFe7HfvT6BsMAyMjjYT5i/NW8tNbl0Ty9os+uX1ooa/MZaNIeW4WvBqkj6PnkJag3QbYaUEWTSb+ SPP9p5q0uS7ihe0ubeQwXlnIatHIBWlaLUe9Bko57DDJp+Ep8l7+9cV2FKfT1/ViMu7E49mO+cPN vmjSWtxouhNrCShjNIsoT0yKUBWhO/jglmI5M8eCJ5mkp/Lr81dQ82317bzaT9ThtEBN0kvqR+py p6ZPFdyNxTwwQ1BLLLphEbFnD3v71BXY1r9HT9eSOXdqGPZU+u++S8Vj4TDNJ/NrS9W86zeWrGIz RQxuTqAccGkj+2qrTdf8qvXtTfIDUWabjpSI2zCW92G/en0HY5I5GsY0LrfmCLSdHvtTkXmllBJO YwaFvTUtxB7VpTE5qCxw2aYDo35ree9TW0uIfJ7yWF0y0uEnFODGhYclUfflY1Eu5vlpYD+J6TLe /u2NdwCR8xlhy7OOMW7Ud7+6Uk9QCT898Rl2U4t3m1x+dWq3V1dN5b8t3GsaXZOUmvkZgHI68AqP 23Hem9BlZ1J6ByBpBW5os/0XX/0ppNrqBgltfrUYkNvOOMiV7MMsGaw0Sw0aRUV7sd+9PoGwxGRT jYbrv5hecNO1K5t7XyhNe2cB/d3wulRXSleVPTfj9+QOeQ6NsdNEjeSL/L38xJPN+l3F+2ntp6Qz eioMnqq9FDEhuMfSu+2GGcljl0/Cau2TJe/vXFdhSn09f1YRl3YHHsxPzh+Zcui6raaHpWmyaxrd 4hlS1RuCpHUjkzUb+U/xOCWcjk2Y9NYsmg7yf+Zcutard6HqumyaPrdmgle1duavHUDkrUX+YfwO Mc5PNcmmoWDYZY97+9QV2Na/R0/XhOXdrGPZj3nn8xLPypYQSvA97fXknpWNlGaNI4670agFQNgT UjbGWemWPT8RSfQvzY1GTXbXRfMuiS6Jc6gP9AlZ/Ujkbb4D8K0P8djTIx1BvdnPSiribZ1Le7Df vT6DscmcjUMaB8wea9O0DSLjVdQcrbW61KrQszE0VEBIqzHYYnNQWOEk0wJfzt1e3W21HV/LNxY+ XrtgsWoeoXYK32XZOC7Eb+/auV/mT1Gzf+UHIHd6QuqRT2i3EMgeKRBJFIpqCpHJWByw5dmgYt0l hvP3Sb/sj9WYPG5/hvPfzmuq2Xl/f/pbQ/8AEWwg2mMaeim7NeuPGjw1OG82bfucHGvhsQ86fmFF o0/6K0SAX/mq/osNrEAxQ0+F56eC7gHt4DfJAlHAEV+Xnlu58t6PKt/N6+q6hM11fyg1X1G/ZB2r TufGuR46ZSjbJEvP38u/8v6jjxo8NIfN2oaZqdtN5VOsrpmqalDWGlC5j5AEUJWvOhXjyBIrTvh4 jSiNFiH5Y6pqeheZr7yLNNb3tnZQm5iurdQpDEoWD06n95Q8twRStMN0Eyjb017z9/Fv/N+oZHjR 4bBvzd8yeZbbSItN0SzuZTqPJLq9t42kMcS05IOA2Z69T2rT2kJWogAWB+UdY07SvzE0pLHR7+3h WzFo8MsP+ks8jHlcyKD9mrbnsOmww0yO4e7zXmw3/aGR42PhpZ5tn0+byzqcOo3YsrKa3eKa7ahE YkHANTv8TDbv0xErXgrd5VrVjqvkny7Za5o3nCW9jieNILNmJtZoyfsxxiR1oOpHz3BwgsjR5vY4 tReawSZ1MbSRB2jPVSy1I+jImbEY0NrFxPJ5dvkt6tO9nKsSr1LmIhQPeuImvhvFvI2ja1c+SLvW LXzVPpcViZXisoJGSJWjHMmfi6j4/cdKdemSumZovVPy481ahr3lCy1HUP8AetucckgAUSem5TnQ dK03964mVMPDDIobzZt+5yPGvhsJ/NnzPdW+jQaBppLatr8gtIUU7iJiBIfblyCfSfDJCVqIAFk3 lnTLbQNCs9JtjVLWMK7jbnId3f8A2TEnI8aTC90el5+/l3/l/UceNHhvKvPMl9qn5qabY6RdJpGq WtpyOpu5q6sSRGqdGpyO3epr0yV9WQFCl/kc32k/mpqdjrV2uq6tdWYdNSVjVVBUmNk6JUKNu1BT Y431UixT1J7z9/Fv/N+oZHjY+Gwv80tJbUYdJ1G21G207VNKufU097yRY4pHbi/AFtuVYlIwiVpE aYLrt/511Tz35Vs9cks/rtvco8NrYHk0SCRHkml3anJY+Q+LovQd5WkAAGnt815su/cZDjY+GwD8 85JpfJkUiKXht76GW6UGn7rjIm9P8t1wiVpjGii/zI8xaHL+Wl5Ok0clpfQolgFK0dyylAg8UpUj tTDZOyIxo2nPkt7q28kaTBdVEyWUfJTsVBSqqR7LQZEzTwWbV5pWsn+q3R9GeL4WVzTptUV6g9jl OQGBo83IxkTFjklur2mg6xHbx6iqTpazpcwDnxpJHXifhI233GRjkpkcVpguoROwVJA7saKqnkST 2AG5wCVqY0q3UdzpzKl6hgMgEiF9gQwBpXpVehGW5scsZ9Qa8M45B6SwjVvy48iarqVxqN0r/Wbp zJMVuCFLHqQCTSuAZyGXgpz5Z0by95as5bTSmKQzSerIJJjJ8VAu1TQbDsMjLLaRipP3t7y3gGoT RtHa3BokjAgDj0LV6Bq/DXrlksU4xEiNi1xyQlIxB3DHPMvlzyn5kWP9LRJLLEKRXCSenKq1rx5K d136GoyuOUhtOK2/LPl7yr5ajlXSY0ieb++neT1JGA6LyY7AeApjLKSgYqZElveXEB1CGNpLW3NH kUEg8upWnULT4qdMsjinKJkBsGuWSEZCJO5UP0lb/wC/k/4If1ynjbuBL2s9BbXF1whDqiQG1Wf1 D/dFuVONeNd+tMl4u1I8Le02tY7rUWZLJDOYwZHKbgBQTSvSrdAMnhxyyH0hryzjjHqKDv2068tp rG/WOWCUFJ7ealCPBlO4IP3ZXxEFs4AQxSw/Lb8vLK/S9itg8kbc44pZ2kjVgag8Wben+VXJnOWP gs0ila9f6tan1p5fhVUNeu1TToB3ODGDM0OazIgLPJ0srWT/AFa6PozxfCyuadNqivUHsccgMDR5 rAiYscmE6l+Wf5fahqTX8sJieRi80MM3pxOxNSSo3Wv+SRhGcr4LLrF9PtLaGxsVSOCFRHBbxb0A 2AUCpJ/XkOIksuAAIu6judOZUvUMBkAkQvsCGANK9Kr0IyzNjljPqDXhnHIPSUnuNP8AL9zrlrrk yo+p2cTQ28xkNFRiT9mvGo5NQ07/ACyHi7U2eFvaZfpK3/38n/BD+uR4k8Cu9veW8A1CaNo7W4NE kYEAcehavQNX4a9culinGIkRsWmOSEpGIO4Yx5n8r+UvM3pvqsatcRLwjuYpPTlVdzxqDQiprRgc rjmIbDit3ljyv5S8s+o+lRqtxKvCS5lk9SVl2PGpNAKitFAxlmJUYqZOlveXEB1CGNpLW3NHkUEg 8upWnULT4qdMsjinKJkBsGuWSEZCJO5SPzDpXlzzDZCz1ZEniVucbB+Do1KclZSD/DK45abTjtL/ ACv5O8neWpmuNNQNduCn1meQSSBT1C9FX6BXDLMSgYqZXax3WosyWSGcxgyOU3ACgmlelW6AZLDj lkPpDDLOOMeooW8msbiCazvBHJDKpjnt5aUIOxVlbK+IgtnACGH2P5Y/l5Z6gt6kJlKMHjt5py8K kbj4Tu3ycnJnOWPgs3ile9f6tan1p5fhVUPI77VNOgHc4MYMzQ5rMiAs8n//2Q== + + + + + + uuid:a51db801-1a70-0f41-9143-85723ef4b030 + xmp.did:0180117407206811822ACC437FD4C6D6 + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + uuid:df7cb84a-7d46-f043-a9a7-82ccb02b7d0f + xmp.did:01801174072068118083DBF432C3F51E + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + + + + saved + xmp.iid:01801174072068118083DBF432C3F51E + 2012-11-24T08:02:02Z + Adobe Illustrator CS6 (Macintosh) + / + + + saved + xmp.iid:0180117407206811822ACC437FD4C6D6 + 2012-11-26T23:00:54Z + Adobe Illustrator CS6 (Macintosh) + / + + + + + + Document + Print + + + False + True + 1 + + 512.000000 + 512.000000 + Pixels + + + + Cyan + Magenta + Yellow + Black + + + + + + Default Swatch Group + 0 + + + + White + RGB + PROCESS + 255 + 255 + 255 + + + Black + RGB + PROCESS + 35 + 31 + 32 + + + CMYK Red + RGB + PROCESS + 237 + 28 + 36 + + + CMYK Yellow + RGB + PROCESS + 255 + 242 + 0 + + + CMYK Green + RGB + PROCESS + 0 + 166 + 81 + + + CMYK Cyan + RGB + PROCESS + 0 + 174 + 239 + + + CMYK Blue + RGB + PROCESS + 46 + 49 + 146 + + + CMYK Magenta + RGB + PROCESS + 236 + 0 + 140 + + + C=15 M=100 Y=90 K=10 + RGB + PROCESS + 190 + 30 + 45 + + + C=0 M=90 Y=85 K=0 + RGB + PROCESS + 239 + 65 + 54 + + + C=0 M=80 Y=95 K=0 + RGB + PROCESS + 241 + 90 + 41 + + + C=0 M=50 Y=100 K=0 + RGB + PROCESS + 247 + 148 + 30 + + + C=0 M=35 Y=85 K=0 + RGB + PROCESS + 251 + 176 + 64 + + + C=5 M=0 Y=90 K=0 + RGB + PROCESS + 249 + 237 + 50 + + + C=20 M=0 Y=100 K=0 + RGB + PROCESS + 215 + 223 + 35 + + + C=50 M=0 Y=100 K=0 + RGB + PROCESS + 141 + 198 + 63 + + + C=75 M=0 Y=100 K=0 + RGB + PROCESS + 57 + 181 + 74 + + + C=85 M=10 Y=100 K=10 + RGB + PROCESS + 0 + 148 + 68 + + + C=90 M=30 Y=95 K=30 + RGB + PROCESS + 0 + 104 + 56 + + + C=75 M=0 Y=75 K=0 + RGB + PROCESS + 43 + 182 + 115 + + + C=80 M=10 Y=45 K=0 + RGB + PROCESS + 0 + 167 + 157 + + + C=70 M=15 Y=0 K=0 + RGB + PROCESS + 39 + 170 + 225 + + + C=85 M=50 Y=0 K=0 + RGB + PROCESS + 28 + 117 + 188 + + + C=100 M=95 Y=5 K=0 + RGB + PROCESS + 43 + 57 + 144 + + + C=100 M=100 Y=25 K=25 + RGB + PROCESS + 38 + 34 + 98 + + + C=75 M=100 Y=0 K=0 + RGB + PROCESS + 102 + 45 + 145 + + + C=50 M=100 Y=0 K=0 + RGB + PROCESS + 146 + 39 + 143 + + + C=35 M=100 Y=35 K=10 + RGB + PROCESS + 158 + 31 + 99 + + + C=10 M=100 Y=50 K=0 + RGB + PROCESS + 218 + 28 + 92 + + + C=0 M=95 Y=20 K=0 + RGB + PROCESS + 238 + 42 + 123 + + + C=25 M=25 Y=40 K=0 + RGB + PROCESS + 194 + 181 + 155 + + + C=40 M=45 Y=50 K=5 + RGB + PROCESS + 155 + 133 + 121 + + + C=50 M=50 Y=60 K=25 + RGB + PROCESS + 114 + 102 + 88 + + + C=55 M=60 Y=65 K=40 + RGB + PROCESS + 89 + 74 + 66 + + + C=25 M=40 Y=65 K=0 + RGB + PROCESS + 196 + 154 + 108 + + + C=30 M=50 Y=75 K=10 + RGB + PROCESS + 169 + 124 + 80 + + + C=35 M=60 Y=80 K=25 + RGB + PROCESS + 139 + 94 + 60 + + + C=40 M=65 Y=90 K=35 + RGB + PROCESS + 117 + 76 + 41 + + + C=40 M=70 Y=100 K=50 + RGB + PROCESS + 96 + 57 + 19 + + + C=50 M=70 Y=80 K=70 + RGB + PROCESS + 60 + 36 + 21 + + + + + + Grays + 1 + + + + C=0 M=0 Y=0 K=100 + RGB + PROCESS + 35 + 31 + 32 + + + C=0 M=0 Y=0 K=90 + RGB + PROCESS + 65 + 64 + 66 + + + C=0 M=0 Y=0 K=80 + RGB + PROCESS + 88 + 89 + 91 + + + C=0 M=0 Y=0 K=70 + RGB + PROCESS + 109 + 110 + 113 + + + C=0 M=0 Y=0 K=60 + RGB + PROCESS + 128 + 130 + 133 + + + C=0 M=0 Y=0 K=50 + RGB + PROCESS + 147 + 149 + 152 + + + C=0 M=0 Y=0 K=40 + RGB + PROCESS + 167 + 169 + 172 + + + C=0 M=0 Y=0 K=30 + RGB + PROCESS + 188 + 190 + 192 + + + C=0 M=0 Y=0 K=20 + RGB + PROCESS + 209 + 211 + 212 + + + C=0 M=0 Y=0 K=10 + RGB + PROCESS + 230 + 231 + 232 + + + C=0 M=0 Y=0 K=5 + RGB + PROCESS + 241 + 242 + 242 + + + + + + Brights + 1 + + + + C=0 M=100 Y=100 K=0 + RGB + PROCESS + 237 + 28 + 36 + + + C=0 M=75 Y=100 K=0 + RGB + PROCESS + 242 + 101 + 34 + + + C=0 M=10 Y=95 K=0 + RGB + PROCESS + 255 + 222 + 23 + + + C=85 M=10 Y=100 K=0 + RGB + PROCESS + 0 + 161 + 75 + + + C=100 M=90 Y=0 K=0 + RGB + PROCESS + 33 + 64 + 154 + + + C=60 M=90 Y=0 K=0 + RGB + PROCESS + 127 + 63 + 152 + + + + + + + + + Adobe PDF library 10.01 + + + + + + + + + + + + + + + + + + + + + + + + + endstream endobj 3 0 obj <> endobj 7 0 obj <>/Resources<>/ExtGState<>/Properties<>/Shading<>/XObject<>>>/Thumb 319 0 R/TrimBox[0.0 0.0 512.0 512.0]/Type/Page>> endobj 306 0 obj <>stream +H‰¤VˎÕ0 Ý÷+ò“›Øyn+„ ؏³è€€ÿ—8v’&­b¤;±OÛ99­s{wonoïyñòÞlß·šLôdž¶@¶µ ©Zç«X>™‡­;ÆÚ†6¹ýWÐa–û&Su” MbÎèUvcW£ÅV«çíKÇC¶aíÛãöÑ|Eí·7œùòs»sÖá(`‚·µV ùdϓء–ªŸ¶ŸÌíã3?Í«Oæýö¾±ª°ƒu5¨CØv̶º¤¦CƒêÔ`ìKúÐPç‡AÍXÂ!Á’KIêÆ®FK£V_uŒý©Œ%±žgI–äÉÌjÏ+K´ÐäO4µ³•ߝüûñy¦ô’òöúə—ß¶6› +ÛQk¶H +r)ì ¥ºòÑzȅbµÁO¶D¾/È®ˆã¨Hf=ð,®ÙràÅ`à­/ÉàgKª†sFšé"ReáðŠìá‚JE Á2Ãä!XPDÑæR•^ÔÅÎF^Öp´ç+~Iˆbzøl +GŒ ‚– ZÆxÄʼøž‘„"4ÆlDµTPµ?\$8ûÆûôeŒMxö#Üá¶lÛØ€s²)†©ÕƀCpBúr潄áÏ¢rR2-JöÁ›;&|Y—óٙs(Æ©ö4嚧¨é$ê!Sç•c‘)JÆfBÙٜږÞð,QV½ÅªçvAvE\nšDlä EÄ(d©èIº +ÌAaÐu‰:‹ò§hôŠì ْ|yph>"ç³F»¿h´#RV±…'BLÖ§¤~,M³ *ä=HA¿€¤½‘¢Ñ ¡˜í¾èžYéLÄ™;©tøSAðXñî „…<byø‡RÏÀ~‹RRüOÏ©<׿ÿĎT¦u=I?Vkߖ=¸V¨^~ªª¯ ·žÎÈé.s½›,WýMâ%J'Z5¬VÏÕWÜ©ñGzZøß_k´¦ALøKb¤¨NŒTڙéõ«·<¶Ñ6ÔZ÷{Þv#iû¡ qZä%K£©éIyjfÏÛWÿ(ÑÍ3½z‹+±°ôK€(Ž1` endstream endobj 307 0 obj <> endobj 319 0 obj <>stream +8;X^?0ld@>$q2i0_kb.nEN1"ue]JUe#\ak#Eh.Tb3+`d0!`%,?Z"J`7k\IZ[S7SOF +hrg5n[I["tjXKY>+Z2u>R[1-9./hB<-'B705[WNKb_`\(_-'FJ'`9T]`Sf1^3Zh;i +:XBXOoTRmaRG[P@.fTbOidXblilmogKCQK2pBk(!`#ejI$to_<*l]8I2ZL1j76Nik +!(@^UL;'Qu+1RYm%!r@(SKpW6AIn$PP4.n0mbM*&Dfh;Zo2WqT5;&J +)>W1Z-+\Kr@d;7joAFu5R]8Du,L9%p!Zc^ZeNC)s^8eVkNA(6Seq:.XidlO947Jec +XlOEMm@O+Woe0nUC7YX=0DmX$kMoS@\NWJ1%/]K7OALErq:XOhEe'uAIrW9\e)g$C +IO+p.O!S]==s!1[j"h)!oT+iJJ1]msl;'0b/Pk=Ypi\ck5?@At>Vb%0nmB]VKq8B* +n5%u7`+rp[I$,R"o_TI!Ks11ljVhs8oj>g2.fB;D-/aG2s*s1;n;hULO7C%T;o]?- +E[;e4o.N&4M2_@g+)@cDY4CVY6Kl0LK*\i<-g84jhuW6NWcQgak^L^#>B_3+!?Y]N +r(mgn$6.(l+KaH"#Lj:2NNQ]U?Y].[;/'HB\QLoZ3i?0V3<1?<0H0~> endstream endobj 321 0 obj [/Indexed/DeviceRGB 255 322 0 R] endobj 322 0 obj <>stream +8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> endstream endobj 318 0 obj <>/ExtGState<>/Shading<>>>/Subtype/Form>>stream +q +96 20 m +54.093 20 20 54.094 20 96 c +20 416 l +20 457.907 54.093 492 96 492 c +416 492 l +457.906 492 492 457.907 492 416 c +492 96 l +492 54.094 457.906 20 416 20 c +h +W n +q +0 g +/GS0 gs +-0.0000206 471.9995117 471.9995117 0.0000206 256.0004883 20 cm +BX /Sh0 sh EX Q +Q + endstream endobj 323 0 obj <> endobj 325 0 obj <> endobj 309 0 obj [/ICCBased 327 0 R] endobj 326 0 obj <> endobj 328 0 obj <> endobj 329 0 obj <> endobj 327 0 obj <>stream +H‰œ–yTSwÇoɞ•°Ãc [€°5la‘QIBHØADED„ª•2ÖmtFOE.®c­Ö}êÒõ0êè8´׎8GNg¦Óïï÷9÷wïïÝß½÷ó '¥ªµÕ0 Ö ÏJŒÅb¤  + 2y­.-;!à’ÆK°ZÜ ü‹ž^i½"LÊÀ0ðÿ‰-×é @8(”µrœ;q®ª7èLöœy¥•&†Qëñq¶4±jž½ç|æ9ÚÄ +V³)gB£0ñiœWו8#©8wÕ©•õ8_Å٥ʨQãüÜ«QÊj@é&»A)/ÇÙgº>'K‚óÈtÕ;\ú” Ó¥$ÕºF½ZUnÀÜå˜(4TŒ%)뫔ƒ0C&¯”阤Z£“i˜¿óœ8¦Úbx‘ƒE¡ÁÁBÑ;…ú¯›¿P¦ÞÎӓ̹žAü om?çW= +€x¯Íú·¶Ò-Œ¯Àòæ[›Ëû0ñ¾¾øÎ}ø¦y)7ta¾¾õõõ>j¥ÜÇTÐ7úŸ¿@ï¼ÏÇtܛò`qÊ2™±Ê€™ê&¯®ª6ê±ZL®Ä„?â_øóyxg)˔z¥ÈçL­UáíÖ*ÔuµSkÿSeØO4?׸¸c¯¯Ø°.òò· åÒR´ ߁Þô-•’2ð5ßáÞüÜÏ ú÷Sá>Ó£V­š‹“då`r£¾n~ÏôY &à+`œ;ÂA4ˆÉ 䀰ÈA9Ð=¨- t°lÃ`;»Á~pŒƒÁ ðGp| ®[`Lƒ‡`<¯ "A ˆ YA+äùCb(ЇR¡,¨*T2B-Ð +¨ꇆ¡Ðnè÷ÐQètº}MA ï —0Óal»Á¾°ށSàx ¬‚kà&¸^Á£ð>ø0|>_ƒ'á‡ð,ÂG!"F$H:Rˆ”!z¤éF‘Qd?r 9‹\A&‘GÈ ”ˆrQ ¢áhš‹ÊÑ´íE‡Ñ]èaô4zBgÐ×Á–àE#H ‹*B=¡‹0HØIøˆp†p0MxJ$ùD1„˜D, V›‰½Ä­ÄÄãÄKÄ»ÄY‰dEò"EÒI2’ÔEÚBÚGúŒt™4MzN¦‘Èþär!YKî ’÷?%_&ß#¿¢°(®”0J:EAi¤ôQÆ(Ç()ӔWT6U@ æP+¨íÔ!ê~êêmêæD ¥eÒÔ´å´!ÚïhŸÓ¦h/èº']B/¢éëèҏӿ¢?a0nŒhF!ÃÀXÇØÍ8Åøšñ܌kæc&5S˜µ™˜6»lö˜Iaº2c˜K™MÌAæ!æEæ#…僰d¬VÖë(ëk–Íe‹Øél »—½‡}Ž}ŸCâ¸qâ9 +N'çÎ)Î].ÂuæJ¸rî +î÷ wšGä xR^¯‡÷[ÞoƜchžgÞ`>bþ‰ù$á»ñ¥ü*~ÿ ÿ:ÿ¥…EŒ…ÒbÅ~‹ËÏ,m,£-•–Ý–,¯Y¾´Â¬â­*­6X[ݱF­=­3­ë­·YŸ±~dó ·‘ÛtÛ´¹i ÛzÚfÙ6Û~`{ÁvÖÎÞ.ÑNg·Åî”Ý#{¾}´}…ý€ý§ö¸‘j‡‡ÏþŠ™c1X6„Æfm“Ž;'_9 œr:œ8Ýq¦:‹ËœœO:ϸ8¸¤¹´¸ìu¹éJq»–»nv=ëúÌMà–ï¶ÊmÜí¾ÀR 4 ö +n»3Ü£ÜkÜGݯz=Ä•[=¾ô„=ƒ<Ë=GTB(É/ÙSòƒ,]6*›-•–¾W:#—È7Ë*¢ŠÊe¿ò^YDYÙ}U„j£êAyTù`ù#µD=¬þ¶"©b{ųÊôÊ+¬Ê¯: !kJ4Gµm¥ötµ}uCõ%—®K7YV³©fFŸ¢ßY Õ.©=bàá?SŒîƕƩºÈº‘ºçõyõ‡Ø Ú† žkï5%4ý¦m–7Ÿlqlio™Z³lG+ÔZÚz²Í¹­³mzyâò]íÔöÊö?uøuôw|¿"űN»ÎåwW&®ÜÛe֥ﺱ*|ÕöÕèjõê‰5k¶¬yÝ­èþ¢Ç¯g°ç‡^yïkEk‡Öþ¸®lÝD_pß¶õÄõÚõ×7DmØÕÏîoê¿»1mãál {àûMśΠnßLÝlÜ<9”úO¤[þ˜¸™$™™üšhšÕ›B›¯œœ‰œ÷dÒž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª««u«é¬\¬Ð­D­¸®-®¡¯¯‹°°u°ê±`±Ö²K²Â³8³®´%´œµµŠ¶¶y¶ð·h·à¸Y¸Ñ¹J¹Âº;ºµ».»§¼!¼›½½¾ +¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûۀÜ܊ÝݖÞÞ¢ß)߯à6à½áDáÌâSâÛãcãëäsäü儿 æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿ ÷„óû endstream endobj 324 0 obj <> endobj 330 0 obj <> endobj 331 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/GS0 gs +-0.0000206 471.9995117 471.9995117 0.0000206 256.0004883 20 cm +BX /Sh0 sh EX Q + endstream endobj 332 0 obj <> endobj 333 0 obj <> endobj 334 0 obj <> endobj 335 0 obj <> endobj 336 0 obj <> endobj 310 0 obj <> endobj 313 0 obj <> endobj 314 0 obj <> endobj 315 0 obj <> endobj 316 0 obj <> endobj 317 0 obj <> endobj 341 0 obj <> endobj 342 0 obj <> endobj 340 0 obj <> endobj 343 0 obj <> endobj 339 0 obj <> endobj 344 0 obj <> endobj 338 0 obj <> endobj 345 0 obj <> endobj 337 0 obj <> endobj 346 0 obj <> endobj 304 0 obj <> endobj 347 0 obj [/View/Design] endobj 348 0 obj <>>> endobj 311 0 obj <> endobj 312 0 obj <> endobj 349 0 obj <> endobj 350 0 obj <>/Shading<>>>/Subtype/Form>>stream +q +0 g +/GS0 gs +-0.0000141 -322.9438477 -322.9438477 0.0000141 255.9995117 417.4716797 cm +BX /Sh0 sh EX Q + endstream endobj 351 0 obj <> endobj 352 0 obj <> endobj 353 0 obj <> endobj 354 0 obj <> endobj 308 0 obj <> endobj 355 0 obj <> endobj 356 0 obj <>stream +%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 16.0 %%AI8_CreatorVersion: 16.0.0 %%For: (Steven Tubbrit) () %%Title: (Number_Blocks_01.ai) %%CreationDate: 26/11/2012 23:20 %%Canvassize: 16383 %%BoundingBox: 0 -512 5120 4288 %%HiResBoundingBox: 0 -512 5120 4288 %%DocumentProcessColors: Cyan Magenta Yellow Black %AI5_FileFormat 12.0 %AI12_BuildNumber: 682 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%RGBProcessColor: 0 0 0 ([Registration]) %AI3_Cropmarks: 0 -512 512 0 %AI3_TemplateBox: 256.5 -256.5 256.5 -256.5 %AI3_TileBox: -50 -652 562 140 %AI3_DocumentPreview: None %AI5_ArtSize: 14400 14400 %AI5_RulerUnits: 6 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI9_OpenToView: -3027.9819 4509.6846 0.1667 1639 914 18 0 0 6 133 0 1 0 1 1 0 1 1 0 1 %AI5_OpenViewLayers: 7 %%PageOrigin:-50 -652 %AI7_GridSettings: 32 8 32 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9 %AI9_Flatten: 1 %AI12_CMSettings: 00.MS %%EndComments endstream endobj 357 0 obj <>stream +%%BoundingBox: 0 -512 5120 4288 %%HiResBoundingBox: 0 -512 5120 4288 %AI7_Thumbnail: 128 120 8 %%BeginData: 23962 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FD05FFC3B693B693B694B6949493B693B693B69BFD6FFFA24C704C %704C704C704C704C704C704CA1FD6FFF840E0E300D300E300E300E300D30 %0E0E5AFD6FFFA72D58335833582D582D58575833582D83FD6FFFA7818181 %568181817B81818156817B8182FD6FFFC99E9F9F9F9E9F9F9F74C19F9F9E %9F9EA6FD6FFFCAC8A0C89FC8A0C2A0C2A0C8A0C8A0C2C9FD6FFFCFA1A1A0 %A1A0A1A0C9A0C9A1A1A0A1A0C9FFFFCAFFFFFFCAFFFFFFCAFD64FFB6BCB6 %BD94BDBDBC94BDB6BDBDBD94BDBCBCB6BD94BDBDBDB6BD94BDBDBD94C3FD %5FFFA18D698D8D698DB1698D8D6969B669698D8D448D8D698D8D448D8D69 %44B669698DFD5FFFCA698D8D9344938D69699469698D93699469698D9369 %938D69699469698D936894FD5FFFA95A537E5A53538453535A5A53855353 %5A5A537E5A535384535A5A53538553537EFD5FFFAF143636370D3737300D %3D303037360D370E2F36370D37372F0E3D0D3037360D37FD5FFF8408070E %0707070EFD05070E07070807010E0707070E02070707020E07070DFD60FF %59597D835983835959835959837D58A77D597D835983835959835959837D %58A8FD5FFFA7AB81AB818181AB5681878156AB8157818156AB817B81AB56 %81878156AB817B81FD5FFFCF5C5756812C5D5D5756812C575D572C815651 %56815681565756812C575D572C81FD5FFFA8A67BA6818181A67B8282817B %A67B8182A67BA67B8181A67BA682817BA6818182FD5FFFCFC7C8C8CD9FC8 %CD9F9FCD9FA6CDC89FCDC79FC8CD9FC8C89F9FCD9F9FC8C89FCDFD5FFFC9 %C174C19E7498C77498C09874C77474C09E4AC1C0989EC74A98C0746EC774 %749FFD60FFC1C1C2C89FC8C2C1C1C9C1C2C2C8C1C8C1C2C2C8C1C8C2C1C1 %C9C1C2C2C8C1C9FD60FFCAA0CFCAA0A7FFA0A7CFCAA1FFA1A1CACAA0CFCA %A0A7FFA0C9CAA7A0FFA1A1CAFD60FFC9A0C9C975C9C9A07CCF7576C9A075 %CFA075A7CF75C9C97576CF7575C9A075C9FD5FFFA8C9A0C2A0A0A0C999C2 %C2C2A0C9A0A0A0C3A0C2A0C2C2C9A0C2C2A099C9A0A0A0FFCAFFCAFFCAFF %CAFFCAFFFFFFCAFFCAFFFFFFCAFFCAFFFFFFCAFFCAFFCBFD40FFBDBDBCBD %B6BDBDBDB6BDBDBDBCBDB6BDBCBDBDC3B6BDBCBDB6C3BDBDBCBDB6FD05BD %BCBDBDBDB6FD07BDBCBDBDC3B6BDBDBDB6C3BDBDBCBDBCBDCAFD3FFFB694 %B669B694B6B694699494B68DB6696F93B68DB6949493B68DB6949469B694 %B694B6699494B6B694699494B68DB6696F94B68DB6939493B68DB6949469 %B694CAFD3FFF94B68D698DB68DB68D9344B68DB68D9445948DB69494446F %94B68D9445938DB694B6456F8DB68DB68D9445B68DB68D6945938DB69469 %69698DB68D94696969B6CAFD3EFFA8948D8D44FD058D6969FD048D696969 %8D698D4445448D8D8D696944698D948D454469FD048D4569FD048D446969 %8D698D6969448D8D8D448D69698DCAFD3FFF938D8D6F6993699469456994 %8D8D8D6F45698D938D8D696F8D938D93696969948D93696F699369948D69 %8D948D8D696F45698D938D69446F8D938D934569698DCAFD3FFF94688D68 %8D6893688D68696893698D688D688D698D688D688D698D688D688D699468 %8D688D6893688D688D6893698D6869688D698D6869688D698D688D688D68 %CAFD3FFF7E7753775377847E537D77777E845377537777A95377777753A9 %7D77537D537E7E7777775377847E537D77777E845377537777A953777777 %53A97D77537D537EFD3FFFAF613D6136613D3D3D613661613D3761363736 %6136613D61376136613D3736613D3D3D6136613D3D3D6136373D3D366136 %373D61366137373D6136613D61366137AFFD3FFF36373607303D3637302F %07373637363006363737363D072F3637363606303637363707290E613637 %3030063736373629063037373630072F36373736072F3037A9FD3FFF360E %36070E0E360E360D070E300E360E070D360E36070607360E360E0706300E %360E06060D0E360E36070D0E300E36060607360E36070701300E36070E0D %070EA9FD3FFF300E0E2907300D300D0606300E300D2F06070E300E070607 %0E300D30070607300E30060706300D300E070D300E30070706070E300E2F %06070E300E2F06070730A8FD3EFFA830FD080701FD050701FD0407080707 %070EFD040706FD050701FD0B0706FD04070E0707070EFD0407060707A9FD %3FFF7E2F29302F2F7E5A2F302F2F595A07302F2F2F842F2F292F297EFD04 %2F075A7E2F29302F2F7E5A292F292F595A07302F2F2F84FD042F297EFD04 %2F075AFD40FFCEACACA6ADACACA6ADA6ACA6ACACAC82ADA6ACACADA6ACA6 %ADACACA6ADA6ACACADACACA6ADACACACADA6ACA6ACACACA6ADACACACADAC %ACACADACACA6ADACACACFD40FF81AC815781AC87AC815757AC81ACAB812C %81ABAB87AC8181ABACABAC568181AC81AC815781AC87AC815756AC81AC87 %575082ABAB8781568187AC87AC565781ACAEFD3FFF8180812CFD0581562C %5D815C87562C56878181562C2C878187562C50818181802C2CFD05815657 %818180812C2C568781812C57268181875657565781AEFD3FFF8181815756 %FD04815756815D81817B2C57818181572C51FD04815651578181812C512C %FD04815757815D8157512C57FD04812C2D5D81815756575681A8FD3FFF81 %56812C57565D56572657565756812C2C5681565D56572C81568156502C5D %565756572656565D56572C815657565D2C2C2C8156812C5050815681562C %2C8156AEFD3FFF8256565D56575781565756575781568156575682565756 %815682575D565756817B57565756575781565756575781565D5657568256 %5756815682575D56575657AEFD3FFFCEA5A6A5A6A5CEFD04A681CEA6A6A5 %CDA5A6A7A6A5A6A5A6A7A7A5ACA6A6A6CEA5A6A5A6A5CEFD04A6A5CEA6A6 %A5ACA5A6A7A6A5A6A5A6A7A781ACA6A6A6FD40FFC8CDC8C8C8CDC7CDC8A0 %9FCEC7CDC8C89FC8FD04CDC8C8CDCDC8CD9FA0C8CDC8CDC8C8C8CDC7CDC8 %A09FCEC7CDC8C89FCDC8CDCDC89FC8CDCDC8CE9FC8C8CDCFFD3EFFCFC8C7 %C74AFD04C7C1746E9FC7C7C7744A9FC7C1C7C77474CCC7C79F6E74FD04C7 %744A9FFD04C7746E9FC7C7C74A6E98C7C7C774744AC7C7C79E75749FC7CF %FD3FFFC1C7C7999EC7C1C7C79F74C7C1C7C7C16E9FC7C7C7754A75C1C7C7 %C774759FC7C1C74A7574C7C1C7C79F74C7C1C7C1754A9FC7C7C79F744AC1 %C7C7759EC174C7CAFD3FFFC1C0C76E9FC0C1C09F2075C0C19EC16E6E74C7 %C0C174754AC19EC19E744A9FC1C19E744A74C0C1C0C14AC1C0C1C09F4A74 %6EC7C0C1746E4AC19EC7986E4A9FC0CAFD3FFFC1C1C0C1C0C1C1C1989F98 %C1C0C1C0C198C1C0C1C0C1C0C1C0C1C1C198C1C0C1C1C1C09998C1C1C1C0 %C1C0C1BAC1C0C198C1C0C1C0C198C1C0C1C1C198C1C0C1CAFD3FFFCA9FC8 %C2C2A0CAC2C2C2C8C2C9A1C2C2C8C2C9C9C2A0C8C2C2A7C9C2C8C2C8C2C9 %9FC8C2C2A0CAC2C2C2C8C2C9A1C2C2C8C2C9C9C2C2C8C2C2A7C9C2C8C2C2 %C2FD40FFCFFFCACFCFFFCFFFCFCFCAFFCFFFCFCFA7CFCFFFCFFFCFFFCFFF %CFFFCACACAFFCFFFCFCFCFFFCFFFCACFCAFFCFFFCFFFCAFFCFFFCFFFA8FF %CFFFCFFFCACFCFFD40FFCACFCAC94AC9CACAC9A76E75A7CFC9CA756EA0CF %A7CFCA7C75CFC9CFA17575C9C9CFC9A06FA1CACAC9A77575A7CFC9CA6F75 %A0CFA7CF767575CFC9CFA17575C9C9FD40FFC9CAC9A0A0CFC9CFC9C94AFD %05C94AC9C9CAC9A04AA0C9CAC9C975A0C9CFC9C94A76A0CFC9CFCAA775CF %C9CAC9754AA0C9CFC9A07575C9CFC9A0A0A175CFCFFD3FFFC9C9C975A0FD %04C94AA0FD04C9757575C9A0C96F4B4AC9C9C9A0A04AA0C9C9A04B4B75C9 %C9C3C94BA0C9C9C9A04A7575C9A0C9A0754AC9C9C9757675A0C9FD40FFC9 %C9C9A0A0C9C2C9A07575C9C2C9C97675C9C9C9C8C9A0A0C8C9C9C975A0C9 %C9C2C9A075A0C9C2C9A0A0C9C9C2C9C89A75C2C9C9C8A075A0C9C9C8C975 %A0C8C9CAFD3EFFCAC999C2C2C29FC9A0C8C2C9A0C2A0C2C2C2A0C2A0C2A0 %C9C2C2A0C3A0C2C2C2A0C39FC9C2C999C9A0C2A0C2A0C2A0C2C2C9A0C2A0 %C2A0C2C2C2A0C2A0C9C2C2A0CACAFFCAFFCAFFCAFFFFFFCAFFCAFFCAFFCA %FFCAFD05FFCAFFCAFFCAFFCAFFCAFFFFFFCAFFCAFFCAFFCAFFCAFD05FFCA %FFCAFFCAFFCAFFCBFFCBB6BDB6BDB6BDB6BDB6BCB6FFC4BCB6BDB6BDB6BD %B6BDB6C3FFC4B6BDB6BCB6BDB6BDB6BCC3FFBDBDB6BDB6BDB6BCB6BDB6CA %CABDB6BDB6BDB6BDB6BDB6BDCACBB6BDB6BDB6BDB6BDB6BDBCFFC4BDB6BD %B6BDB6BDB6BDB6C3FFC4B6BDB6BDB6BDB6BDB6BDC3FFBDBDB6BDB6BDB6BD %B6BDB6CACABDB6BDB6BDB6BDB6BDB6BDCA94BDB6BD94BDBCBD94BDBCB694 %B6B6BD94BDBCBDB6BDB6BD94BDB6BD94BDBDBDB6BDBCBD94BDB6B694BDBC %BD94BDBCBD94BDB6BC94BDB6BDB6BDBDBD94BDB6B694BDBCBD94BDBCBD94 %BDBCB694B6B6BD94BDBCBDB6BDB6BD94BCB6BD94BDB6BDB6BDB6BD94B6B6 %B694BDB6BDB6BDB6BD94BDB6B694BDB6BDB6BDBCBD94BDFD04B6BDB6B694 %B694BD94BDB6B694BDB6BDB6B694B6B6BDB6B68DBDB6B694B6949494BCB6 %BD94B6B6BC94BDB6BD94FD06B6BD94BDB6FD0494BC94BDB1B6B6BDB6BD94 %9494B6B6BDB6B694BDB6B6FD0594BDB6B68DBDB6B6B6BD949494BDB6BD94 %B6B6BC94BD949494BDFD05B6BD94BDB6B693B6B6BD94BDB68DB68DB69469 %446994B68DB68DB68DB69469446944948DB6948D8DB694944469444569B6 %94B68DB694B68DB68D6969B694B68DB694B694934469446994B693B68DB6 %8DB68D45444569B68DB68DB68DB68D69446944698DB6948D8DB694944469 %44698DB694B68DB694B66969444569B694B68DB694B68D944445446F94B6 %93B6B694B694B68D6F69B68DB694B68DB694944594946969B694B68DB694 %B68DB6936969B694B68DB694B68DB6946F446F94B693B694B68DB6696F8D %B694B68DB68DB694B6946969B68D948DB694B68DB694B68DB68D6969B694 %B68DB694B6696F94B64493B6B68DB694B68D6F69B68D698DB693B694B694 %B6456F8D94449494B68D8D948DB68DB669698D948DB68D938DB68D938DB6 %45698DB68D8D8DB68D948D69448D8D948D938DB68D948D69446944B68D94 %8D948D948D69446945948D948D948D948D93446944698D948DB68D938DB6 %8D948D6944948DB68D8D8DB68D8D4493694569B68D938DB68D9344698D93 %44698D948D948DB669458DB68D6969948D94948D948DB68D6945B68D948D %948D948D948DB669458DB68D948D948D948D94456945938DB68D938DB68D %69449469698DB68D948DB68DB6FD046944948D948D948DB6694545694469 %8D948D948D948D948D9344938D948D948D948DB68D45444545938DB68D93 %8DB68D69446F454569B68D948DB68D6944B68DB645698D948D698D8D8D69 %8D4445FD048D69FD058D4445698D8D8D698D8D8D698D8D8D6945448D698D %698D8D8D2045444520698D8D699369FD048DB06945698D8D8D698D8D6920 %8D8D8D208D8D8D698D8D8D698D4445FD048D69FD048D69448D8D45448D69 %8D698D698D8D69446920698D8D6993698D6945698D8D45448D8D8D948D93 %8D948D6944948D938D948D938D944545699369938D9469938D9469456993 %44698D948D938D948D69696F454569948D9369948D93446F696944948D93 %69938D93694B6993454B8D938D948D938D94694569948D938D9469938D94 %4545699344698D948D938D948D696993454569948D9369948D93446F8D69 %20938D9369698D698D698D4569698D698D698D698D6945204520698D8D69 %8D698D698D44452069698D698D698D69FD048D69448D698D698D698D6969 %20452069698D6969698D698D68452045698D698D698D698D6969448D698D %698D698D698D698D44452045698D698D698D698D69452045698D698D698D %698D8D6920452069698D698D696993698D69938D8D699369936993698D69 %93698D6993698D6993698D6993698D6993698D6969698D6993698D699369 %8D698D698D69938D8D69938D8D699369696993698D6993698D6993699369 %93698D6993698D6993698D6993698D6993698D6993698D6969698D699369 %8D6993698D698D698D69938D8D69938D8D6993696F69688D6869688D6869 %6869706F688D6869688D6869688D689A69696869688D6869688D68697069 %6869688D6869688D6869699A6869688D6869688D686968946F69688D6869 %688D68696869706F688D6869688D6869688D689A69696869688D6869688D %686970696869688D6869688D6869699A6869688D6869688D68696894FF70 %706F706F706F706F7076FFA8706F706F706F706F706FA1FFCA70706F706F %706F706F70A1FFA17069706F706F706F7070FFFF9B45706F706F706F7045 %77FFFF70706F706F706F706F7076FFA8706F706F706F706F706FA1FFCA70 %706F706F706F706F70A1FFA17069706F706F706F7070FFFF9B45706F706F %706F704577CA85615A615B615A615B613661A98537615B615A615B615A61 %61AF61615B615A615B615A613761A9615B615A615B615A615B6185AF3D61 %5A615B615A615B6137AF85615A615B615A615B613661A98537615B615A61 %5B615A6161AF61615B615A615B615A613761A9615B615A615B615A615B61 %85AF3D615A615B615A615B6137AFFD0B615B6137FD066185FD046137FD04 %6185618B6161618537373785FD076185616136FD04618B6185FD046136FD %0461856185618561615B61376161856185618BFD046137FD06618B616161 %85373737856161618B61616185616136FD046185FD066136146136373637 %2F363661365B14373637365B2F2F3061365B3637365B36370D2F0D30365B %365B0E37366136373636306136613637366136360D300D30366136370E61 %365B36360D303661365B1437365B36300D300D36365B3637365B3661302F %07363637365B0E373661363607303661366136373661365B2F302F373661 %3637373637366107060761363736373637363707070607303D3661143736 %6136290707013036613637366136373737012F36613637366136610DFD04 %076136373637363736300107012F373736373637363706070606073D3661 %14373661300706290636366136373661373001290629366136373661363D %FD05075B3637360E3730360E3606070E3730360E3636360E070E37060736 %360E360E360E373636012F36360E370E360E373636010607360E370E360E %37360706360E370E3736360E373636012F30300E3730360E3636360E3736 %30013036360E360E36142F0137140607370E370E360E3601071436012F14 %370E360E370D0107370D0107373636360E370E360E2F06360E370E360E37 %0E360E370E07063730360E360E360E3606060D370E360E360E360E370607 %062930360E3630360E37070601290D370E370E360E370D06060706300E37 %0E360E370E360E3706070E370E360E360E370D06072F013036360E360E36 %0E0607370D0607370E3630360E2F01360E3706070E370E0D0E0D300E3006 %070E0E0D300D300D300E300D06010E0E300E0E0D300E0E0E07010107300E %0E07300E0E06060D0701300E0E0D30FD040E060D01060D0E0D0E0D0E0E0D %00060707010E0E300D300D300E30070107300D300E0E0D300E0D00060101 %07300E0E07300E0E0706010600070E0E0D300E3006060E0E0E07060E0D30 %300E300E300E2906300E300E300D300E300D2906300E300E300D300E300D %300E3601290E300E300E300D060106010607300E300E300E300E360E3001 %300E300E300E3607060D370D0607360E300D300E300E2906300E300E300D %300E3006290E3606290E300E300E300E360D30070607300E300E300E3001 %300E3001290E300E070E070E070E01060D0E070E0D0E070E07060007070D %070E070D070E0D0700070601060E070E070E070E070D0706000E0D0E0730 %070E0706010701060D0E070E070E070E01060706010E070E0D0E070E0D07 %000D0D0E070E070D070E0D0700070701060E070E070E070E06060706000E %070E0730070E070600070106070E070E30070E07300D0D0630070E073007 %0E07300606010607300730070E07300D070106070E0730070D0730070E07 %300707073007300730070E070701060730070E0730070E0730060601300D %0E0730070E073007070730070E0730070E07300D07000606300730070D07 %300D0D0106060E073007300730070E070700060730070E07070D0707070D %070D070DFD07070E070D070EFD07070D070D070EFD07070D0707070E0707 %070D0707070D070D070E070D070D0707060D0707070E070D070DFD07070E %0707070DFD07070D070D070EFD07070D070D070E0707070D0707070D0707 %070D070D070D07075A07080708070807080708077E2F0707080708070807 %0807077E3007080708070807080708297E0708070807080708070807545A %0707080708070807080707535A07080708070807080708077E2F07070807 %080708070807077E3007080708070807080708297E070807080708070807 %0807545A07070807080708070807072FCB592E342E582E342E582E7DFFFF %2E2E2E582E342E582E2E7DFFA8582E582E342E582E2E2EA8FF842D582E34 %2E582E342D58A8FF59342E342E582E342E3458FFFF592E342E582E342E58 %2E7DFFFF2E2E2E582E342E582E2E7DFFA8582E582E342E582E2E2EA8FF84 %2D582E342E582E342D58A8FF59342E342E582E342E3458FFCEACCEACCEAC %CEACCEACCEACCFACCDACCEACCEACCEACCEACACAECEACCEACCEACCEACCEAC %CDACCFACCDACCEACCEACCEACCEACCEADACACCEACCEACCEACCEACCDADCEAC %CEACCEACCEACCEACCEACCFACCDACCEACCEACCEACCEACACAECEACCEACCEAC %CEACCEACCDACCFACCDACCEACCEACCEACCEACCEADACACCEACCEACCEACCEAC %CDAD81AC82FD07AC82AC81AC82FD07AC82AC828781FD07ACA6ACACAC81AC %ACAC82FD07AC81ACA6AC82ACACAC82ACACAC82AB81AC82ACACAC82ACACAC %82AC81AC82FD07AC82AC828781FD07AC82ACACAC81ACACAC82FD07AC81AC %A6AC82FD07AC82ABAC87ACACAC817B81AC87ACACAC81ACACAC817B578187 %ACACAC81ACACAC815750575082ACAC87ABABAC87ACACAC5782ACAC87AC87 %AC87AC81572C5757AC87AC81AB87ACACAC5757578287ACACAC81ACACACFD %04577BACACAC81ACACAC8782515781ACACAC87ABABAC87AC575757ACACAC %87AC87AC87AC87812C5781AC87AC87818781AB81570457818781AB818781 %AB812C2C57265781AB818181AB81812C572C2656AC818781AB818781AC57 %262CAC818781878187815726572C5781878187818781AC50FD042C8781AB %818781AC81572C57045781AB818181AB818126572C2C56AC818781AB81AB %2C2C502C2C81818781878187815726572C2D81AB818787818781AB81572C %AB8187818781878181568187572C8781AB818781AB81AB572D57AB81AB81 %8181AB81AB812D265781AB818781AB81AB2C57818781AB8187818781AB81 %2D5781818781878187818781AB81AB572D81AB81AB818781AB562D81AB2C %5781AB818181AB812C56AC812C56AB818781AB8181268187812657878781 %5C8181815C872C2C808181815D8181815C818181045781815C8181815C81 %5C2C045781815C815C815C815C2C2C572C815C815D815C818156042C2657 %8081818156818157042C262C568181815D8181815C81812C2C8781815C81 %81818081262C262C56815C815C818081262C5657045680815D815C872C2C %8081812C2CFD0981572C87FD0A812651FD04815DFD058156572657FD0781 %5126812C51FD08815D815D57268181815D818187562D2C812C2DFD098157 %26FD05815D818187562D2C572657FD0881262D2C2C5087FD058157268181 %812C5781815D5681568156812C2C56815681578156815C5D262C5C815681 %56815681565D56815C2C2C81568156815681262C262C26565C8156815681 %5C57568756265681565D56815C570481815704575C81578156815681262C %5C81568156815681562C2C8180512C81568156815681565D565704575C81 %568156815626568156262C815C8181568157815C512C815681578156815D %5704262C51508157815681578150262C2C0457818156815781568157812C %2D5D8156815781568126262C2D2C815681578156815D2D2657262D568157 %81568157815626578156815781568157812C262C5104578181568157815C %57265126515D815681578156812C262C2D26815681575657565D565D5657 %5657565D56575681562C2C502656565D56575681565D2C2C2657565D5657 %565D5657568156572C8156575657565756572C2C2C5D5657565756575681 %562C2650565D565D5657565D56572C815657568156575681565D2C2C2656 %56815657565D565D56502650568156575657565756812C2C2C5756575657 %575681578156815781568156575681578156815781568157575681578156 %815781568157815657568156815781568157815681575D56815781568157 %815681565756815781568157815681565756815781568157815681575756 %81578156815781568157815657568156815781568157815681575D568157 %815681578156815682572C5732562C5732562C57A7822C5732562C573256 %2C5757A8575732562C5732562C57327CA75732562C5732562C5732567CA8 %32562C5732562C5732562CA783572C5732562C5732562C57A7822C573256 %2C5732562C5757A8575732562C5732562C57327CA75732562C5732562C57 %32567CA832562C5732562C5732562C83FFA6817BA57BA57BA57BA5A6FFCF %A67BA57BA57BA57BA57BCEFFCF7BA57BA57BA57BA57BA5CFFFA7A57BA57B %A57BA57BA5A5FFFFCE7BA57BA57BA57BA57BA6FFFFA6817BA57BA57BA57B %A5A6FFCFA67BA57BA57BA57BA57BCEFFCF7BA57BA57BA57BA57BA5CFFFA7 %A57BA57BA57BA57BA5A5FFFFCE7BA57BA57BA57BA57BA6FFC8CDC8CEC8CE %CDCEC8CEC8CDA6CDC8CEC8CECDCEC8CEC8CDC7CEC8CDC8CECDCEC8CECDCE %C8CDC9CDC8CEC8CEC8CECDCDC8CDC8CEC7CEC8CEC8CECDCEC8CEC8CEC8CD %C8CEC8CECDCEC8CEC8CDA6CDC8CEC8CECDCEC8CEC8CDC7CEC8CDC8CEC8CE %C8CEC8CEC8CDC9CDC8CEC8CEC8CEC8CEC8CDC8CEC7CEC8CDC8CECDCEC8CE %C8FD04CDC8CDCDCDC8CDC8CDC8CDC7CDC8CDCDCDC8CDCDCDC8CDC7CDC8CD %CDCDC8CDC8CDC8CDC8CCC8CDC8CDC8CDCDCDC8CDC8CDC7CDC8CDC8CDC8CD %C8CDC8CDC7CDCDCDC8CDCDCDC8CDC8CDC8CDC7CDC8CDC8CDC8CDCDCDC8CD %C7CDC8CDCDCDC8CDCDCDC8CDC8CCC8CDC8CDC8CDC8CDC8CDC8CDC7CDC8CD %C8CDC8CDCDCDC8CDC7C7CDC7C8C79F6E9FC7CDC7C8C7C8C7C8C7C76E6E74 %C8C7C8C7C7C7C8C7C74A6E4A759FCDC7C8C7C8C7CDC7C8C79F75CDC7CDC7 %C7C7CDC79F4A754A75C7CDC7C7C7CDC7CDA5754A6E9FCDC7C8C7C8C7CD9F %6F4A6E4A9FC7C8C7C7C7C8C7CD756E4A9FC7C8C7C8C7C8C7CDA5754A6F9F %CDC7CDC7C7C7CDC7C76E6E4A9FC7CDFD04C7CDC7C7746E74C8C7CDC7C7C7 %CDC7C74A75994A74CDC7C7C7C8C7C8C79F9F6F44FD08C7CDC79F4475C7C8 %C7C8C7C7C7CD746E9F9F9FC7C7CDC7C7C7CDC7754A9F7499C7CDC7C7C7CD %C7C7749F754A74CDC7C7C7C8C7CD746E9F9F449FFD05C7C8C7754A9F746F %9FCDC7C8C7C7C7C86E6E9F754AC7C7CDC7C1C7C1C7C7C76E75C7C7C1C7C1 %C7C1C79F9FC1CC6E6EC1C7C7C79FFD04C79F449FFD04C79EFD04C79F444A %4AC7C7C79FFD04C7754A9F9EC7C7C7C1C7C1C7C79F449F9EC1C7C7C1C7C1 %C7C1FD04C79F44FD05C79FC7C7754AC7C74A74C7C7C79EC7C7C7209FC7C7 %4499C7C79FC7C7C7744A9FCC9F4A74C7C1FD07C7996EFD05C7C1FD04C7CC %9F4A74C7C7C7C1FD05C74A4A74C7C7C7C1FD05C74A9F7475FD04C7C1C7C7 %C7744A4A4B74C7C7C7C1C7C7C79F4A4A6F4A99FD04C7C1FD05C74A99FD04 %C7C1C7C7C79F4B4A4A4AC7C7C7C1FD04C7754A9F744B74C7C7C7C1C7C79F %4AC7C7C76E75C7C7C1C1C7C0C7C1C76E75C1C7C0C7C1C1C0C7C1C7984A6E %C7C0C7C1C1C0C7C1C7C1C1744A74C7C1C79EC7C1C14A4A746E4A9FC1C79F %C7C1C7C0C79EC7744A9EC7C0C1C1C7C19F2099C19F209FC1C7C1C1C0C7C1 %C7744A9FC7C0C7C1C1C0C7C1754A9F744A74C7C1C79EC7C1C79E75444A20 %75C1C79FC7C1C7744AC1C7C16E4AC7C1C7C7C1C7C1C7C1754AC7C1C7C1C7 %C1C7C1C7984A6EC7C1C7C1C7C1C7C1C79875C1C74A75C1C7C1C1C1C79F6F %4A6F4A4A74C7C1C1C1C7C1C774C1C79F20C1C1C7C1C1C1C79E4A9FC7984A %9FC7C1C7C1C7C1C7C14A74C7C1C7C1C7C1C7C1C74A75C7C74A6EC1C7C1C1 %C1C7C1C19EC7984A98C7C1C1C1C7C19F209FC7C1209FC1C7C198C1C0C1C0 %C74A4AC0C1C0C19EC1C0C17420204A2075C0C19EC1C0C1C09F204A204A98 %C19EC198C19EC1C0C1C0744AC1C0C19EC1C0C1C04A204A206EC0C1C0C198 %C1C0C14A4A4A444AC1C0C19EC1C0C1C09920C1C0C1C0C19EC1C0C1C09920 %4A444A74C1C0C198C1C0C76E20204A4AC1C0C19EC1C0C1C074204A206E9E %C1C0FD08C19EC7FD08C17499747599C1C1C1BBFD05C174999FC7FD09C1C7 %9FFD0AC19F749FC1C7C1C1BAFD04C1C7747574C7FD07C1C79F9FFD06C1BB %FD04C19F74999FC7FD08C1747598FD0AC19F7499C1C7C1C1C098C1C0C1BA %C1C0C1BAC1C0C199C1C0C1C0C1C1C1C0C1C0C1BAC1BAC1BAC1C0C1C0C1C0 %C1BAC199C1C0C1C0C1BAC1C0C1BAC1BAC1BAC1C0C1C0C1C1C1BAC1C0C198 %C1C0C1BAC1C1C1BAC1C0C199C1C0C1BAC1C0C1BAC1C0C1BAC1BAC1BAC1C0 %C1C0C1C0C1BAC199C1C0C1C0C1C0C1C0C1BAC1BAC1BAC1C0C1C0C1C1C1BA %C1C0C1CABAC1BAC1BAC1BAC1BAC1BBCFC3C1BAC1BAC1BAC1BAC1BAC2CAC9 %BAC1BAC1BAC1BAC1BAC1C2FFC1C1BAC1BAC1BAC1BAC1BAC9CAC1BAC1BAC1 %BAC1BAC1BAC1C9CABAC1BAC1BAC1BAC1BAC1BBCFC3C1BAC1BAC1BAC1BAC1 %BAC2CAC9BAC1BAC1BAC1BAC1BAC1C2FFC1C1BAC1BAC1BAC1BAC1BAC9CAC1 %BAC1BAC1BAC1BAC1BAC1C9FFCAA1C9A7C9A1C9A7C9A1CFFFFFA7C9A7C9A1 %C9A7C9A1C9CAFFA8C9A7C9A1C9A7C9A1C9A7FFFFCFA7C9A1C9A7C9A1C9A7 %C9CFFFCAC9A1C9A7C9A1C9A7C9A7FFFFCAA1C9A7C9A1C9A7C9A1CFFFFFA7 %C9A7C9A1C9A7C9A1C9CAFFA8C9A7C9A1C9A7C9A1C9A7FFFFCFA7C9A1C9A7 %C9A1C9A7C9CFFFCAC9A1C9A7C9A1C9A7C9A7FFCFCFFFFFFFCFFFFFFFCFFF %CFCFCAFFFFFFCFFFFFFFCFFFFFFFCAFFCFFFCFFD07FFCFFFCFFFCFFFCFFF %CFFFCFFFCFFFCFFFCFFD07FFCFFFCFCFCFFFCFFFCFFFFFFFCFFFCFCFCAFF %FFFFCFFFFFFFCFFFFFFFCAFFCFFFCFFFFFFFCFFFFFFFCFFFCFFFCFFD05FF %CFFFCFFFCFFFCFFFCFFD05FFCFFFCFC9CFCACFCACFA7CFCACFCACFC9CFCA %CFCACFA7CACACFCACFCACACACFCACFA7CAA7C9CACFCACFA7CFCACFCACFCA %CFA7CFCACFC9CFCACFCACFA7C9A7CFCACFCACFC9CFCACFCFCFA7CACACFCA %CFC9CFCACFCACAA7CFCACFCACFCACACACFCACFCACAA7CFCACFCACFA7CFCA %CFCACFA7CACACFCACFC9CFCACFCACFCAC9A7CFCACFCACFCFCACFCACF766E %75CFCACFCACFCACFCACFA06E4A75A7CFCACFC9CFCACFA76F4A754AA1CFCF %CACACACFCACFCACF75A0CACFCACFC9CFCACFA06E4A6E75CFCACFC9CFCACF %CAC96E6E4AA0CFCFCACFCACFCAC94A6F4A6F75CFCACFC9CFCACFC9754A6E %75CFCACFCACACACFCFC94A6E4AA0CACFCACFC9CFCACFA1754A6EA0CFCACF %C9A7CFC9CAC9A04A75C9CFC9CAA7CAC9CAA14A75A14A75C9CAA7C9C9CAA7 %CAA0A14A6EA1CAA7CAA7CAA7CAC9CF754A75CAC9CAC9C9A7CAC9754AC9A0 %C9A7CAC9C9A7CFC9C94A75A1A075CFC9CAA7CAC9CAA7A7A0A044A0C9CAA7 %C9C9CAC9A04AA7A04A75CFA7CAA7CAC9CA4A6EA0A044A1C9CAC9C9A7CFA7 %4A4AC9754AA0CFC9C9CFC9CFC9CFCFA06FCFC9CFC9CFC9CFC9CFA1CFCF75 %75CFC9CFC9CFC9CFC9CF756EA7CFC9CFC9C9C9CFC9CF766F6E75C9CFC9CA %C9CFC9CF757576A0C9CFC9CFC9CAC9CFA06E76A0A0CFC9CFC9CFC9CFC9CF %CACF756FC9CFC9CFC9CFC9CF7C6FA1C94AA0C9CFC9C9C9CFC94A76FFC94A %75CFC9CAC9CFCAA04AC9CFCF4AA0CACFC9A1FD04C9CA7575FD04C9A1FD04 %C9CAC9A020A0FD09C96F4475A0C9C9C9A1C9C9CFA04AA0A04BFD08C9A04A %754475A7C9C9C9A0C9C9A0444A4A4A6FC9C9C9A1FD05C9A14A75CFFD08C9 %4A4A444AA0C9C9C9A1C9C9C96F4A75754475FD05C9CF754AC9C9C9754AFD %09C9756FFD0AC9A044A0FD04C9A0FD06C9C34476FD06C9A04A4A754A4BA0 %FD0BC94AA0FD05C9CFA04AA0CFA04AA0FD08C9A04AFD05C9A0C9C9C97575 %A0C94A76FD08C97575754A75FD06C9A04AC9C9C94A75C9C9C9A0C9A0C9C2 %C94B75C9C9A0C9A0C9A0C9C27520A0C9C9A0C9C2C9A0C9C9A04AC9A04A6F %C9C2C9A0C9C2C97575754A20A0C9C9A0C9C2C9A07575C9754AA0C9A0C9A0 %C9C2A020A0C9A020A0C2C9A0C9A0C9C9A12076C9C9A0C9C2C9A0C9C96F4A %C9C94B4AC9C2C9A0C9C2C976A0A07620A0C9C9A0C9C2C9A04A75C9754AA0 %C9A0C9C9C8FD04C9A075C9C8C9C9C9C2C9C9A0204B4A4A75C9C9C9A0C9C9 %C9A04B4A4A4AC9C9C9C2FD06C9CE7575C9C9C8C9C2C9C8C9754A4A4A75C9 %C8C9C2C9C8C9C9A0204B4AA0FD04C9C2C9C9C9754BC9C9C8C9C9C9A0C9C9 %C9A04B4A4A4AA0C9C9C2FD04C9A0204A20A0C9C9C8C9C2C9C8C9A04A4A4A %75C9C8C9C2A0C9A0C9C2C9A0C9C2C9A0C9A0C8C2C9FD06A0C2C9C2C2A0C9 %C2C9A0A0A0C9C2C9C2C9A0C9C2C9C2C9C2C9A0C9C2C9A0C9C2C9C2C9A0A0 %A0C9C2C9C2C8A0C9A0C9C8A075A0C8C9A0C9A0C8C2C9C2C9A0C9C2C9A0C9 %C2C2A0C9C2C9A0A075C9C2C9C2C9A0C9C2C9C2A075A0C2C9C2C9A0C9C2C9 %C2C9A0A0A0C9C2C9C2C8C9C2C9C2C9C2C9C2C9C2C9C2C9C2C9C2C9C8C9C2 %C9C8C9C2C8A1C8C2C9C2C9C2C9C8C9C2C9C2C9C2C9C2C9C2C9C8C9C2C9C2 %C9A0C8C2C9C2C9C9C9C2C9C2C8A0C9C2C9C2C9C8C9C2C9C2C9C2C9C2C9C2 %C9C8C9C2C9C2C9C2C8A1C8C2C9C2C9C8C9C8C9C2C9C2C9C2C9C2C9C2C9C8 %C9C2C9C2C9A0C8C2C9C2C9C9C9C2C9C2C8A0A8C2A0C29FC2A0C29FC29FC2 %A8CAA0C29FC2A0C29FC2A0C2A0FFA7C29FC2A0C29FC2A0C29FCAFFC99FC2 %A0C29FC2A0C29FC2A7FFA0C2A0C29FC2A0C29FC2A0CFA8C2A0C29FC2A0C2 %9FC29FC2A8CAA0C29FC2A0C29FC2A0C2A0FFA7C29FC2A0C29FC2A0C29FCA %FFC99FC2A0C29FC2A0C29FC2A7FFA0C2A0C29FC2A0C29FC2A0CF %%EndData endstream endobj 358 0 obj <>stream +%AI12_CompressedDataxœì½ëŽ$Éu&øö±?UÒÝ̯ÜÁqÕp!^À¦$ + Q¬.6kT]Õ¨®¦†ûô{¾s33ÌȌ䪛Ê4dU¤‡»¹»]Îý|çïþ¯ß|ñjûÕÇ?¼}•îšMø»¿ÛzûúóÇO?ßðÑÍ/Þ¿ÿþ»ÏŸpè'¿ýé¦î:iû‹éK=ñŸß~úîÝÇ?ç¯øË®þÉŸßþùí‡Íï¾ÿÃ>½ûüÓÍO~J_ýîÝç÷oéË_}ÿÍÞ~úr÷þã›ÿî˦½{ýî§voêìðú3‡ŸµíÏbÓÆML?èzÿúß_÷Ý»ÿ÷-DÇv¿ÿðÕ»_ï>þŸŸošÍ«žÎ§ßfÓÅi¢ïÿç»ß¾ýß|ÿÍÛŸóé㛷ß}·ÿøþã§ï~¾Ùÿåõ‡Í/_Mß¼ÞüëÛ÷ï?þÇf÷þõ›4ý—§wïßÒÛ~óúó¦x÷í/Úøåîûwᅭ7üùf˜"§/¹ËúŽú¢nñ‡Ç/ñ ùâíçÏôptC¼äoÿaW>ží'ÿöÛ·_¿ã¹ !ú_?Õn?}üö›×Ÿþý»òµ6|ù»·ß|ûžÆ’ß:öÃ]¿y%ÿ•è¹ô.|Þ«ž:zêhˆ›¶Ó®ò½ýó»·ÿñóͯ>~x+£°ýôù ™‘®kùW¾ùí÷ïß~ú§ï>ÓÓ 84Ë0üòãWoßÓù~ýéýk~{nmþWNøÝëO_¿ýL³øñý÷Ÿy­Mvæ|ý—·˜«Vnðëoß~øÝÇæg|•š8ÞÍS;oº¾™ï†©6Í]; #–ϼ™ÛnÓN|¿aÓ¦¤÷mËåFèÚÝFš¨ßÐÔýúÓ»¯ß}ø¹ šLê?|z÷UžÓ7“üÃït7¿³ýÊÃÓ8|þüöƒ¾ ­¥ý/‹µÑÜýò ºíñÃWûß`2¾Ãò§EñÖËû_Ëwþ™¿¡Ë¿ÿV^ÿþ’æí7ŸÞ}@ŸáWüÍôåoÞO_ýçßû‹ü~"{ÿŸß¾¡ NSûÕæ×øßôíb^¯›ß}zý†: ¿ýÚÂßþôÞîèå>½Ýȗt%ÿiÿ?|õáíi§åËåèñß߾ÿømÑ­yýá«Í¿¼þôíÃ]ÿæýë¯?mø¸÷üïþLß¼¦‘Ê}çcWtJËä[¾„OYÜàžН®¸ÑëÏ"¢ôöÃWßyßògýàrìáþ¾xƒ5øi³ûôýwÚüîãÇ÷Þmý•÷®‡ù(ÎÿaÜã7|Á‡_:¿“ž°¼‘£Ü]èìËw /Ƚï_¿ÿîëO¯¿ýÓ»7k7XùÞï$ß=faýå›?||ÿî»oòz*Žüæõ§ÏïÞ¼ûÅ_¾ûüö›«'wsüê¹ ÛøÞs¾ø×ŸßüéßýáÓëOïÞÞ»û0|÷á+Zû_|ÿîóÛ<@¿ùâËæ‹?½þö-¿Æç?øÌ/¼ÃþK"ý%qõ*Äv³ûPÐþøôú«wÄ6Hû§^Ctýk=´iÛî§aý01­¸Ù}þ-4ÚZnÝæï¾Ü}ÂagÜh$43%~ؒ0@gËúòž3vߝ]f®Þüýí¯}ç8¬¾3ÎïüßÃÐSë¸%j‘Z;4ý‰Ú±?hÛsÛõÛ~î§~¤Æ—õöÓQKÔ"É}Û7}ӝÐÂÿ ;ºCâßtˆÅ¿·ïZþµïíÌX|ño(þlùÇ=µ·ã©9µtçá4Ÿv§ÃéI?¡úw˜OóaÞÏÛyžÇy˜»9ÍíÜLÇé0í¦í4MãÔOݧv<Çq7nÇii º1ŽípŽÃ~Øó0  \ +fâ߁Æ.Ñ(ö4ª#ñLc½£1?Ð)§¡¡9‰4;]Kâõ²vÔãú=ÍØÒ]Ý«ºë4Îã6ÐCìÇ=Ìijøí®ÝS£qkÔN±¡ÖR‹1Që¨a‡HEz•8SÛÆµ=5 þ1žâ)5ÔÚ]…ŸŽZOwhŠ=s—š™–äÀvêÆÂá]ê§¡ƒ\Ø7í<àHlÆ©K¼W¶ÕM`çÝ¥y éB‰4!ô4ãízú0Ðks?)¶ý)µmúiŠe?å£ÜÚÓm{9M«{™—{¹y柇:l½‹ÚRѺÐtEës“MÖL'ÚR{ßR¤ÑL‰æ¾¡U|àM5Óòh¡'û†¶Õ6ÁŽ6ÃD›dLˆ×‘IÖ6Ð.™Je"rt$’³ë¶­%"X-ø6ˆÌìÓ6Íi$ò×ÓrޤVh­ïiíÏ´ Ú‰¦¸iO¶Îž¶ÑÜNíÐÒÕmK¯~lüøO£5WR¡Gþ‹¶è°üê 7oK¯@£>ÓØïh4§¹!2‰ØusOdoœ'"€ÛyG¤ð0çÓ¶Ù¶Û¸MÛnÛo‡í¸¶óv»Ým÷ÛÃö¸=…]³k‰€¤]·ëwãnÚÍ»ín·Ûï»ãî´oˆ Å}ÚwÄ^†ý¸Ÿöó~»ßí÷û‘ôÓ¡a"цÃx˜Âa>l»Ãþp j:6DÉâ1»%ý!â#ökÓÍ݈í:cE¾›æ®eÍX6è´ ;O¹X8ýÑg"ZªaӟL!×iÊugßF7ºu +e{ß ïì}yQØû>qx›»ŽÞ¤KônOãeLد¿š®*JþøKo›‚¾]:\‘î·=·úÓùQ4ÚYÕgi´!åSÈéÿY[þD´–ÛÚ'ùkôOüàÿFn“~žüÓX|’6 $Þ>ù±páãDÚ݉ÈāÈŖÇD¤'B’ˆ¤4ÛQ˜=Qš™hÎHÔ§#*éýND—öD¡¶D«F¢Zѯ|%²Ú@ÒZÍX&g,­3–,¯- KÁC`Á7AÞuÖB+Š$éŽD¢Ø5Ê\vÄ\¦Š¹‰½ì˜½ŒÊ^Za/Gf/[b/#-Ž„³*ƒùÏè°âZ<"…r_{6çÑ?ÿv(ªÐÀmô6mö¶õ¶+ÚÞÛÁZ8æŸR¦h¼µÞ¢·T´Î+•ÿŠ6z›¼ÍÞ¶EÛyÛ{;“b¨-„‘åi~X}*µ'"‘ÈEGDc˜Æ¿²4Ü.&…Ãôƒ“îˆÆ§ ªÓØÏ#ü0èƒ:iY¯2½.C7¶ô±§wq7šUnN‡KnÎ< šò&p§H ¡áeMƒ‚p*˜À­`Zè•gET#:VŠ„{ ÿØÞ`q .vâ½N&JÒÌü ­W„¨K°C€³íkMÂà ; “P»0íyëjyí‰}A7öՑvÄ Œø×ù×Lük –ÀÁˆH@pÙ²$1Â6Dª` ¡Ë7RÆUZ }G¢É%6]ñ¢EoWr”ÿ\þ!ä$Nˆœ9!tLê”Ø ¹‚g$Oˆž=!|BúšÀÔOèŸP@¢¼ A… +!R(ÄPÈ¡D!‰Fwé"SF¥B…> +…ITRì"§SÓpœ^Ð9/ÑÒcό–Øj`> +®ydÖØ2 ì˜ÏÌͶ̳À Ng–²!ÒÎ3Ÿð݀ŸqÓ^¤ºWžÏ„vèçid§ð'–q (@UØÑ2™Ua ­”¹UíA(óN©òÀ4Y ¾­Òc³QmiYÄ885>15Þ+5ž”-nUÇ8*5Þ11ž BÜ !J‰¢xðf`c`û”Œ–ÕŒ#+P5¶¬lˆ-«c…£u{ÖN-Z ÚÛ´ˆj"ۇBí»–mRHµÿÚ4PI·<¿ò3Ê ×Ñ`ÝI^b_èÁ“+§%±'~ôHZÿÈǾýç|h5ìº=)¤€žXunُ`žó%˜7Aý îQ0±Øã)TLãèò±IÈ&#g)yW±‹Öee—–ÇŠU\f6©9Ulbvb¿¯xD4’œêOÎ –"ú­zxOyX>ç)÷³”ðŸÇSF3àåˆãLä€YC›ˆºÁUèwïÌ*wyz·ñ™)­ò:\ZCe0Äøl0ø+Gø¢Íó1‰ÿê¾ Î,›W}ãŽë#8֜zâ "MxuÝvü»cŽ~`±ìȦ>ÓîÞRøåø¿È{,ʎÍÇtŸƒsÛÌoæ¶É]EG–‚÷…â#ܖŸ >á¶bH'9²'yâ­öD_òª)KÄÚ=)V÷* ß ìG6ËäÌrC"Æ&dõ³óXl‘ðdz‡+¸rî&¾{s—þÜ¥G·ôé¶pg§.5è„Dð4¢Ö˜ e©V8ñ!ú“$#¨†$’Hw$¡îM|`î¶Ê¥ŽÎŸ.ú¹Ci«YR5Òó»v†4ŒSb·É­‚!ò¹éô‚;ù‰× Ջqž˜*µ$vÁƐèmp`hé+öú" +“)Ñ­fºDûnìè¶ý;¯û‘çڏüàb>²émGûb¦Ý1Òéi§DÆ`|;×ÚӖÞ›ˆ› Ø-MbpXo-Id'6.ˆbÿo‰NØÃ´Carè8äÝNÄCéD⦠[HX,ՁnÁÎòÌ]°s‡iªÈÖÙFÚûáyü“>‚Oèîtç=Ý7ëù&¸Å»Ÿ¸ëDbó)ˆ`®ˆU +¨P#v$gh´ˆrV£Eö•‚ôƒ°â‚Hª 8‡ìˆk£þ1Šg{˨ö¶¸‚º²°B_ÃmDç–ððT9ûܚsɞsIú^‘¿ƒÈ „ðKfòKr8IâaU¿$Œz½‚[ 3ÍÓÀmûQƒü.NÂ?u©í.HäOºšxCËæï¡I°_é˜Ç4-)ü"F6ޜs¦Ç_x'ŠÍjD&—²¸ C°a°M†`Ãð´q¿(§?½ ±º]ù™ ÿ„ko›‡vÕ¡Ã’÷s„ÓÎćS³&>҃È'•öYvʸs,éºè013¹¡» 7°ä˜¿×‚{9~H‘sŽì$ÝóãîØzþÈöÐ}\1XÈ*cìèÁðPKG–0fvˆ»†M˜0^—$Q&\Œª>ˆx±n’ìYC‚vÍH´¢¡ŠG=¨Õq%pNãæº>…ù‚}@G·(Nİô!HN¼@ŰWÜĶ77%þpð•J4­ØÇÂÞ(ÖFyËiáPR+ãeÓâq ­p qäøa‰ž4jx/ñÂ+|½L®jL¦yØ»çÞX¦ +BÍ£z¹Âí×z N <É·u%2ÔÞ­ŒìC¤,BÇo§D ږÈwÐÆ¾›³eñ‚ô´nä«z9g. ¯‡‡Ê”4=ÿÖ­»Ø$&G£s‚‡éäà¢àâ[8²gAØ%Üâ6sµø¡à‰êÙ”x¤ÐšÂ/%^©9¸c +®©h®)¾ÛèÌÂ5j0‚p$QwÅÆÕÒ ˆkÔøí£ÆoOêñÒèíà¬IØ-í•fq(%„} `bŒN‡hÙƯÑscHË&Gø[ö@ÛM«ÄŠ#ÇB­—Q¼‚ˆ-³{C”Â:+÷ߓWq± oêÃöâ@•#ˆ F| OÏ×7jãJ÷îŧõpÓ^L«qªåáÂßÊk›í£#[Key‹ïÕ¼¯Yb™i˶Ø?“BŒ•ø´×0š¥K³QãÎÎÃiÌ/¯'~¬‘¤ø)eà]=Kу¦¨ ™ê5³,úÿ‘ yš9Æÿ7Ì[¬fá=°o϶>iÔ™µÙ.²]5h³=×é4«§±x³†Ò¿?ڏ‰e–zTcª™UÚʬôm‘|N+pÊø¸he>xٺʞ±j×M«ž͆Û{&œdÁ%ɼðHPáh^e>Pó‚ïh˜NCK.E‹O¼`Ëq‘¦{ñČc¡"ªµ``ՓÁù%J¥pV̑Ás4LÊ>ivø^ålËïB›D³‰`0Ì{v´6¨[<Üæßݵ5Gæ ¹1U*}P´÷LɃ‰–•ÈÙ7`D½ã´äp¶ÙCp£¥»•$æ*å0z’‹ù¤CnòC£.车؛¶Þ…®[¦?ËϏÂ+RG,iSyý¨R4G t¬GHÉáË´pZ¡Ê _fƒ/ÁÏRÀ—éß܄žù]¤}/¾—ÉÞË4ï"¿;œ$>[5¹¶J5]Ÿ3Îtº¦Ê2ÎÍöAL˜®ß™†g:žiyK«4MßóÀ33kšÚgŠŸ©~fà4íOõ?×M4-p +GQåç ¿ µÞ¥puüÓäϒ°YËk ½2{¦zfÉ$Á‹ »ç|h‰æKŽ8½sº ¶=C_,½Á…8°¨×Dš_,r¢ç&%ŽùžDÐðd.ÜkŠÄSV…¸çêð&icUI—¨cmÓ,"[jJ|-@÷sÕc=?oíœÊ†tÖ¡XÄNÎæMÒЕVͨ‹™8¾ÅDœ +./Æà}`‹í L–©™óGæòÆçŔÖg.OϛM¿» ™’“Ù)—÷ 0KW=hªêX2hfэ7/uEÁ¼±\™iƒá©©úÙ ±ˆ…"vȗ,Ú0phœ‚óèÍ‹ªy’ǦÇÃm_¶Pÿy֏hGå,u“ñ>pñ‰%Y¡S%c5Óéœ54ž²T1‡€ü¶ìÁí‚Q13ƒ0ó K!fÂÔR¨\B™Äm'ç4>8‘ÂÉ…K›éŸÂqšGΖeº™‡^ú™Úy8f$™Õü~½ä֞n£é«ˆdc HæYèQõ"KsXӐ˜Ìnÿ¶D…eD¯-¯üü;ù¯}’fÇ& ×-?fx'ÖÈRcÞó°^0ÿ©~sàÿL:—`a¦×=OgiåáVsÇÄ>ÿÜKÔ?‹!¬c‰}&i…du¶Æ˜-bºéÑE<‡p.¢¹æ"–›Ù…$òµ%7^lbÁ²6i÷¨ª‹ÿý×Ym,ž°Ç“R3¶ÜSQkxå^HäÅyš4¶†Ü;8ÀS†›pkw©KËòª`1Óñb[ÙÃE¼™·je­€­û[®µT•/E?…¢³e·ô¯¼„HÉä9r˜†äð +Y¬“°Mše¬Ú¤à“Ë¿~!ûBMU;$_ˆ½z!òŠnJš©ÌöᢦŸ5þ}‘\hè’‘£³½C®^`C¸¤ëò¶ž[¸£åljï7·l”ȦŒ¹hÊt,šÚ¿C•°±LΐÑ-Ð îÃ6è ïLý8{÷ã îÉaKQXàš•æ¢vÖÔú=;ðNœ Ù(>ù‘}ð[ö>´vD™õu!ï+T‰_g©_ÕÎðÓKgà9žô?.IeWWX£³]µ¨ë×ZX?|vڂÐÁޘ˜b +’=3.7»J5ëD¼®ƒF:ì¼N‡¦‘Ä4vÁb¹&Õú¶œË¾Œ×Z„iÅÔ­©%m\o +¦Ã–öÑätß¹ )¦™èXù…Ú”@¼øÍ tî zú÷̸4^0òÙ^¾üs|J;³>Êð¸öœWž¦Ì/gM×yÓç™ÓeîtF^Ùl{…P™„År%Nì]>jNõAÃW5ÕÃXç¢M¡°ãLj½YiÂOÖÑ kÔٌahÖ󮲟ŸrøtРԭAäà {(î‹mà¨†à %,ÿY[2#è4Óf’¬Æ)5p~Jm•N¢øpOxâsô%JyáÞ•†>±‰èxÏÊuÓ #[H4`é®Óò:†äÝMÓ©måÓ=c¯Zå® ViƹP—,hiæ*v}uÄøÅǦ/’†ánêÓ\V?Kjؘ¦.’Áž·ynRÔ[~ñÑl¹Í¢¯8ÝñÌægéOž-‘¬ÅN]?¡36¾ùªÍM.FZ]ñ¾ô1šúß‹pÿøY +ÍnþùÝ×Þ~þü–”öËßѽ’Uš‘ȧ7sÇÑcïÀAwm7‹ –3#ƇqÏvå³t’ŸecÝl¬›u³Ñnò|Y7fnè„8oúñ +ia8yö®Å¤s[·wC߯®§ÞS{7 MڌóÝ8¶Ï÷à—ïð,Ï?÷k†²gìô6t¶Ul6˜¯:3_±V0pfˆá—D „mX0:²–pP¤ä­çˆN2t†¡DJ–ÌRÖQ“Fv +–lpÉ5š}Ï¡ÚI‘“7Ù]ч  ö;¶Ÿ p{·×`gÁ1Ù{¥I+a[0É0ˆ–&¾+€Km؉?H¢‹Æ‹‰ÃîzqÔ×ÅXZ޽³Ä–\ˆå(1vì2ò„½Û ´TH`B[|’àS®EË+/faÍ÷Ìå{¶ü»-ªýìý_©dÿÚï>Ú¿Ç2  +È“/mO;7-ææÑg!ôv<Áš^çå¶Ð·«-–-cáßXî£t…‡•x§›\áášY±.7õ96mV`Õ +RUÃê@î6¨[µ F¨ÃM]K‹„”`a lÀ™Ã×r›jŒ¥Æ¯àÑêkž0pÕv:ÿÌK2»#‚&´»‡Ü;«+PN¶–Y1HV…ŒÊ¶\î_¹ ²ŒŒ†ï[{js@Ç Ö‚~?ÅÕGÀ††ÅËMQrÌÈîóÔï<ÝÑCæG·v$œr"a,lHD5£z^[¹Ûؐâm$ñ¼âåOïCH m?œEJZ#ZÚ8I[ÓrÍè1lãZ—-»‘J§ÒsvËOJ|¦cÕfJ)iÙ»—.–¸#jzrâ„MÀp9ã¹:¼MžX¯UÓT…çÕLž/3äØXü=V­ÎÚáÏ¡J*°–Šå4ƒ ÁRd„Z1/•ó…ªnêzæne¹9ǧ.(FªW`SÃ>ãIEÅê²b¹jŒhdœöcáÝ9À;Ü«bÕU+N‹Hïä +VNšƒÃPŸ+Xñ‚‚5»‚µ_Ä}3@uëêUWªW¾w…Kî¨ë¨UÜsÆÙ a:Í;…‘Ù“ùzŠçå¥ð´$¥Ëj{x*Žç%Å=<'¸æ=<½²ÜU؛ô‡ë¿Yîq~vRçØ‰©âAÿ=h +ý^E"÷˜‰Ùa]ÈÈ£¥ˆqž,J"†A¥otÍOj³‡l EtÊÆ2o>wü_òæß瞯vÿÔÆ¹0pä=x`zM›í÷-ׇôyƒM D–ŒÊRc³”-NK9ïp¥)”•» +>áP€'X +§¡&hÛ;Ø9²o°kxÏøŽ)ƒÊd«”E·‰¬ƒs6cA2ö÷–Ãù ’ùH™›suXµŒ§cS«AŽˆ·Ü`»[–þO^­$cŽo«p·aé67졵±ý"hìBÈXä(ë¤^Û m¾Ð¦ÜH9ÜZn¼4JÝ–8çyäúžV¼T¶Zñ²6DÜ8&u£ôðUsyI>¶Èñ)ÞaÃÉçíWr5©$‘]՜|p7ë”ý:D59by2°a·Î´‹¼ 3ÃÔ³ö*c:1qºDOK/Fc÷8Þ=v#n6q¾Ð&CŒÜµÔc׏ž©ÃÛìR«¥è(õßY¥øiyçvê5~jË®ŽÃJ´ZŽU[D«…3˜ò2`- 9YÌéÊÒWVõJ1ªHà +J•ˆj`»ÆÄi¢Yò)ë2J$dçyÚ£¢&IÕÎê´X‘"¹Lcâ„,)Õh%~­È¯Ul´B¿G)öØjÕjùƨA]Öýg´˜£TžØF$u€·Z xç1:Dç›’²*T–n_˜Í¦vÙ.yÊJš}c9Ø4Ók[9pŸaDF…™<ÀnV?Yiå3١𓉙ðT9ÁĢȶƒV ’­š)±:úн–xE™ÙNjCeåÅ Xv è"ü/R×q `DR Êk.¿8F?HT_d;ˆ…vè›Á¾Õào>8•BG¨øÃ:'¹ÈuîŸÕü\åÎÉEfS9.èÄד_Á/ó5]¶8ú"jt nºÍÝlàuÙL… x^ù\,®P­4|Þ.ÖÜì–åÚÎ\®ÊâÛPXæ”:å±òh¹Ìw¹Ã%O>RÝ-[Ž•<®ÄRw÷„ZÐarhÕÛP9‹R-X(…Z¶æÔP‡æ`!-½ V­Åã¬þs»Ґ«?U ƒ”n$JZã<Œa« +MÂÐqätâÍÁu¡9c@jC8o`Ϲ»àöù™-Bh¥dtÏÒ¡Xì“Zí£’KYšF^à: Ρ“»¢mm^6~5õË"Ù·.Š…òÕy^EY÷æ¬êMÐ,‰9µÚzY–^—¦KyZ$j—©ƒfÔH«©ŠHm="õ<&µŒG­\`Ž><„ÆÂh:ͨ0ÅJjÔsdÖ.3èPs젋0×$·h‹¸™=îÆZ9WCшï66YëVÛÅÄ£ ç[«ÖË\…:Oa™Ÿ«Ip uNB‘`s–X³’NsžùåvÐÝyr—.žÉ—Ðè ÉZ_4µ×†b…åuf­6—Æáæ,–Z6¸Iöüg¿ÒvÚÖZÈ«6_ÓJ­¾0m‰aëRa™5³V“‹g›]+¬¶jӖ·Ž\àº4neóVQ^¦Æ±XÚ4§Âž¹D±X3%RD³ýèÑ÷^®v™Ñ.2zÏ2úXÖ¦u,ٓ"ÈblØóhR:äôƒËé|±êéJè3ËçR9ýÄå†ÇEŸ‚ÖPܱì}bÙ"rR9”û‘é.vüdœˆ:H|§9{#³…sŒóà j|óç]Á-ÊËþߪSkïGþï~ñïAbÀʰ婹ûíâSþw˒‡ŸÕ~ô,ÙÌ* ™L$Ÿ² UføHR•Ý‚f4>‹Ï¨ôý:”28Wä^ýÊ%¡¯H€U÷ëzöE™{±…®ðÔjàêíÍYl[ÜöU$êºè&þíJr g‚[ÛDhË"› lKarÚàÉfAŒx*”] +«‹Ž +6Ùå ^觪9— ƒP8·$N…ØS—5Y}. +?ûp.ÿ\–¢O!ød¡'hHñ¡wJAgªÂ‹‡JŠI*’ÛìÒü†2tî¿õZ-“ÉÜ{Uù¯JV·ÀTV(¬É§‘-ÈYYTڊ{l:—%G¸îÈÎHÑ0âG6çM¼b±Pf6”oyUc}Ó:ÇzçlŒO +^æÖЧÚÙyò̃ß=óçOŒýyÎNàÙò0•ç¿Bh{׃%'Ñ¢ª"[:z¶glÙPß#"`Bƒ=AÌ{7œ¥Ô¶›™sëÊ\ƒ‰#*ûÊ1xä‚ð›Å†s¿`Xw ®s‰û]Ùøß»11›9FºÎ~š•9T¹¯'ƒžˆ0 H~ÿ¨½>^þèÝa ìØ48³¨Ao\>üù£^òRÔɰÙzáöˆZ“7åÅRÕLô- ž™«-bð ¸ g˜Ülß2l±!&?'&‘bÕñb0jw +̨äà{­â¾Z YŽ"ËUè,–¬®@CU²ÅRê÷HÍÌåXJMkùÒ¬–Ü“0máAŒ€¥ÃçÎÖYû}N˜åSºCp\…H}ÏIì^À²šÙ]B;¯e +GÀqœo§>•ѐš&FÊg󭘾ˆ[~ŽÞø¹æçà JÂÈØ)¾GE[†ö¶w3 .›¡»£Xxgž³SyJz]γû®áÌˎ¤èmÓÌ7><ÉøWœGW÷Ze#=k¯·¹i†U7̀ðáTF&T£±f ’о ’؝mÁ„70¯ØA[c>хA‚É%ÑÁÆÀz˜r„Œ‘DJ;ÃGdÝy¨tgӜ3t°éÍû{ò8¶|¡(½Å匶ŠêŠØ  +(x-ù¢F„¬ãæ"J!'bx*†*qqëøÐÙª² t+‚ÜBå6Ÿáöìï n;q£Ÿ°í¶ˆw»¿•ø.$†*îéÍ£èÂ"¨îæö7Øa–d²—v`™d§'Å·Yrd9J\^'–8Ä[%~(Ȓöeù'±uÇ|¯nÑ!± 2Û]€À’Z`ŠaRd_ ÎˆÓ´£e£Mbæ<¨T<ŸGunFÀî§!xÈâŽÇ#£. îRòE PMÀF=©FP묕AD1Ø34”!‘åDm5J+± ›âe6g³FÍÓSºõn»ü¿D‡9N!¼3±ÊžÉu¾ÚHr¥€ªÁƒ¶å:š0g¢ŃK_N\éRjÔÀ̻ք´h؉õ±²E½,N“ó™v®š—Šù·¯ ªäK¥| „?x*›7 +{§Ö÷ÙA°‡Ê ñ 9#ö ˎ[V¢-jѦº­ÁU +ø¤¦µâ´Rš`Ô|ºÁ˕÷^¯¶Óªµös ©ÊÛ¬W™$}\i ôÃþÞ¶»²!ébPì㚇=…‹Ñ´OlƒZðÁ­æÓiàˆ2ÝqÔdÇÆÉÀÌ^&œä(¤`æRн&9*=Ø;Úa‰uX[ï¬fbY£´Ûy Ó]‰î™é„YïRáë9*ÁXxzÇN.]=­»zŒ†¸»§2šŽ•єͦ¡€ÚoÜvzRíü tÆl¨%ð¾ÙRsN¦?Á“r—xüÉ­¬Ö2ˆF™ZQg’y,¥è5„ ¡,Rí3xÙϺÍW·©nayàQm&®l½t™¶ í<4ÓFROV۞§»Ýw‘éH›6{²êƒvÖÝ8.²i–‡os¶L«Î–é%'æ%'æ%'æ%'æ%'æ%'æ%'æ%'æ%'æ%'æ%'æ%'æ%'æ%'斟E‡/91/91ÿ¥sb¶^¹Ì†YæÃô¢ÛT¤½p X¨ ún*’¬X~·w±ìÂÙvÍq JÕzºÍ‘¨ZeèØXG§ÚÌ +ñwô$›–cè:EõQ…¼L¦9É3Rdzåe°õ“úÕ`ö»ê—Äì ñpǨoöˋ´UaÀ~m Gv†F Ã¿z^à`‰LØzc+Ÿr&ÏPdòìÔ˜ë‹ul‹Ùæl6¥D¶ e. Ì~ˆÂiÂÀþv¥íùìÞ¨¯‹íI¡Hˊ~÷¶°°–µõÔ¦ €½žÖtžÔTÁa‡:¡iÿ““™.Áb×yL$•IŒ…öLÌÓ{èN mq7{7UD¶ÖO L.”Pƒ“³¦NEÜŲÊäZôÅ¥¼)¾?oꑙSÁÀ+DÀ«ËsPÕ!𗐕ú»¹®|,íìÙÒ±¦þŽ1>o:–u*O™ºaæWšiHyqZ[èÐë95â ¤!iP|&@òݛõ¼ýÞæ%œW½„óOyA©—Ыd3[®ÀxX´£a-+ÞrÙĈÛaŽs:k3[Š&jF6¶²âTÿ˜¼ÙÏö¬‰¹YÒªwõ¼[<¿œý{^Ù<%EMÙP)ây Jg@®(a.2©âÚx"mRŸ˜×ÂÈå2r ɉùQí‡W"õBʵšZ³ÝÅÜÞjÙ,)œ%¥³ÕÑZUÍrýÔ~èÑQòð,&\Më@dsærZ½s82©ì~ðš–)$¨ãˆ4v Ö/Ü\f”zZÌLöŠÌßÑø4¬úîØü!J/ð«{E®Ó˜oÞf¡GÉ5J ¿k݌"–ÛcðX¼ƒJ“;ÈÛê*qyÂõ‹Ø¼‚û#ò·Êؼed^ŽÉŠ +"™º±=Üs[Ö /#bÛ¢Ë1T0ÇÒ2ïmfž¿Ç@öùÊ6¿0ÉgÃ{ö$0¸î¾­ÞðÞ,ÞKx÷­nxEvg ¶ n¸­3Ýv»€ê^ë®àºC…×­ÆÛÇv/*Au©o%:„–|£õYQ9pš8b$ö\T°GÁÖÞàtÇ;"M] Özc?ÌI()Ó`5œ’!»VÌi’Œ^»qs[77ñ¼¸Z1¶U²—:†À ãþUw¯b—&Ö²[4çê™k5xH ]ß9ºl +ÛyÙ{”ß™­ŽZ(bøÊ¨½¢—ñ̀—ãìê9Ó2·ˆ%êíœIl‹â‹³šü&Æ­õnþëÄÆn,½ðn­Y¶Ó;;|Ù°amu«|…¡þó)MH¯”ÒA$œÌškÒp¦É–KÅuÄÁNÌtgf¸€²oµ)#1×#é(s® +¦Êe”vZgPþÑ2³‹ØjJüˆZXÆÙ²8À!#µq"óXIóسÇ29-a)–€qär–¢êåøâ\c_×·äª9^ÀÔ<ÿ/ë ÃÛQԊ:RŠëع,„½ È(kirV¥w/Ôós-Ý`ð Íâü†1› p`v5AÈÔØƒxº¨qFƒ†ÐR®™1**Ì.ƒûߢÈÍE`\[à ÎNaJs™Å»ÍÃݪ 7k³¨¶ÁãØ,~íèyÍ”–4ꂖg`ñ2Ñ\ðî¬Pdµ¡R¼\˲ÅàªC©* « +à%53Ù*”¨…‹êÂVñ—ÙÂUÞç{›Ê¯<ÝR$Å"%ç"RÒc%‹U³'–WD4Ø»ór«^?Õë¡ÆÂ?Û1etñH,¥ òVÒ.¸ ö òëÉã*Eú‰_™TîT$<ÒÒ¢-ÙÙkS·-l·Ù~»Wù;¯Q]§ݕkì‘\aŠUK‹vžŠÐ¯4zÌP¨u»þg*[¨ÿ|JcÚr´àRAœK%q¼ÎHðmn¥Fr±‹•°â8Vg—åñJç艠Ð(£U[rˆ”Ã=å–Ê‚K¹äK顨»tȵ—¼ú’Õ¸*Wu†ÖëšeÄøù¼ôíV‘W¬BÓÞë4‹´ý­ÐŸL§ +Ž–°lK¥ìKaµÕšÞ“šÔ­s2i« Kù0Kˆ;ÎÚÞ#(šØÚp&8ö•I-x`º J>R˜ •DyÞ.‰—̰.W^lۇZ¸÷ëùñ-<å¢EeåYµYÑeE“…+Z,tXÑ`ûã`‹Ìªù쁤Uԑ‘F°ŸN¼9ºý`6¸ûŠ æpgˆdZ`|=ÞbÕÔ.N™õȎUþ¼ÅÉ«–ÁÓ²Œý­ªû]›VôåûƒvɀϦ¾Ä0L0©Ầ`¨rƒ[ÐFkÍ8ÓÝé.}iþ¹+-*MLd’³Z”.–ëQ¶4#õ_Ë.rÏjÐÜÔËM¦„Ô¯™è(u«$›Ö×oFÝh«£ËTm¡Ê2Í¥P£zö…!µCj®’v*ñ°Êê‰üƒ¿÷)‘ÃY=2ýât­:ãYaFÙ2÷U¼»§Þ_l%ã¼Bt®+êZIçF+6›c½÷àõ‘ÂØÝˆ s7ÓÀu{ÌhÕXZ-\ZÎÙS5w ü2¹ÆÑmýH᥵¥d5θönžaç¥Êõ‘ØìÅ>3x}؉–Á m¨8—ôÝÝ´öWk.u•ãÈ×ô}ée—“˪Ô2Ä=„"±,§•-«Iö®&=XO2(`…÷Õ©è<©Šó¨z’áþ}ã̖þ¥¸K0ÿÒ¼5‰YÙÃd!£Ôº/²ù¾•S±Š<,ËÁJAg¢÷ä«Qgeò”«\ùo/P¾^õO¢T´æ'QÅÀ¹SçKYbàÄ~«Ò›JhÛõQ*R›0fá,ž£Lf*SšrTN¿(É>y ×x.““¦ZÈ\üe1ºs³ÌCÊíBé[DüZ,ðc҃.'U©A0\‡"1(§-í֖ÔV&kCΰ, ÆÎUGÄq @cøÖ¢7¨s¸ž^³­Òkrr¥×ÔÉ5Uj ›P$֔i5‚€m,Ói–%sÁÆ«pFwô Æ½nêg êZ›Ýe`ž3v\—žr_rÊ"5cÎSª¤”EJJŽR硨þé'uÚIWåšÔ9&uV‰§„*o¤Î ©Ò;ÖCj*9òÒ÷·ÒԒü­=ÝÆµW_tôŒo·+|{òà…=ƒq^âÛ׎]xkW k@ó¦HVîŠ “#æ:QÝå y2ºP°°2oý )ÀV)O:.yR¥wž%Õ.ñÿ2˜`™9Í ­ÂjZo¹"oF{.PÑÿÃGÿk8–åS<”¨z!U5,|©k©ª–gHOõÍ¿”PY§SfŠÏO.PüœDY%P>-‰©ïYhûŽ„DP€‹[àz›µÚÈò `Ýjò }ÝFOâ*=‰Ð€fÑl =%‚qzEÃ$mÎ̐ ¶Ž—ÀhK¾`B' oqée>ä8vÔZš©„`X¶Ï0öùV߂aÑImCÇg?®xNÎ;:sæ#¹áࡐ40 *¡¤Ðˆ¼iI÷¥Û>É»6éYÂ(ɶ° ‘eHÆZ ¼g4鯟K&ï°ÔípݗP·½-°Ç‚f¸ô^weÕrY•3ï‡aÀo—Ù¢AÓE9øH²,#;Ì»…´Õ*ì¥ñÜKóüÕ~?õú×kI³]X>xÃAž˜ÇŽ«BO8ió€ˆF ¬Ú b-d,ku?Swbñ®ú©¸‚51馗®Ì”Âÿ£OŒS×羆x7K_{´›úSÍ8Ɩ¥°¾g )Ñd u_½™ゖž•ï~¦þôÙf~‘è8ÛthË÷!ÕÀòÊV)ŽmÆí¸8[€9|µn÷óôwïX5žö/E/E/E/E/E/E/E/E/E/E/E/E/E/E·üü(:|(z(z(z(z(z(z(z(z(z(z(º Õwc×Ï[e½½@ý  ŠúՈµ¾­r,2î̓íx©•Ô9Tþ÷ºøO®bØy[:\ÌÙÂì9ˆ—…[õùïÔÒxP×#Ë! ãF§!íeþ/G„ÊÒQÛ:֒€'•Z¶ê–ÜWY¿Zbiñ@šïÎ]‘§Jjé5ú=Ç¿—Q7Ô¡x_رÄþQPHÈpu¯iA?ÔÎÈ2s0š2(¥mc`ɜ¾ˆ‚…Š£®pӕ‹¥\"=‹D¶0fó»Ùj +´ppO´-†r9D¦Æ½Ú»µx‰´jká(…Í úb0ÿô$©*q‰ÔÕðBˆÌ)Lˆí‹„o–d3—2Â"r:„ ²{õ@Ó¢ù|ŽŸb/ýP—튖Kž/˜Éá³dlá 5ç춚òÒ9{*ásÕkþמõ +™eÚð6Í[–ƒ-Ìg§³ ;æÑç¶Õ¹Í}X$ú“tà©Íyþ*$=GȬî5æà¤16§‰%‘¬g–¶ˆ48ƒÓ"ÁET“^ëÚçÊö¼Íÿëçþs:¼¬»ÕªËûÙ >z>P6äց2Ø/´Äüt¼º]þ)¼"aÅ5²îûÈIÖceù2ۗZ¿Be»Æ¶«r-f·}©Ý+¬Tml +ßr®Ö¸­`šÌÅÜ-m•áÌË\&ƒë 9'¦Ô\oîI^ê sc¸,ÏçÒ¹u¹]5ÓaÕ¶>»WÍm( ›×ÏìÞgv[dÑð¼†{ªq6gé4»{²i4x Fèca„>7A{쀛Ÿ-hÀ,ϳ¬±9åiM#<›YžÏÊÁy[­”½t††=¢kË`9ïe¦M1ݰãbŽëæù Ë ¾0»õÜ®íYݱá,.¤ž×m5¯]Î_[Ù¯<«¡Pó×Ù.èù |„ïC¯êÑêŽ?¤NtÃiê9°¶ãX?|°”öÎPñVŒž­KÖ1[ Žö|q'yÎCß4¢ªN†?0©n=•*ë˜îš”Æ2ìô9:»M›\M[¦£Ð&Ôªc +šãCzcšw®4†Jk¼Zg¼¬2Zk\Geea·ÐÛ*˜5+³½{ʗzãPé*PžkŽU̽ªŽÁÑÅJÝq%ü¾€Ê oˆc"®Ñ1¯Ò+Ku2ÚääÚä|¦Mžé’®J.">C¡K>B“t5ãL‘ +šd纤aʕºä2‚"Ûx…5+TÚ¤kmGÑ{^½è“Û2ÌÙÊÀ‹%k–d_é”R4F_4joxºæ¹°ü”Jf(tÌÁuÌэü¿¢aº‚¹/âi×0¥_²E{U½ ¥~ɾ™ñLJ¢pf7(¢e0×}×Ö0GöÒÌ>ÓGé–gÚæYfyðYޝy¿Z›åN-ƒ›“dŽu¦Ýý%³l!ëcI–gù?K9û›îð>¿a©{Ö î= ´ÏZÿÌ©BKbvÒî¯ÑRÔJ—*KXÑZÒGïUYB¥³\­‹^VY•:KÖF—pÁ‹çPh-—ä[óbi¤•ˆ[¡5,¥Ü3­T½YÄ3]£»^7÷•-â~=õšùNå|‡{bïÑP/ª0mXÑP—ó=®è¨y¾õ|‡U-µžïKzjö\Šj¸ ÕÔºêºÿòlƯÑhÔ`—êk¸Ww½Gs]Ä]çŠG魗ÕÖðÄDžù^±5Él‡³í=,t×öÂ\…ºðR‡{õ×u{ÓEOu­çö™=ŠÝ4w XE¦–à±FæMÔ֙k‘äž>ÎôÜçëòV=xrÝsé¹ÞÙMzî´¦æNÐrûEn奟K‘/sÜÃêW±¸¨Nò»¿Ó¸ÞáC0Þ+Ïu‡õÉ×¼tñáËÝ.uøð>²ÃkÛbâ?/^y‘ë9­W8œ¾DÒkH~\ÁгÀ¼ÉtưHn4ªá `Tñ íe<‚×ó8/õº,æ±VÐ㬰G8¯ñ±R2îr;+û.T¹¦­V ¹\§î‰ío´C۳ر3íÖx„´O´kfڟ=í͖öåqr0qrà‘gÚxØt‘+ïy“ͨ2Šm•¸ß‰KðÕ`ŠÑÙºG­qY¡rnÜou#¨›Asª¯eY a‘dU§XVS¬ê$+.úêyVœßÝ*ÒÉ®Ž*·Š¨¼óÔ«­×י< ˱¤q¹À^³²:ÏÍJŽ·u3·"óì }‘¡ +ëvXmJ"qJRÕ”íS[¨þ\¡Umá9:ùáu˜­ú¶–Û£JŽf`|Ú>Í-¨McŠý¼H4Ûh¦{äw­8ž§»ÝwëìБ6!©! +a7YùÆÎ¿zúbhï@²IÝÝÐö]uÝúõõ#õÚÇa¹î¸rýò ¿~(Ë÷9ÒªG!UÀá•GÒü‘"°TE\,sy^èòžR—®î‚"Ì©}Ó­‹ÇEùË¢f%WVTXÖSX¢êÞ3³AãWmr˨­²ÒòBÓPáéš‚OóàùlËúL°q±>SAáÆ%…¼bÞCj\ŸO}.pº>÷<ïaµÆérê·åŒ_?—»fYcËf²®×¡s)3Ybxµ’/•>WÐ o¨uQ£_þêã‡ß|z÷áó»_¿zU¨wåáWßâ›$ßüæõçÏo?} ½ïôñý»×_¿%•Ï>mÚn¸ëIjÚ´ítGkbÓÏ鮝ǴIãtG²XÏ»åÿôß÷ü±Õçÿý_øÏÿ‡>þo:øôþ›_nþí5›¯ä’ßÂe7±>7ßÐѳ;mþ±Þ½ùüîã‡×Ÿþ²ù9ÛÃ~¶ûøñýæ'Û_èx|yüêÝ珟¾Ü‘ÖKcöåïÞ½ûåoß¾ùüÓÍßÓÿ7ýúÛþš×ÇÔv4ùl2Œ$äŠÙ ÒVbÔ)¯Â=ÓÊÀâ!½•VËæ÷¯ñVÐM¤ß·ÓxGë^ Š^jŠwpClH¢¹kH&Ý´cGßĖ„=mÚ¡»bÚìùºQ®£³&Ú}›¾£Ic+=a¡Ò®¤žºnšîˆèuÓ݈…ÝNý]H'tO¢<=Ö8ӇfÜü3Ÿ—˜…£›娜=þ¿ÒiÄ©m+_Dê;âÎübm„}3ÒÑx'z°¾ïFR6tû;éHìîI‹t¤»ƒ˜&Û»‰ËDîz” ¡H}‘ï€l6:2ÈãÅ®Cu¡^¯ìïh1à!6¶éæ eˆ’¬M˜¿º™&Ö ¡¡™õaú&ˆXêôrí€óhŽPcªfzi¤#3MÖù€ÚP4/¸²›ãõCÒyGË;53÷EçÓSЇ4Žr„·–\I_÷4uÔ;Í ­EbnwU´Ñ­Rþáí—Û_Ì_҃|ñù/Ä1óí+¾ á÷_Ùòˆ7,û—ׂŽÃ°ùÉO7¿ÿúôß¾ç—<ðw8c …Ð$¢¨-kEÖ ±&Š¥KCۏô5ÉxÄHh˜ÁØéÿö ¦w3*ëÄâ¦ù ýJ$”6|jè™Peº,ҔmÚ¶=ªo’Ü2LQ8ƒŸE»væ™.£mI+À‰x9ߞ"°'åD¸,%êkH$X sâD·"¬ü¼'‰ËÐ.%æFlhÙ¬I§ـh‘P°ÁS“2oFZŠÄ¾†‘ÖSŒ|w:¯cLKÏHԒ$Òê¦ù‹uÓµ4T4D¦øj"‰´ ¹Õ”„·ƒ …ŒN"¾Å램)"ôè üà±=IÄVå^–{Óalg>‰ÄÚ 4R=é‰iûðøÿåB}r·N7ÕÜó£RÂ^é)ˆ¢Ñ$vˆ4N-$½Š(YjxfÇ_FPS¢DïS7P?2Ã,܇/£-ÙCˆšG»l„3hÄX7 ›ӊ#Ž„“hyCbè!jáÅR/sCË +>©sÄy‰ÜcÈZ”;ìpÕÙU*Žß5"™óýé[âº4TXB´‚™¨ўš'îšæ¥qfwæØ¶‰X.mDìñˆíK2*)·ƒÓҀ±¥X¦ =(Ò$Zžm¥"8@j»^E[‰SܑX S#3 ÂÓR5‚FÐÍhÄcc¤‚Pð®Ç9Œ]Çå½H+'ax D¶/ÑȆL–79I¤ù›„é!i {…édÂ\ô"R`aŽî/=GϝÓå<¬4f#Ó7¢Ô ’Ð@ 9Éb°`XÊ'¢…ñip/Ü<õÒËlkœöì CSZ€´¿±~&nh9HŽ}?C|¡$‘¹Á?OÇ‰MDÐi’&XR§§ègŒ(=v#cˆk 6ÜÁbB7J* Ò{èV"Úê ýãÐÏ®è85uægmzŒ½êÁÄNø-g܅ºe k Ã@ñ¾ÃOfåî=Q¼4¼ÕùríºÑ›´Â_ü{b +¼»õzû³¼‡´'é!YDÅõQ{(‰ Æõûèþִ̉0Ä<*P^#«6r¤ÐéòÔÁí!-『=:a¾QN_ÕÐ"´IÄkF(¾6ÍDZ䉫Å@Ý‚vْ!1DßK×TOS2àfÅÂë±µé|y²":± ͋÷D¹Ì¡t2}·­Ðƒ ¦Ç6 ©QDjš¹ÚRüZÛxPô{Ðrۚè¸9)7pOì:•íroDwP2ÐCw„SŠžÖ]Èè dWf2FqÐëû¡¢K=-ö1uS/âäNß w+"ˆ³"ñ6£”=¸1Tp#¥x/CJ‚Ûƒ´ôF–{,ŒpC_îÀ¿ŒºË(ŽÂԔô$WÌ#d!åæ¾;ڀĠŒ›`¦§ËJùÜ}*¦„yœhõçêéˁ•kemXÂÍÀ¤%3À~€ÎNgl²‡úeŒÔ”ìÖS†as3¶ ÂâXÉÛñ ô\ŒÇ°òg!CØ14°:iDE𞑴îJ`ÁÆ©/΢=ÞÀØc‚Oi»¥’ˆ‹“\8d1 +ž!“²zÌ +†µ”ÅðP,º›Ä†á˜è1]¦c3 ӘRôó÷ÐgM@„ok$M®2¾BÎ$t3»K£8«A𡊫XVÌ;*¡¶WÑÂD_ØàH‘hM6î#Ö2mÜR€îc#]›˜ +¿ª â0RÀ_‰ë½wa>P™æ¦.&õƒô#‘‹R5€žÏ'Õ°§Ù–` +†Ð¸q¬ÔØøf"=®¬À˜ÇæLSg@A†9u•ÒC ’©F¸¬i˜òs‹¥Šåg™" +BäevU ¯bVêsx3%SúØFˆñt½°g½£ër7Èý„î2ÁøÊ÷·˜!àÂÜH xnð@Ä»FF²§‡9ºuÍV›‘ä ^Sj!+Á`]¢%Ij¯Ùqf!m3ˆÝNh6]‰µ<3„¡‚Ÿ3Òl9 Ab;ͨÍޓÜCWMò† ¨æîiO]Ç7eöÕ±h +EöA Iê[§ÝµLÙi%͉7zO\€é»Ý‘H6ßTO–Z1æ7 ¡oè‚e¶£¯ sÕLúÄ&®l†rÈpOš-2Ú P„QQG¿í@|y4t’p$a¼±µ4±) wÙôù¦Õ9‘ºV¬ zZ„¤úºõ“Ø0ol…ÁF6w±óeØ‘A mžx±¶=80‹ ºžamëˆwåeS^Ëeµîabm@?lÿ´ ›Ü¶l©,6مî\ 'í7¾aazIM7æ}Ý'l:gè¼ùÛ¾çâ'°~ŽÍœ‰H ɋx¤y•Ö´DÅy¢µ˜lZ§ZíLB×ÐëèqÃÑ ~§-È&(ˆQIØd£¹–â`&7b £æ„ûdšLR Ý]oh”˂9w˜eYÑsÐ`çŒ0ÙM¢ó4§ó¶£*x4O³cgâeÎóÂØóXåqxVÊöê;`VÛðŒ7pnÙÂ^òìL•U¥YÕx/Ö‹šÎž[°zDÆ;÷#o”¯2³Ïç©8›{Šm*ÀaÕ´•Ð;|‚öî‚G>bò –=ï{c°ÈYtI§…„×a­ú‘æÔÕÖ/R­Ø96B23 ˕5dd´'Ðj(åpDœ-&ña¯±"¿W€Cxц,ÌdGø.˜î»ˆ ‡‰å£‹ií̈,®â–s׉§Í¥ZìÖ°Lîm‰6òrvñGP\T‰®JÑí KëÆ¥l:F33Â8J»áLf§õ.&“êq€`.üãH3šk:©Bô¤°oº žW6blØ»¶w²¤í„Á¸ÎBO8 úŠ¢ÙàÜÖ$#W€`4e0 ž4VC]“£©R¦pÅjôXÓɈeˆ¯ÎU7öÊ¥É$8Õðp^Û`§š(ãiÀtEî«7¿Ÿi”ð饮nJgKÉ·©¦LõA,MQg n4vi¹’Ë.4x’\$غ®*´rî¬TƒÓO|OÕ¼á¤d£’᪠GAz¬×áñRØq®é·ãXŒ¬Ù°\E s;Bƒí޽åG°$#4~ÔÄ-‘mGnˆ‰ø}o§Y:ü¼l±¾ò‘òžù¨?›™^òó›…fñžlƱÁp3—™‚ªa5s‘ ¾“|zÜâTM£¦òt›íʗ„›¸KG-a¶ÂÜTæ‹Ð-jÕbuÛ/j·ÍùÂW^µ=ÜÊçÛÈ ¾ÕÜ^XmI7+úÖ͖GÝÝÙ>YlÆ4b‘ FOÜZ’l45êävU§`n~­([i"š×h¦{+Òê&a'Án5V"í¦åŠ”»ÚI¾Ù¨)¸!ÛyǾ4w‹q£¸s¢?s÷j;wŽeÖugjnƒ¯˜Ÿ[êIº1ß©Ûü+†ë®gÌî=p杏”L>5aÀ¼./¸O£’+Üóáò‡ûF֎¢LqT%wƸPä>›Jxr×N>ϼ?.ˆe/Q)°‰'Ʉ:w4¹Üçþ¨J>t·•Ë‘îÙrYÓ`…Dê^2\ݑæÂ­ûÛ*ØÝr.+»ãÎåéìà+ån÷º|îžB“àݟX úîv4}À“®2˜û²Ò,ÜÉ鈹A]Iqgi¥Ì¸KÕtwººZä¾ÙByr®«Xîãu5Ì]Á•ºæcWëÜ©lšŸ»ž+1ŸfФ;±]Ùt_w¥”ºKÜu×ì67õ6»×K5xkÁ»ºÌOÁ\ÇTjZŠRõ RŒý”Utâw´Ûæ¬ÆP/Ym,Õ}:ùكÙ,À4_”q5 Äyc¸‰Aޓ(O™"†Iù—›,˜&Σ°7mŒ,-CòSëÇHwb¤´‘ä³Ì”’{2sK¾£™eÞTOfæ›üfæa÷¤½©Ø‚òP˜±(YiTÊCkÆ'~³Où,•V,ŸL³uåù6sØyØnˆÐ•k̊EèîþÖXÿœƒxUiÊ(•¡ƒP°tÝp +͵0~bS˜×€„ožFb-3a"J>;ÂDÔoF¢h>Ña`ÔÛOcªj>‰®|ïQ—P|òý숬S{.?ϟ¬g¯ø² ÎÄ×A£«Ì³åo꣝¨âYï}uÎCÌæ3Xƒ:;k·JяÑû½1]†BÓçbêif¡ÖÇ ç¾iއh0bœëÑù<{öÜ×òß¼,†ÕÅ»Š$À€“¦aÌÛª§QN”SÛz0áôl¼,·(eüK~!¶\E¾Ý;"¤½²ðçӔt䮌ºä[–T(?šŸço­|Á‚p ØVœDYþ¦<˜à› +r‘uüâpFEòYºs?¶5õno*ê~€øý¼É51Á©ÏHz–yD3ɰ³ìU¼ŸÅ»½ÐÅ€>ًUJqRZ²z‹‹ZBÌakJ¬JÑà³Hƾ¿¼•óDi„;Jx½Z©ÚFÒjñš®T—Å]ƒ4ÐôFBƒ“(k4êü|r¥= ò# ‰âÈÄÊ´@¯DîE;€‡].lÕ;€±õ‘xŽ„Ìv!Ïf“GØPk® ¢Ybç†Ñb(–bÏ»n¢”Wì;Æ<;÷bkq>„"V¼+M¡©ï8 jþñ'ƒµƒm þôp¸ÈSo‰£=ûyl0z’º¾Žºâˆ‚j\q!‡:øø÷“åýØÁó#) å\öP÷`®ó9ïaÔaóˆ­ ˆrù°w†Cm™!ÝD|'º{½i²$~åYÞQ‹°‡¾xiH ý¬~,HçᏏ鯥¿b©Úä¡kê4ÔD† y.-ljڰ‰È¹R„T®®™dÚd‚8ÌÀÆl"ç^l¶rÎ7Ì}XiyIÐ:«­ÚKüZr¬¯)$L‘uÂZeà!½k윲òMòIºâs7¶1ª›ù²gòMfm[±|·¼amò¦¶aʛ¿ÍL$lÔ3!±™É§RN0ÙLgâe«!?E¹j21´ÅuN/—TõÍ*_Kc9'à%¬Àp(¹Èþx5¦ý†sDäJŠÈß@~dzsÁÿöO/£‘G£çÔGäJZú!‹„#Û͘͜8äp€Pw%Èõq{ 6Ќû¤ËU7.5DØp$‘°AóôÅD[tv" )žÛ¤‰‚ Ø©™ (& Hec#çXÂÖ®´r„B€Ç Ó"üȠ듥rz“O¾eGûÐ|¶ž³×hëÇW"„g´äLä9b“÷ÃHœºMœnšC¶†N¯DP’=9w’=@÷èá¶(ŒHÜ¿Æ ÐړLIB3ØÜ—#rƒ%uÃ_s>²iù4Žù¤‡–äLDõ²Ûül*÷ኺÈ6Àf33àÌE~_ùjïám%êq=£FŒØ4íæBf’p^õ½ø7_éw‘‰S”ŒGRáC£$ÐázÖWA•dvOœƒB£Ù"g—ó×ò´ˆŠ˜¾?ˆ<1‚ÝSîÏ=4ˆIë§gȟ{h tkkã*m“†ŽøläTuÈà ‚2GFžÈ9EÍlzŽCåDvxªX\.µ“f” Ãg&@h˜Å:،¬ö’3F3›XʾßYdιA|ʬáŐ7ILèXà¨Pˆ®èS.å|–^ ½RT‡ØYâûîð}gé8KÜfڀ ¼i$Vq˜ù†¦&$ɒ5-#þ‹Ó{GïªÙzqËFµ}08]ÅÂjNt¯ŸøQ‹7„evPù\‘Ï«åƒET»•á+á¯ìáòÁGÎ1ÇîÈô€BKÚva‡)NšÄ֟;"Y‹ãuò [ 0¦ Æ2rÞýá!˜uíP¼#ÉvÝ`>Û8îÚG‹ÎcޖGµU·–*>üý3[5m†XCSa èÛL}Ž‘ ÏçÙ¢È}Ùâ©ïiK,?›-Ãüü¶Z«÷ôUíãá+ßÇÌwH9¶y'Ù{Mçi¹#ͪvA‚ZÂøÅw_þöí·o_~ûÈRE†f'H´žGö88`»Ì` ¦>CDA€G% +Å Àùk‡ _õó—àçâ’0AÐÕ1Cp_û] "sbÖr€Øõ­kp +P%JÿWI/—S¼¯”a`PZ¯$}¾×ôyÈÄô±ŽÆÙf`ú‹vƒ¨æW4ˆRêµÒ©ÆsTf—-›X†€V!ºÕ@6†a4€I!®€Á@{W€Ù þÖE˜Û0nBæA|˜P§™Áe’¬`Ð<¡|bïVhŽcZ’‘yé%p=̓`0¦Q̓¨;ˆ(¡y8DŒó š7dE¡‚æy34ÏÙó4ö*QAó@+cµÃ¡y"䘻šŽ ,^8ìÞ,X@½ì¦Â2€]=±Öo–ğq ¿[Χòɖ+quÎ-¢V·•Z=Nʆ>§,O"z8KDãÅ8sw˜ ã·ëœYºixÜý¥ƒç³ ü0, ³À¢N;¹û¿@Ôažú"s2²Ë Qbš\ɌBb™‰ÍviYš`+=`—,ä’ÃèËlO?ËrBÁ£$êZ³F±ßœQæ–â2E'ˆ-Ó3ËQe:u«ÌdÝO±tW¼³5͇en$‘µ9i–þ°ÔZÐÎo·ä[¨̬eŠ.Ó è˜–ÈI.dÕÅR}1Ò$Ö´UB0ăe 4k˜TAɰ´b„‰óUÉÇÌ: ïCÔ+ºá-m9Ì&’xڜè Þ)ž.M‡ÄՖ.-<²ïê¬j'¡–| bɒ¥g·ü¡‹U7:g{‚¥zƒ¬3C°dpæàýUÎ8T,ŽV¶Ôr(ƒóÀi ’|Žž9½ LQÇCÉ\ÚYpöM ¨¢Z»(óáóA‘ºÜÍÉ2ö7’2Àìʼ{,VËÎGô2”¥ïÛßeŽ¿3 –ù€BàÖLTK@¼+­Á üiR\€NSªÀ 8•@lK–èÓiª ‚ `ÊxvJHVÄù¬x +`§ld)!u0bœž`Ð ü#Ù x‚Áª€x@¬ËÒÁ®¯H&9ìàN‚© ²d t[š½KIˆM+%xˆHÂÚ1ˆ pg¸[ r„$ze  <€Š ¦ž{¸@ m%$F¶- u8iþRCöÀ¡,á?0‰œWh !èšyÁˆDÐ,ÁF„È É!I83a¿Z +l_%´ 7°°ÿBçˆ@ +›,ؗ]À¨ÀÁÞ[iá•ê; p,H¬`Á®máUÌ.È.|‹Z +ý‚ý­é«Ãò*Lr!㩁̴½P4-›úÞðj$‹„&Êmü@ {ãåþlu‘¨!*GKÓèM:á4þ=­OqAËõögu;èOB̄Á íQ±ye£z]pþÖX®ðÊù¸ HE¬S>vÈâUjã ³5Ø À ¤š%ºŠ3¹|.ñ-m>Ÿl°1%jÛ °ürҜm6Ëέ•7îŽ1µ(RÎ{Ô­ÉÜ)5$Ö¬~UÃÍ"ޔœ0%**ò Æàè\ U„œÐŒ ³áKÃaÀz ³pœ0nºI…%F:*$¥£flíd._c–Íœ|æ4¸59©4¢@9¿Ð$Èê½|ĐÀb^è̓d¶ë°Ð?ã-|ç±æ?4a-C~(“"˜³ +œ‹Å(IP¯CxH“!æZÈ+Œg,ÓT|Õ:ó§sî{¼*Žpڌ•ƒ‘`ªtöw),ØA)àBH©:ê5 ®Mb‹‹ŸÅ £@("ŽæoՂPìÄHàòâr1;.Q5½ k%wao@aué ãÖå7ø˜ŠTb^ÛËø™4y/kÒ"DMX#J‘’F4vÇqք8•J!²Šæ_Ê®&?˜„‹˜„Tž4Q¸”’I.å~5gWtМNöE)÷„,;dÎ(Þ<ÇÉ$9*ÅZö:I§1¼ÍA,J¦?ð‚ªÁrˆ|ñ‹™2vìÄqàÏNòKefePLãA.9´*S‰ˆ…· ;%ƒ•[™³òÅï0u5ä)= *Œ™G/ÁÓçzH„˜4ËTB8ÚÎ2‚pï.ex7ãGztpœöNBÌ4;)©‹¤FÆA¢;ð4׉Io¯©Pma«l‰Š3 æ 4P÷¨^aâ´ó¦9Z,X‚èXWS9ÙükC±ëÇîRâàø³Xî™?q‰‚£ï”1pì¥-×͇¦BÀÑñËø7:c£“P¥àéDy¢žÏ¤åòå /sþ|]xj .œœ=¨««N2Ô%蹈¶F=]Q×q•Ôè'iê£í…œ©¦Ê¡ÔM噖¶é<S7f•°)[7guêÖö¼OÝþ5ԍÒO"5"’n”ÒÔ87JŽƒFŒ€ƒÊà5̃ˆéÎÆÄxNjPQ¿B•PeÀ¡'LY0t +×(J W;êÂõGÃpõ¥BÍp-ÇÑ5LrS–*œU¨ËÃ.‡ûpµ¬‚qåÍáCL½3€×+Ó®ÄuI‡4q•³‚>qÅÔ!R²îj *®àVP+®;"‹«ÊÚâ +u…ìâj·#ÀduÝPbò‘M&µqC@áTSKA…`ã…|ž›!¼/?RÝӏú³™…#?¿BïiqH6fQÉ#ff—zdÝ:ã3`ö›ÝÝÙ(XҀl;4R‘­‹FMÜY’7T]rS¦“.·xVÎ £NÝvj„Ò-¬9u;¬S]7Õ*Yv{nE»ÝìëÞ-ÃÆÜ~\!Ù¸•ي٢+$7YgþdVmganü®8›Èº=óL3¶×¼Õlò™«Õ>si;P1s;è<ß<Y.0GB-?˜»!ËæX;RŠ,ù¨‰6æÉâ9Jj1Éü)ùfu;²ùdÆ4òãäóz;‚GÇ1·LõE»V ˆ«o+¡l0ql<0kÍÌö.H"žCªN™i"²„œQ|#X4£’?Éì¹3‘øíJ(3·äg/AlüÅr“Á ;y°JûOT3ùÀ›Éç§46ù4šE*Ï´™¬Î#p×ôô 6ØÖø‘6–6 cS……ÀÌG&y%|¤áÄ0ª~^×*¡AQD¦Þ ‰â4¶È]øE¾e ’‘ÍÏóÇ7À³·|Y«°­âV06ù ¢ÏdÝGðiüï +Åæü, .úñ#¢L>jÈ3`‰åuC§É}—(6LÆI§[ÏÓGÏ]-^ðÍËBX[ð„±°WP@Ó + ¡CMŠìR0é´m½?{l½±ŸBÎbü3„Í ð#U.“Ÿd©Y֍£cÙÍj-}$;èm”lùf/”à%°]XØøAžñ}hÐ4~ °Y9KvaîFwe(ãÇu¦ØÜ"êgªS ×¤Âβ÷ð~/öB *ôPJ}£z»¨Ìz°å|í±Í¨"ÐVžJôh²-ëKRÍC}n +d…³ hHˆÔaeñMÈÊòÌO&ï¬àÍS±’İXp¥Ài\‹h½0s”°.èo(±k ¡pV¦#Ä åKìí%’ ŽŠ1ÛgXg±e*€Z¾^Kì°þ|^«˜ÜW+Eë{"B†>þl€hfƒ‚??ü)ò\åk&ËLóá@ i¹ƒ 2š¼Z\ЀšÊ¬Éû$E(†·é“IΩ”yÎéFbðuáÏP­. =•댡JúÌ.`;‹z r~–wd#ù†%I~0,Éo &ù%K¥&†¤ØpŒJÔn%?‡Á²ä 2èŸÈáÅçÛ``ò’0¤˜¼tJD_b<ã«Ð i|±ø5¾¤ý$[õލoŽên¾‰ü©tŸùsÛn¬ÞÎ7­‚ol('Հ:¡ðwbâSc4§šA'M>ÓN¾|5øCT«ÆÉ¡¯®3й «oV ø_½f„‘VÚôšôšG …OÁ™ÀÇ1ՒF…i” À\)EO ë@2Й©˜-§63Œ™b'´¬#´^sÌØGT 0pŽ6ÞXÛ¡3Ì\WJÕ Ìœ¤&DU@ Z*ZœâGdŽ^ÀL@Nå”Áâ´doè]uX¸¸eRömÖjIr¹@ù‚°œpN>ëúb¨:@LÓbHẌ6,C‹?ûÓur´È9´…¶Tœ¤ð¹#ƒ8È7,¡òƒdB~xƒUÈïXÂ/ä±0˜†Vg ë­AȄ×âJQ˼f—áaµÚ^ÅyZÿ+!YùJÃ"WúQèZüŒ#Š#Z›,p iöá᱀–vh®}–8-²™Š#l2µc~´„ˆxe5fØ °%˟5ÁÐ +µ%D"+æ–8ð +Vô ;mHšÿgµáÀPײòq©m,¿QË́9õ$ ûðp5º„² ˆœñªu¸rž{-p¤µí⬵Ÿ½ü]´×_³2y8ÂÃÃ7°bz©ôÚ(Õ¯8´%!NšËÌya>Ø Û¶uêÄÕEø‹/Ô +‘TPgÉ*âÈd O¹b ÊLœægU68 úŽicÃq)WZ‘ þMäz!à ‘‡¨Ëî!Á[ö½ÕEdLFЯÄDTtõ‹üFÉ^Ók1rz ”dƒ?ƚ¹—u—26è¥q֝ÃËCr÷œÉie$¹§ÑÕÊM‚ÇqPW¤$Ú¬û×*W‚îûŒx…Ë„Hq®?gU0ªÏ"ŸÆ«e‚PŽùžRS¦<¬ZssTnè…9 +ӋZýι‘2ÊRß3r`o×ç*  eM’?¥V ‰g /WI.â¤!?2uEC?j‘«˜ºªê5wPÄv²^5«´V9Õûò#å=óQ{6¯ÖêÏïU]ïiKÓÇà ÄڀyÙr\s½Yþ\“Ö&Èk×VÓè5n}º½®/ ¯—[/+«ëKÌKïæeh%z«åê¥|}Y{¹__ú¹,p¹E¼|°o¤ÿ½wÛÙ$¹Îô®€÷P'f 4'3"rç3±,ÏÈæÀ‚,Ø £A{4mO³ ªÕ„îÞù¼k_þÅîf—, \'dÿ«2óˌ͊µ}ßN1ì{-™ˆ§-Ù‹cëvRãØÞüxTɑÚ¢Ó(‡FélË£æé¬Ì¡¡:ssh±dxž´]2A§VL²èԜTzT°I>Š8é©SY'õ¤Ô“î:•2bç‘ÌÙyŽØÐ:Ávž7IĝçÒ÷ú'ìÎó+I½óŒKòïé(L’ð<2“H<Õ$ŸŽß$&S:¹Ëó ï’ñÀïÒ0 ’/=‡äUŸlŒä_O[$(Úß VM +ÃøIFø4’9~2¤’a¾_,ôi”%[ýd¼%©}yI|ŸVà´€Fz´y7s‹ÃªÌ°WZžrÅÐT“…Ê7¨–8 Y|=}xغIQja'›xÌVË6lg®[`ÈJûš…g'Õh‡on脵ޝ~4Õ·¸A¿ƪXê£á¿Œ×óÃAØ(7òœû\« +ÑGW£QgGKMz$·û`èéµ EtÃèÛà8*d˜.ª@mé&™ª<ŽÙ"*p-X`áváÿg „a%LSÛì¾;°s/ÛªKG/^vÐä0öëÌ­Dó¬…I Ǔ/,²@ÿ”/\þãn¬b šìpu·Í%Ó%¶ß; ½³¹ÍèüÙ a¦záH`—ÝàwÓK[ÁBlU>TÃÑ܅otƊ¦ñt½WeŒ”êvÌîÀzY/ÛjÙS Û´ +» €"Kö‰>-£vxò½Ú;­mºÞÙUu.ÿþ…ýõ€ðgµmÔ¯St¢|ä7âÊßWÁ}¼/´{ä u:–c£|å $÷Xµ8[•%âëš÷}Xþ  ŒÍ›úe˜Á;YäØI ­RÆ×È|m¥Çå´/ œ–±u[YÜފ-Þxç6^¨‚Fñda¯†ºhôQ\²D\«4¤x?RjŸFžk½ý¹ÔP÷qÎîM=ÖÔfùG†ºCz 2Æ5bC•®ç 9ÛmJãêCÃòIÀI¿ Ì .B‘TՀi1¬¡ÒY‡¶\¨ý¶b¥ß«3‡Æñ€ dǃ"šïC´,~д¥¸R?î*Ãͤ8¸Xèº37†ÿ_Y‚¼DçˆÃ²©/IǬ¨ÎÅM6B¼Å5ñ›q@룉C¼©uæ<úaŸ’~ðÊ(è×¹ÝÀh¨g¥ v PŽÖEÃ$˜)]æLþ}X”aö°ÐÍ + Ó¨©Û  ”hž×lB±4„èžÖXc +iO«õªM6‚ ·@ç±¹ÃD²‰ +.,ÅF‡ùÅ÷îYÈ¢lDè¡Ý £³Ý´§üñFT± X ±aì6á×ßëMj1Œâ†K/ã? ç{õÎT؍Æ.”Lñº!ŽT›:õ¶5?jèo;Flª(™þmóâét +*Ý$Ê3؝în4’Rná’4ž2EÃu¹µÕ¾Oå">ª™ná5&¬ùGÊYj;»°ùò §ª‘”‚Ç«‘F+ûà éƒ®´ðåÅ5Rš#…£Ç8ßþûÙBt–fˆ;Ž\WN–T8—z¼Ì‚pBõ¬@Kg]v+6ãÔ°ã‡6&N8¾Òý8ǐƒÌS e:Ñ­^–Ig»mÅ ›ÂT—SÞöÝÇ5÷ÆÑ&ü_B;z~]q€F;a»z6q@†Ú·S/úGn¾{#8ÑöÕºûºäX-ß31ò52 Ҁ6Ҕ$*Ý¿€=Ùoz€%¯Ë L>«KÆßìÒ|·üô÷Ñô• +"åHd”)+bQӐzÀ*ÞZ95öš¦0Ãc}ª#„–Ë!Cm/ËÆCr¹¼2l—K0Ã{ÓRÍ0`.é æ²÷€â´92옛(#“±Ï2€9lÆ sæ–ÍPhnë ™NÛ?C«©&2üšš$ô“ÆÉpnj¦ ù¦öÊÐð¤å2„œÚ0¢Ì©03=¨Õ Y§òͰv*è OŠ<Ãä©ð#’žgBÜóìx?æóŒÉ~žEßë<ПgVäâTˌÁtøef!ÉÌ>äAšYŠéÀÍdF̙ðÈûKÆC¾KÈKÚ ™Š™ìŠLÙ¤ý‘i7$£)3HÝâÉTRE™ršŒ§LMõë"}•†XOs›åÂÒªËdYZ~™T›,ÄL¾¥%Ùtamfo4J3ݗÆk¦ÓÀÍÔádgŠ1íåLC¦MÝӕ£íYÍ´Ñ3ó™f|fH's?3©éd²5<‡HÉNþEfnÝ ‰Ônº)™žÜ™L§Û“Éät2é<¹P™œNW+Ó×áe–{rÚ2žÎ]&ÌÓÌÄúä(öëÜŸÌ }ºœ™ÉŸ\ÓÌø§Û«ÂÉíÕ£3¼GeY:Íz =áX£om$F|Ǩ ê1õý:yo¸«;óüo +nNÿׂ •#8 Í/—<;À7œh°ï¬Þ}‰ýtx˜ˆ[H)Bf¸’Þ8d,ãZE䨗µO¡’~]„Tú³"ìÒ2Â3¦W‹0Nÿ„÷(“šŸa¡>:êÃ6†˜úðF(*§ ÃU9UcT+g4ƒ_}Ö#@ö¬-á'?÷Ò}¤Õ~RŒ¢á\=*ÅÁâQ +ü@=¢2°P4“ìdNãÃÉÒB  :é›E2®‚±ÚðnnSbG÷ ×j¿ðõðÆc:U@þZHl©ÆKåuýÅ/[pÏü¼Þl®•ouÊq†©®XQÖ ½õ»\°pî­ç¹å”ìºDžÔ—9Þ_R +ü?„[#éx“gŠ;­VR$~ÀhÝÙ脸Óýºxùþ¬×üðy5¼¹J›U‘!ZäÎÚÀÓļËÝG$gSîhÜ¥Ûâà')mâ­$&;þVõ¿<¨ãýý:SýQ®_ú/Z¨¿X\ÕßÝÕÙôyŸÂG‚ïDŠp¿™„WQf¯#¹v³xÉ¥K&}0\æ[±?)þ{FýSN öËþ.·ùíЙПM%Âꝡ©6†ëòƒòY/ŸøY¼,Ük#Ž˜ìZ°TVRù» ÔSÈs~%Û^¦™Îú…„çjי‰¯bI½fq+P¡UÍ;ÙÚ÷ž‹ª0 [Ä+A‘Š<2Ï*Z%„¹:¼{ª`ä­ð„£V‰ÚÎ2—x“«p«ëãžrÀªØQìï¶µa„«`ý´Õh\K·o¡åµ ÷R̛f-ª©¸-÷‹‰ >0ªð÷H³ÍÌëƒc|”“;οHËá x/ŠoTšoNòÅÞiøB¤‚¿ÎØ˜>=ÞNJG ¬dÓM€VËÞÇ~;£‹ æ‡, Ò¦y¤IÀ˜1Ý´>©-;WD¾Ã¸p”¨!‚– Œâu+~‰E¸‰lb\!Ër<®ËgáBŸëðÙÇf·ŸŒ7“ù@]H¾<\tV~ãèàô±&ãfh/b„×¹ã*|S'JÌ÷؝¥Ï}RªT‹™Ä R ×nŒW´ô0úo[ûb)×X94*¬¸êé·j%2¹+1•~ÅR¥¦aÙ¢<)–ôp/ûáY±=¦ŸÌMä/Ö÷Y¼{lÇéû®¡è;;†«k€qT»¦ˆÑïÚ$f¨kÉUMåäÞõW¬‰þãÚéú0–Ø:ó¡[?¼©Ç?eûý^‡öûûz¾Vã+=Hó Dñsÿýçþû1Tb¨†móè— Ä…h6{sju +1„sFq•@(‘X?X¹,Äd~X–ˆXÆþôÕ[Ûê%K´ôj†¥6q¥á.•vmv……*j¤Ð8¾(HTÔ< êû + ³à‰4×è«v’?«ä‘,g¸&«á˜R(í+j+·²aÊÙZ5\‡C•s§A ˜¨íqãj0G‹Õƒ“fMÙ÷ö%Þ‹Úà€ÆÖŽ—8¿¤ZŸU )²A"PáL‰ê ý(ÏÕÑuh++ +$7;E*Q %"B#ø6²™.ˆ8%@›»Ôº  •Êâû íUÕâ¯zìÆ¶#˜º¦r# ¸Ÿ¾®ªÃÿŸ¡ù"C™övH?cÍEXmìl*äïWûÂBÛmwóÀ€9xý‹¤ëÁ“*ëP*k+LÍ*_¬@¦çßxÂínl(±ïå‹Ô†B5÷ +ùB`ëñ‘Ÿ_;žÌ{Ä=Xó£ý`3ܾ`iÐ.Ý®â'ˆÙüÐÿ+PF?7jó3Ð€XXðt_4²Ë}ƒ#Hd÷Ä[“? <аÑy,‚ÊJ…²P¹„ í[–y»ó¾NšÃ!håYí´¦|Þ¡'ê†Qnbβ °8¥)¦`ȅÆnCCI­,3~ªÀBôü†CƒþåV¢µïÍy‘wýó ±´ë’ü|±B—Ñu:ž “„µ&ìš'x¸éÅêo†Ú¡;û½°(qq[…öÉШdo_Œ| +…jÀ:œäÑ­I8Ëx™û–ª#­šG'H‘ñ% —}5x¤| 0Ж”D1d™XФ/«ÓÀµLÏÓØÖi’ œ~ð¢i^6XœÞ%¼Y e€ÝfÿÑ̵Äd…ßĺH–µ*]Z­‚é9‹ï‡ùUaüts† bœÆ¬È ÍÓX%,B§Ocn1džÆz°\e?ŒÕd Ç£´ÕäQ †Ûz9v˜Žb=è*m:Š9 +htqS ¢Âb°ßÔÈ2ż…µ_ÛYL8úMmœÅ\aC3žÅ@Ól–ò,pÔ¸lã,.m³Àé,†ôÖäÃY̝6?~ô¶ Aÿá,æý•ºÎ³¸(hÂØøY ~ª½êxƒJڄbgq¡RàÒÉëgñsö?I¶ä‡Ò¾–.9V;‹ïéهݏ²Ê)}Ã­œÊ–GqæK®êå³_Ü>Ýé¤t'”‹Ï·g»ÂÚ´†¼ g°Q¯^oÿ>™A6~·Ìœü¸¸q8:KœÆ×'Ë üK'nÿ•Æj’Rün<ŒÛ=_žõøÉÉ?ö~3€¸4óaÜ(*‡qƒX֐Iý0¦‹Ð@^ÆÃ¼nÂBõÃX]‰Âcò‚û☩:ŒŸß‡qS÷;ÿ2Æ4± ;ã&æÑu퇱úÕt„Ž'2MfjB̹ÝfÛúLo§½Ýx ó†[?ÕŠ#Ж8giër\Æá8Ö4uºÎƒ.y3^ˆ3œÇ<Ï?ÜÏc¦Á‘°üDvñY &lµÏ‡ë\740äÄWßsDõ\^·\9&LòA|,—^h(ÏÕHÙìÎbÆ+;H8òB7ോ褭)œBx U[a÷¹mUTÙ ¤†ÕÌ»²¬†˜ÁWÚ^UKèÍKލ›úv+G>Ø‹ˆÈ_„.öŠùÓ Æ ±Û”röƒÖ@B½=½«>»ùâ>/Áê'aÓc“º.©T‡-^ûׂ¦TzïÆ’EìŰA9lq—î4LQ$4‹M©a/2Öæz…ùMܔù(ÚíÓâf€¸qc»ßÙÌ)(Ôq.=À¡pÝRƅðjî»-àŽÍ#k zQœÈ¢7À=PÙY¨j%! ®¼õ¦¾pS@ÔÓBŒsötÌ"®>ÁyÕf_ÍX¨m"%˂ýà;Ç¥î–ð‹)é’ÅLBÖ¾<[GݟDë56'†ó 2Ò5x‰Ð„~2¥˜š4¦,ÁbÎI!HΫ™:Y/å¤U§±æP p*kGbH"à?pij‰´”m Üú Š°® +±‹¡Ó1!õªë™##¶É•ä‡z8ÔMN—°GÖßéºÝ0nÇÝPlèœ;ŒñÈ­´²_þ”±(7MmÒBþg[bûɓÀÇPéúµF[û[(nÐîݺ֐°Äû°ŠA +»aIÕ\hžýބ"C `„ª¾ÐÎw—’êmîGœ‹3˶-Rë[€Öµ¨6ºÑPùìetê +Buþcðn_¨ê@0ͰxåL ò9X½FÓH±:3À&D—µØSu\–¨áˆôŠì;T|‡'+$¦¤$P•sú…K¿yYCžžENB:W´ð®-*¬»~Êîõã5ÏÇáä$ŸbRpzN"+Em*9õäU_­—7Ø9 :Îé#ĆóoXõ•;%ÉfSÑçâĤ6’~`± p$K1ŽÅkÐÁۀ°5œ•ÚU©NŒþÃ~+’ÑØ Þ+4ưáqaR/Ú:ÛX”FÉç¡3[}2V‚vFÍH\¶]†¥ÓŸ”’éSšïEh˜iË7Çi(„ê¦/ÌZ¸‰Fµ»OŒÖýpãќV[×1øÍ}•>Ae]^'rózˆ>á\dÛæ¢v°½®5g®1¢m\†Ô¥@å9­ÖõtVðXÕ²:M…øÊ·úVæ"´jôQl$Â$*±ÌÍFÄA-UÓ¦Ô{h´có +ÿv¿¶¾ÁyøA¤h¾½Êqt}¡ +xââ©SÀyWÈeÒ=EiXF¡£Êé¡îÔc@~7‘ŽúŽœ‚pBR/bTªê'u'oqüæ¨c¹î¢.*u±Ú‰e†‡ºÀ7þò¨ÕÁ–šÊ¿†‰“f³ ›ò ±¡mn›çV5=fq.}¯¸·U~xUAùªÓú·W8ê|2ÃÆ‡%!FªCÄ?œ»DÆúêÇ3‹'xŒ}Jà \·³/Òd´7VâlZ€ŽÍ™ÑM{l,¥ñ†d0gRšfE К4T(z.×lA©Û…¨i¿N©ÖLØbÔÃ*¡3™líp>§4íîдuóº5Fz2Ùaò‡ÃšÌÂÖ48凩¬b2Lëe݀å—4a䢄Ü8øó +°¦Ñ¬Šd¥S°fÕ锚 ðfNê¸é"NcWâÑægßèÒ5 -hq€p +(wxΓ›A¦‡òˆôF”Š#˜ ›W‘ãɳaó®›RDî)¹Hù_:I¦)qFg +m –{\"ˆè‡q{Ñs|ÔÙu€ÎõpñÄ7ÀrN7g_vÐä.öë­äÝO¥JÃõD)*¥:¹¨ÊØ HWVI‘<„»«6Z­§p‹ím«ǖæ0cGàü!<ÐVã^¯ŽD8¤W\å,9-¨Î"§8Z©±p5ÙÚ¬XýŒ%-iûâyՑ Lùs'k]3•5ó pˆõ +å9M¥ö偶-MßIþ{ý99nüfñÖ¸>¾»Ãàö9 µϰÏuhK‹msz8ÁGŸ÷­l_¤¬³6×!}}®µûd2zœ\“—* ®<4míªs¾]Ã>Wå(uØäqwÿÍ~Ý逹¹§ ½>@l=†5˜Çs‡òÖJíäR¶fîôûÝ«›y]#€6 h@j{+ÆGjÞ!)]R ‰D£X5HÊæ{8ÔªôŠBÐz¤[jFJ-¼T ˜g䞺¢F¼5³°œ °ÚúèJ[e’~À¤n§ì¢^F”húŸZ¨>òœÅÝçÉaM&ýÈaòTR†›iýôڝ"Ï7z¥ã<©WÜÂÍó”ÒӚEìH¥õJi§úÒ0G@Õ×Õã\æ9zMЅ/¢Ø.i«Õ%M!Œ|‘ ‡dúރ&Uµi¾ä"´’yì¥?&Ó¯…0_*B=ýÅ#$4_ ä8¸؇*‚PóF°ª}´úôDàkžÆõéŽ Z®ˆŒµM 'cr¹¾"n—k0ã{ãJÍ0`®ç æšÏâ´72ô[(£“¹É2Š9mƌvæ¦ÍˆhnìœNû?ã«¡&2›š$Cµ“ÆÉnj¦ û¦öÊðð¨ä2Šœº0#Í©/3"=éÕ\§úÍØvªè OªŸúêsá±gu ¿ù¼ó#@ß0·,¤ rñ|ãÚMçÒ²He +›”{)ìF£Bõ/6$¶“«Cí×ÑO¡Sñ~‚#TQI€jZ¯ýºË,®þ¬[9ÂFý7Cb«Â_-/ëoY€ïù•Ÿśà¾r°öÕ¬Ûàofi5”t‚D梁s`™sÅwÃæ«mÛð .ñüàþI[õv»,"¾O3‘ äÃQWøáø9„I^z|ã‡Ï‹áÍÅj¦Œ¿Q7`‘ +75wWQæ’0Kì@lb1BNµ֛¾­¼ŽÆgü’Üô›b»š£þý:W"ýY¡húoŽ +©¿[^×ßßuÛó;?k‡·DlKjäF3IAðW5Bԕzdœ!. Ðጌóó*ߘÃB?øaTG”"È¢Ém¿ìP¡C<ª  ÕP"ý²þEñ¨Ç7~Ö¯ðxÙÊsM6ÃmxÉÁN©Ü_ÒÛ$í6=pn—ü-0×,(U-ÈP4 !ãI¾-¢Y‡¡;L淀æ,%%5ô¾RâƒÄô? Õ;=ÕÀb+!^ÞRq àÎ⾑OTÞÑ|dºKégÝ?žçYAe<Å:iʰYÖ<3í™ó#ïƒ)„Ÿ$ÿšÕXª` î7ÛúšEgµ# +:ð#Š÷ÞÚUÍ¢5ýAð߀Q<ÿ `_ëýÅ(*жZ½:höNãnX‘#!ÇK?£µ{¯Î<ªÅ*÷Ÿ£¿y_AŸ!«9÷bÿM̉ ÀꯆI¡’‘|}»§ø‰â3G×§G%¤©Š! vñ¦-Zñÿz­C"*7Éô“±—òÍr·åÛ箜¾2woŽFîð°TÓ¸¦ÂÈñO¥’s”ÊgšËTR9ç©Çr]äKLë'õb¬³§î|êØoêóO ~¯èNkµ¡ÎÎ=v0.©þù þüÿ³ò©ß-[ȳß-[ȳ߭·ýnÙBžýnÙBžýnÙB>õ»e yö»e ùØï–äÑïöü‚GùÔï– äÙï– äÙï– äSÓ[6gÓ[4gÏ[vO=oÖAž oÙAž­lÙA>u¼eùp]ÀöEË[vO-oÙAž-oÙAž-oÙA>µ¼e yoy‹òÞò=äSË[´gË[¶gË[¶O-oÙBž-oÑBoω|?L±Ák¢Â9ů¶:­b‡W#½eü»¯F ºB¯uxµUx'Î.x5–¥Ñ¼Ú™ ª9¼ÚJaÜ» ¯F¥©>#ÑÕ(;¸öl;¼ÚṞJxµõôzç„WãÙÚTv£Á«Ql¬yék6´ÿ +úΠK5R‡˜ +Ô!¦B#%ÄÔ¤‘b*5R@L¥Brˆ©I%ÄTª£„˜ +uÔ¦Fu”S¡Žb*ÕQBLMê(!¦Ru)×GcjÔGc*ôQǘ +}Ô1¦F}Ô1¦BuŒ©Ð>djÔGe*ôQG™ +}Ôa¦F}Ôa¦Bu ©ÐGÏ5ð3õÑO åØ¥Žöåédª¦:º=ò eJMφñ´ 0U/S„o¿¸g(1¦VSGíÍßöšTWF÷Oýê'üvÀKíkh£z|&èø!e<û„­“8û['pö;¶NàìÏØ:³ß‹ó¼:¡u²bp„Ö ”ý­(ûZ'Pögh@ÙïÐ:²ß¡ue†Ö ”ý­Ó 1 ue†Ö ”ý­(ûCVÌ˹'hDÙOhDÙOlDٟ°ue?±uf?±u¦yüQºäOÀìÿtìV狷Ai«~ÆÕq¬{äSú(ãO<áö]vJRn'ã8^ ö¿xÅÚûf\ŸúzÂ'ÃÕù¯>öÏÖù3è~¨@]®ã%³IüNå-d# MX€šp`´¢) 6âœ\rß×ÖÖ݃Í/<%,Ï®pMh““‚ê¤ûƨnÄTøÚÓOðÜÚе½\V!¼+»1šv6ψ¢ ´A94nÓ®'éé_º7oï–<\¶ûGƓè¿U;òô‹Ò×6¼™8©”ð—'o·]çË7bì4äÛX`®¨ +?Çë~Ô¡œÆõ>_T+×Ç=MácŸ"þIF옼®£ªl=‹“D¥úý7­è8Ž{5"¶™Í׿NÅÁù™Â®¯ñ™1DuÕç™#Öh?pIÙ֌ú(GV*$ÁEêsDäfÛ{Fµ(†rÆâ‰ÏËrUä£rõL¿˜«,ß,b¾}.Øé+saçhäâÏë›dØØJ9ü}·Å=veDT­Îd=4‹š§BJo–Œ¡š·CÕ𗺳Փ"üU>‚þT³Á…w¬AÌ+ã8êË^ïfÕíe"͉”Ë +ì‚Umj¤Âä0܁ÞXÔ«ŽGÒ¬×jøÉfF׉c;ÏÍàÚ«Å»ÌßÁ¾9¼­?1ØP~çi“Áh쫚ÐoÛ·¨œäVo+Áî܉ËI“wž–£/æx©Àðð@( ò{¼É}þòy•eަ¸,.ÕRâmÏÍ!y¹5DÓvÛpçøræî9›¶=ñ³¸3֑}⠅‘jÃc'äGiɄѧ7)Òû¹»ñù¢ÂFaõ¸Š:ã£?~[«ÇŒÏ÷c~Ün'‹wÄOfÎøyÖÆÌlƒ³›âÇy‡ëgÝÂÌfÒº!þÐF”AéEaÞÌ(€oyòté«V“§ã]5Ö]e¨#AÕE¸®ý*LþMðO›£cÞî¾V:aj]r¿œØUãF#É ƒmUp@jO~Õe¾4ôô­¼Å2µ¸" ^h5;„“Ðå×Ó{oêQM±X·—fh¶/GF ¼¨ÕòÖjv‡´~±rJòτŠ<º{4ò®`ú-úæ5ºOˆ£7KšÞº'`Y jqá=]UÐ@ 8”(àÝ>¨:MôX<—0Úª•¬«©¶¬¤ڋþ¸¶W]‚èÉÔ×q¨š܄¾‚‹ ¬ß³kY×½‚ÔՍ·–U„¢ê,Bãiµ¬¼Ãvû—©Ÿ­W¾€3A§‰À ’׉#h±øL®:Íó!—e7%kõ*<«<Šu…DÑ^Ú×l‚ã:ÐJN‡¥Ø×½ ˆ“è»øà»Æ¥»£ÅœšW$ûa§¦t÷zõ a=­±c½¼ëV/bL+’¨¦~1„+¦Åv*1gH ¬ïÝjӬ牮#š”b\m´WGv6B™y$j6AÇ©œQ áŽÔW +ÈL]Ѭv¯¿[UØ\z%$é÷±Ñ¡GP­vÎ5, ;®gþw>ŠÖ¹|]Ä¡7i‹ÁPÞoc©%㹤;—áіàe¼)ÊÊf-‡Õ©•ÿQ¹¸a}aK;ڋô“ª,¡°;w÷Tw¿Ns—äÎ ÖÀsÐ?ÞóOz†Ö Zͨ…¤žÈ &VÔy›m·åÕæÉÕæQNµIŠÁgªÕF8”Å NWcR[•¶ˆ¹o^ŠW/Ò·úœêÉÁÂUDïÎãuŠ PÓ=iöÐå­%¦M›·ª!…Õ…~°"v~@ööú¥xV´÷`#¹ÅräBÖ^f‘›‘¨ÕþÝZ`”>#ks\ÚþÄ`½*¼¥FìÝêÁHµ3°ù›¬x}ÃyÙÀêN‹¯£¸°,·#ú¸šÑ¼¦¹¬ÜÜmD3@Ý6ûg³×o"Ý,(G¶Á…²_õ“ÛnAڜՕÒ%g³à’^6¥ñ"|¸U-u›Ý+I15¥éí7[Xòq©kC +‰g¥dú͔满]ÕžïßPÐkyýÎX¡9´{©ë%†ŒP9ÜydbӍ9÷Áì‹=f©ì~ZM³Éô M!g½5 †æÂ¸u¦½ý¼€1õuF»š}d¬Åå°FÌiÍ^›5>æÒøÊ¿Y‹ÿð*ÛiœÞlš[iEãȁôݶҪ§Ú°iSò tî]š ô÷÷Y_lT€¦£žº‚¦§:huQ:ª®;j×MrUÖ®¼@ª;·YÅáö¨ÿ)4!Ž_q”%æ-’“Nݽ™)UïíË¡~oç¬Ã/G M¿†QÓOƒûà1tø854ŽôkJš§ ]€â +ŠSˆÖ3¬¬SÒ~X©SëËgEop¼œz´‡*R“§ã½—z­Ã Z"=´«£¾ÇyŒ%ý—GvJ¦“=¥iðXŸi#Ð/&Ãp²%ŠƒS§Éq¿¡ÑH¼!͗”¦™T˜·Ó¢ZÍғÉTª7¢çuÁßÍ/úG½Ð·[i¥9SZstjjÖÒ⣊P#=Y†ì&h¥Y¼Ö¢[™´U õ{²FWÒ1{íV+F”¾;ìÚ{;Å`þž¾62È݆Þïfôº8ˆÓdn‡5Fùň׭›í$§A2Z÷ÐNëáál{ï‘ÆM îe]*ƒ3Z¤ZnÃ縏9Ë…[¢Jç2;/;ÜÙüV¸8C]ž‘$ xÌ®Òá­éQQúJÙ¶y\Ôßl ܲÛ±Ãy;á=Ü»s“e39y‘yŠ(å¶Â•¤DEø,£Ã fµ2é—T¨) ×ÅbÜgáâj¶–N(»‡½b³LZáEƒ*Á´¤îÆ^C€ÌjÇîo.V’¬’ÜXÖa]<æ¨Æ­ÅëÜÁxw'‰ƒó(¶®xA•ëÃö`Hßl\E»²G¼ûÖ9àT$Df úÍ}$Ño¨$vbÏ?’*Ÿî‚ù;÷>h«™ôù2÷¢Ö©ž¯|z½}|ׅ7JQQ|¸·×axĶô®!”ðh¨d±f ¸c&TFÇðÅ€x$™r>Ïf S}ÚÏ­Gsuœ`Ý¿ë,ˆ•k¬2Zõ3k‘.üÛd;rAshоžÁ3Ž×3e¿‡:v…j˰wåÕ¾½èí¿îI‹í˜„ÞÁ÷hƒt¬l¹X´‘rIlu +@Ïˬé~»ÂÁ †Ö Ö«¬Ç=Ô®WûàE]÷4]è%¡ ^÷qŒC­¨ÐsjçoށÚP¨(€Û…ºdÈ*UºV½jO‘‡òeò6kço /TxC…_Ž.Š^³ŠªÍ³Ä a÷3(€@:ìg ‹Øîôó‡?÷}8§x_œ6:Ϛ S~æQ´¹m:Çýh¤Î# +nòÕ'­Îí S¶‰Õæì8SòÁFÚÃu~²3j$ø¹mŸ-ÃD©Û»0&Û äž=¬Ø°MXÔf¥…ýÒd(-u`ˆ¯ç5Û9ª-¦E&,&J€¼‘†‹T…6°n€±KÊ­ߥ‘†dxÕM9°.Z ž†½§ºãÛ̃ÒX)ï´éÀÞ×0q¾¤¦ÙhÙÂe_Š^„½Ja¬\)·hï%oئnõ‚s±TGq Ó¡voÏB“àd [µ¯i`Îå>ºÉ u«À½ %·æ›*=ñäÊ=8áPÁ¨J³p`ÑÂâÞX2¤Âýh÷,;ÊÀÜÁ¼š­Äpe(ϕHo‡ú\Ë"…W¤¯¸ÒÚ6¼ +^ö¶R¹bLϓ"wÁxÌYÜúq?‹Êy@8rz2gwú{zνÜxu¿P}øe1*x"„Ÿe/‡‡)E­hሪvä£ôUiÌ¿·íÚ}Z!‘«õÁ-tù¾ Dh8Ó?¦ˆu…W-ýhÊy“Ñ>ÝíF–´×ðÈù¤MCž;õñ1 áß7­­G¨ðU O—P„ÈÙ9Å +ò52î@Uqe22>ш VÏrg£_±Žþ¬”L¿™Ò|·ˆ¯ô÷8Ìô•­éc®ˆûÌ£ñ¡>úCê3±¦y&#&Õg<âV}UD|k^<ë‹,be}FLm^¯{Ëuñ¹\úǛ6HÆûreH0vZÇÝÑžg=™Û:ã”ÓîÏxf*‰Œy¦ÉØè¤m"„š:)£¬©¶2;)·ŒÚ¦ +ÌÈnjɌª4ãÄ©o3–œ*9cΓæÎØtê÷Œ_ç qî<)ޏñð~¢DÜùš™jO—´§ãÃkíiûѹðßÐà Ö;èð ?YW1zÓEõ·[éN7%kVQ~9Íó†ó6zïBQ§i8ùÒýò±#€Š5 ¹ˆ„ +WP b +´'‹ÀBZg=X¹•‡'ÄO½]=€AHÛ¨MÇ8G^qþ¤•äïE@åÃøVvé/Ñ¡¬çGF§D„yú€Ñ >°4ÊÁϰRNÒ|ʹÌUŸïb=Ë9øÉÏèAcs !6—Žª_ µPÎù^;çªlióxëÑèÓ/*­p&¨Ñ6ïWQç®d?DZà»vë웗j¿ 0²4ù$Úv«¨ âCb‹5Þ+¯ëï~ٚ{~ãç%ñ&:<,Y¿÷n=ŠUBuaÕsw¶+Ò¸)Ùu‰LŽ7.»¬[°?)þ{ܵ1)%®JÈF‚L’ÍXfúÃï9Nj\¿#°ý:÷þ¨—/üðy%¼µ@ÚPåѨîA4ÈûØX»»¹÷h©Q*gÜ¢ôÎ Ô<„tàˆ!#6;݆§3ìÏ~•iŽ|Œ«–ü­Aÿä ¹¬¿±«±Çw}ÖѾ ɹã,3 /Æ~؆¢ÀÎ$—.™TÁp™mÃþ ÿÛíàwèq½õý]nou´ªô'Lâuô£TÃuù5ù¬—ïû¬^ÖµjMG €ov!Åǵ¶5W+þÙUš©Æc§â]S\g^#¸–‡k°Ú›à&ãZ –Êê«Û‹²ÎBÊA¤åÁ±Uy(0Ê«Ãnõ÷ ÚDúvx÷ +aE°ä7ã¨U:ÜîlVU ªEóª?TR-«Àç¬D‚J 0k‘Zd;KXŸ¢uÈÚ¦óà¼õ+v÷Pq¿nõLÖêp÷Óo6§¦Ž7ïYE˜ùîrÏëå ¨¤ ‡¢îч ô$!¼Oà +ËÌ6 ~%¾oÃœŠ¥¼LduœîzŸÉªÍ‘¯0­P¢Œ"3V¤bª>ÉU(ON-T.‰<ÆËuù,šI@ +鿉ÍТ®$ßM†Ãidàöú„oQYù•£kÓGCýyøx¼ˆÓæ¨*îê0æý5<*9—30µŠÁb&ñ~ºµ;cÆ"Í#×½±ë6,}³cЖŽ/1ª5T¥’ːÎYZäruÕB±¬ûu±ôû³r‹L¿™)^-¶Z¾|ìÈù#sçæ`äîÎK-0 lj‹œ€Ô(9E¡x¦™Lõž,×D¾Ã´vR#æ{jÍWåúáM=þ)¡Áöú®CƒÝÐarØÙ±áÁ“>ú öìGuìþ h0¢“F™IІ#P‚ÄÀ|¨xP%âKí}-ªLïC)€Öh·!\g,*E``Nló¤SÍ;0øÐ¼{U]sLT’óR¹-ç)d0`L¬-0 +²/Ï/h°"µÃ@Nw M‹¦@5Б'PL†ëæýs4ús GUe´&6Rp—®"täˆÛ ºÄz Ë­TZ/c ò¾X¶QTªŒxÔéäÇΜátïc¶:^‰ð\›ÁL âqìôãiöåÄþqz.ÆA%²*ŽÛ“Ì1*Ö Ê‰Ææ$}r8o©€ ©9>Õi³zYÜR¬ŽÔ² .Zsƒ•©RuiÕÄd–‚³²øab!£ÕúX>m–qs¾Eè’h{}Ìãûa†•«æìS°W3|¯ÈãPYå½XTA] +hbû¶`ÀÀä·-XF×ÆÈº{Wùl€âX’›^­ñû^ÃÛÉHEôä\÷稿µ3£OàY +—aZœÁ³¬ì²öÐj§Ey:£yT-±0l( +¾Kðb’éÕ¹ ¿Ï)øß͈Éxξè¿ L—GzH¤J €° on>_•šž¹§÷°}à܈wߋ•ÿª ÇC¨ðgï冐’ɉþ#éDZšuõڛ +ƒ-ÞôÖ-²ï6çÛ%6. BcЉ÷uêßÿâ_,0lVNòE%I•“œ¦úµX»¼!ûÞgäIPÏì °Šå_¬ `»* +úS€`ãÏœsu/<:­o‹èW?åço۟¦PExµÏˆ`ÿ<°˜ºÇqÔ·ÛDÃá4½îôâKP q:¨sé½óÖhˆËv.»êƒï)XàqÆ5Sá+ €ANJþ©hÁú/šƒVáBžkG¨á2OðYXhϾ/V¬{C4—øÜ–6Þ¼¬Æƃ¨=¨çëïUw¯ú{­FuÓ_ìK.LŸHNƒ0Tжxë@ ”7½iLëáí´9öðÈQíÖç‡JæÒÈ®;ì¬îÏ:šu¹ ¿é…6G°Wšµ¨ùúT·ê4ÍϼÏã½mý3m8‡&íC4×õ¡=šÅbhmv÷IÚ÷9׀¿¨Æšðٔçe±(ú“bñÌ¿èk,_,—a¾|.×é#cUçXäºÏñêûc×ÜG9þ}¯Å=ödq:ÖwÿîWß~û_n¥ôWý›ï¾ûê¿ûò¯þáË¿ùê÷_ý滯~‹‚šR‡ÝøÈóð›ïƒEq|è_þöëï¾ý×ñß}û¿üþ7¾þÝßù¿þ[÷ko0\üïÿðíí:º¦V@?öì¿ýúV¤ÿÛ׿ýî?Û ÷•ukÈç…ý‡¯¾ÿú«?~ùþÛÿò?ôÿý×ßÜ×ýþë¯þáËÿé«ú¡«ýÕúî˯÷åÿð‡o÷Ý]ü·ßþþåZoT<ÿô'þ‡¯¾þûÿüݏüÆ¿ùöþ?afþƒ?|ùèÕ Ë_õ‡÷ÔÇ¥}ìeø¿ßü_÷«ß#ùO_þúÛ?â–àw_³´¾üÛúýWo®Â¿üÅóU¿üËßýÖo¶¿õÕßý;—üwïþÍ_ûÍïóÛoÿñÿöë˜c½€%&f¨ð–ý¥§E•¡ÿýßÿø ƒš‰£ôý“þüïÿü¿oáß­Ë»ÿøîÿø?—w¿µ[þ&¼®ñ™Ž-õòKï~=Jó~=>áméô„ßýèMî£ü«ß|ø˜q-¬Ûä™w;ßûßÚGÿϲêv‚CGLlÙ°1îs†0™(ân«£m&©ûÉyÃ?må¶Â ˛RbÄ×n߸Pz5„Mîä½X†ÙË%ZÁ9ú2˙RhÑ Sò†‚ 2ë!«ç©Rn¤vRo"Å=ˆ„b*$ÒØv"Ëdÿü¾U¼ˆ¬ „ëÛ0‰•Äݺz+I¢Íz¤Û¬ZuöŠk–Ì ‡–Bg¡L­×¡´Ò߸‰! i:\x°8;oÏWE”œ²ê¾w¿Œ™Ýç¬cJm¿˜f|æÍc/ÎîíèˆÌ™—L¡EO)Þ.¥¦jÁ¹{sS} ‘ÖÝq +$¥Í©ãO9×0u ÚAXíY^‰È©g]“DiW=¿9QÜR_`]xŽý­»`ÅdEÄ5¢ŒR[üb°ƒ¤Ya îëÒÃýB¼; + ̵¦JÜØ½ ì/tÊ«vϺðÞFf"%ÖŒVk#UQ$øi«¾Ç)W/­&d¬$¬Ø¸Ó +\ ‰ ^RhR‹…ÄO¸‘lf3xÑ›Ý õ§[ØO»3œ ×|‰†R“œV½hw†THàê«óNv +?­jaåkBb# /íáyû \£Æšmë‚iFBHã*ÔKߋ´e°Â‰ëk©í¿‚‹–yö ªhVU5e™4Pýø½Þj·ä€z œêÚ·Þý]ÚA¬ Ú5‘”œo¤Š¸gÙõ$v—4Á˝d;l¥Tï3®Å¢k‘ÕŽZ@¤šÚèN‘³òBJ ¤•(Fôòß%5¡×qJ¨ŽÜÝ»](æШûe‚Iï†KlèEÂH·š–ÓìGée˜¹5›Ct5úÎT K#K1JOõ¤«ôÙÛ:‘A­‡ÌÊ%‘(xKŒ’âxÁ¨Q¿Nէݹû˜SŠSÕÅAۑ´(À…D‰ÝIA†î¼VÛ[«¸e¨"'‰©Rm’:jA¤ÊšH¬¶çlÔÔÁ ˆ7j`h8\ãԁk´ëRÌù 'Ó~’e&œ‰fŠ’¸÷§—A ùn&”7ª§åÒñøAÛ\b}EuC³ºL»“b\Î3ÞIQ+('gQ5´ïs*ày@™l#Ðê߸°-„‘O¯wæ*檜^S|T+¿;ˆüƒßexÒ§wFPŽƒÓKÆIléϽzo6=!FÚÓêW 3®+µñ"P» ½â.Ð]+áÓ2\µDëê°M÷|©È"íê&Ò­BËmºÊ´¯”ê¬6%ÕôHÁawÎz¯´›]¤sô\‡çñ ï–n¡5~l³•E¼€Œî¥VU¦~Ù¼«f\ªà6–àïÞ-JMÖU¥ý«ãp¨9If‚ 62"‡[)¼—]ÔÎ+ –\Ô¯U÷دU#}ïW?õiÕ.X”P´»\Öa7Ñ9AèWT +`‚\j¡Õ¡oq:ÿ²êã-fSÀbu½nÛÔëal&q›2 -zÑW‘k¸U¶`?z°"Ô6ø—5ï[l ê³å;X]@íAΙ ÷bQq~Bñ½&W üj9Ÿ˜-wkÀíÖÌyU9¬§Ž/ ~)ؼq×nsá=Ž‹¤1üVÙ¨ÞITšBGºŽ^nÚkÄ&^}D8gX}9DNƒ™A Ò45ê_T—|ÞªÝŴ¦ÁŸ^zð¹;6B™Yôþ£¨­·ø¶Š4KÂD‘Ÿt,t¦¨¢#R$ûa9sZ €ÿ/ÖyNéwÜurtò(ë*¢"½è1¢x–€#Rvèê{æVæ×}„3·×zY+ Bȏ¶yh¹8éˆ'<Ãfl ++c‡¢L`·ÁfÙ@¥UNà´ ýÆ©oØ/¿Ì P ÙÙ©›lÀmGÅҋ‡‘*/aµË,°D@cÐÁb3=êòîI«‚y§£ÜžõpX¡C3,¬AÉù#% Q3d)Å/W7R rÄrCH“Ê¥þg¨ûeÀhiB3XåÿÅßæí, +Dç5Ÿ­, ÕØŸ·^5ål·˜l] +¦y³:%Xâÿğ‚,%6Žd9\çÁ”¾[-%hW‘#iÒhj§–™#‹ð—|´Å¼%FD;"?Ný3݆‚áÝ’ê‰x7£$IDÔÛîêOÏÛý”FAb]çH0†…ƒöHeë^#¢º Ð9„ÑQA!°Uæ:8¯Ráí~Üa†¥À†&"¡)åÌ¿òñZ°‡Umâæ +Ï!%<ôjy¯¬ªBÂû“GG¥Hsz(B„Ä /c}UdñØ Ò‰ÊŠ P¤Iáj5šN9YŠm²Œ¨Q(ÅŽÖ‚Š´W‡¤K±ëö#®Ó"Qz‡E–mÜ隂\À–°ºOCðQ¾DwÊ`B’ñÀí²ˆ“zäЧb)1'¸êpö=vSHfl²B;D†/~° +Äo•’®JUQÓ¯ö€E' î’%rT]¶7KY$å\P}Ö8’\pÊæu¸lÊnޑA´ÔA4œ’Æîä¤ÜLªfI„>ˆ;¥?#âNÛ1‡[ÖHv™Y"LÝì7U¦«kˆ=„ð;Ä +ËpQD³ì“ÄAìΐäR?:Þp7öӈ‡·I‰ms²“¼n= e“D’C4ÃGŒÓöÌêÜ)$ +•àÂȰ‹Ha}bÏ©ƒd‹«õk-ÎH‹ ¬|—Î4̰-ÌwH,ÐØ|Á†TØ‹:³š=b\–i±;C*ÊHa@ìušZç7…;dͨ-|mÅR±–‰X.ŠZT‰d­†í”~¥¤3¾\ˆ0QWëoÛ-p¼K$cÀý6.NNJÒËñ›e¡ (‡5cî.\DÕ\•mžØe(”Dg‰½k3Ý=\·{ºœ ‘"–‹ÓòV M%­q‹ãZIúkžeß"†!Ãõ^•¼ÏA²[1 PIsÓÑLQ¾¶Ñim Á ,¥K⸶Tw^wFåÿ!—”„±"¤5Ïî@÷’·ÒÎ~´*Ê‚Ú Q£·k³H+£Û²ß¤h•ð"v!<*9K ÌT9°dý¸ó’È®"ÿw@±Ê6k"•›¼·Ó9%67•Lô¿Íla“ÅUxH†|ìBJ8 ³èÆ¢•?’òã,¡p@”8Íòç9¡ˆ«œSƒót ÚÔ¶š÷ˆG(Y<^Cú”Ù2VÉ!4¨}‚6[äS#J¨:r–× õ|p-¼ÅMYôep¨}S[£’5›9¸B½áÜ ·5ÊZ Y¯™Eڊ©GŠŠe0dZè;©Ë–J”±‘±ºâíwHwÅæÀÜüY¸ŸDÊ,s~XFÕn„ÿö²‚Qõ +n@"é ¾ˆ¢L­V €²ðúXâuÂ’J¢‚|#æ-è.ªøóÚÖ[œCe;jpÕ<8ðߢQœ‘¿-Њáµ+úrÿÓâ9\¤Ê¥­â#;í2ËTŸr­7Uk’º&q‰‡t±«Ä¹¦ÈÉéºÐbH5–$òÊ&HëÞKUEŸ +LÉ"$ƒ®¸<¦«$Ÿêˎx“zœvœO’]ÔÉBxssŠ1ڑjWÝ-ÊDZô6T;An€¯ÊMyXÑS4 äØžå=Dð­O§. 2Îf•à´Ö-BV§©¤ÙûM †øÂ#DQ­8¸sϸÕi¨ü«PýO›IƒD»%–fB¢¼û-Qâ/îÔ¸' 31a·àU šÍRý½²R U\oÄ¢7C‡ÏÚRP»ãú¯Ô—ˆ‹íò¢“cµ;õÁôL‰Š–±Ýh·ˆV$‚äPE¶çtpzz«´·j³\“)º÷žR¸ˆÙàú ËlEî˜:ξ×u‹U„ •ÅV’&’˜ÛM­JâtZì%,n{™Ò³ç¡Ê!¸Åœ0Iv:nÖ¥{ÿÊR,Z~Õ¦”·PÅÞÇB`Ê•i\î~ÛOÖ â !æj1Žb%bЋ(¹Zk‚jÂSۃ,T4ªiŒÀä}èâPãoržQÒwÜîèqžy‰¤ÕÏXÊàÞþÔEPïð«³CQ¹]•⌏’®dŠAØÚšåí0.öHý¬ì¯f#¸¨ÏB [ ؞yé9B/$Û=¼ ±u +Á@E@ŒŒ¿£P ]*§*X~àîC9f;©&€¶ýÝݞE +‡“+pjà âHG ƒ×–Ê¡%d0ìP̗{vèR9ÍØ+Wô)Deìfå£R¸¨O:ÑioHYjä´$ÃRŒh¨Ó¡ƒ‰d±• ž²—•uÅm Á‘M]8Ù<@…¯BRܩȃ«-»±ú*BÅiÈ)‡Dª–JF1Eªu¼dŠD7¢h޲Õkäo¶•T‹ß£Ä +W/¦ f÷zÅH4’Í»q‘ªÀERÒ½D@x–…¦ÖðWVٍKðŽÞµª¡L$1tçÊîn„mÞÀ½R&oêKð7ª~¨'å(DÐÚ%oˆ»`kuó¢ ÁrU»ÓbÚê„QÅýj(ŸbÃPe<ÏëˆÅÍ#$ú5îÝ +R1™áŽ®Û8Zm¬£¿âŒîÜ5Â@ R±0ΝýâÅBòØGéÎb0‡²Iéjdr?›9m,$i&±tüx£*‘âNÛ¥*¹Q§ÚæðHйH, ƒä £'X“8 +¬iwӄ‘6í +Ҙ۝îK%œÒßDÇV[•#‹²J‘& &˯5c$°Í\#·¹*’¡²{+Yº¢4g7øK©¤-e}©¬YXNe&ͨϤðÁ%â¶Ð«êœœÍ!ƒèÜW¼!ЧÇr Õ€&a«R’ƒ =…^»QX­ÎÍ«*7â9™1óïe¨a +!†]][@ñK£f¼ÓQY$ˆÎk"°ƒl_œÈ]ìúŒCŸB’j*y-ºu§0ôRôâIrÊñó°H*LËüò~àÝI×TBtyÁ€`¥©B€Ò zÁžºœ$^tÉ>«È8 +'AÜäRl&PûâeWówuJI֋ünNTUMQ܇á:É•R+™!0»Üʋò" uW;C¨º O°¥UIjF~1v>$LB/÷}êÏ?y.@0Näô' )øÅ"Tù|1@B¡ÃXÜñê=6µyD:/å5§* -ñY\–œ’@‰à+r`«·Ò8(OÜfQÅKV³›‡õ–ZêCP]—6ðxŸ77 ´P ´škќ»¸yA©… K„Œêaígê¼U1–Ô“Œ3€Ëíh‡:ô +ˆ;»ºæqŸXÜ=‘Kùâ 3r$2lŠÌü´Òù-øá«7À È,esø"u›2ÍZ ñü1iï?áºPâÒZ:ÓZd¸¬,bq¶]®Óä^Y€d•çtxØ4B–«ŠŽ Þ ÀÈ›Š[\ÉiÃ#ëÄÛHÑÿIüYtËî¹ä¥£¯,Ä*½Cº‰ŽÄ+o¥šqœyu3 9ۖW­nžP Q í׿~7+†¢HIø€#Df ՙª3ędׁ\.ÉvÙ³ˆL]å¾gÔa’¯Yóé¡zœA@_›Ýk›À7ˆ¨QF®€Ni^¡ˆ;#n²”(ÁZ«K=[¯f~…JÙGŠHÖ ýºäƒ;¡‡95y]Æö7S÷Õù9…þ”Õp)¥‹ˆÐµ>Jë…À»ôr6•­Žº²y™9x"{µÂ} o B/‘^ŠÓˆ}àºQ)«Òa€¨#u7ø7ÂE[`³rLÁÐÆÝÍé3+Q¶°þNëb$CñD—’mW‘ÙaûÑD¤+»qùß¶fâ¥_EÜKüCxæ«) šÒ2"R!íàÁRfx浇Á«¥a§x:ê07Z-UFBhZŸ9\Ójk^$%zyžY¹5ò€êÄd֟™ºiI¡}‰ÐªJuã2†ZÀeÓ>Ž3¨“ÝK“¶è\E(æŸÅê]X8¶-Þ(œõãÓé™Í–NÖЂXz|´%èå/¯š70Ëð),±lRS šÃßð= ÷T”Ÿòx&ul5“°»â¶ú¡{Uý¾ŸN0{êRÙáËÑ¡ÈšUz’zõ"­«¡x¿•­÷„Ùñqgjg‘ërãîÝð}.ÇATÖ+Ò¯J¿³Îe›ñª»—¿QòBA0`³^é¸wÔÜaÃw€0^Œ)ô§G¥ÛIʁúßïÅrNöªÕú­%eaJ¢¨ Ñ£«fp!I7QR5ùSu(Õ\ iG*€£@¿yÙO*e/{É+]›Ó—0!Õbrł+]R}hR%¼Lžò]¤vŒSZñJý©U©Àî™W`Ƙ¡DJ)„Z­‚R}µ% ¼-3Ғ ÔÆá¥GW›Á(‰ýX@„&Bǁ\ÌÐ3ÉîÝé1ï)Ò)CêR”a“‹­Š¤µ«ƒÓmŊ›uÚ,j6':§¦ÿ͑¯º„,y‰ N—.ޗ^ ”4ö.Ђ= \CªJ²~%óÂAƒ^•G¦ïŠÅ¹,QnBÊÓ¯‡-”ªYG¦lNq$VÇ6 ¿cÉëêI\‚Jë¶:`/*]ýH¦†¬,‘i_½![K„pHì+›u”K*ö¼²{¶—Z@9Î]²YÂÄîL)4Fƒ0·áº®® }i{í{ÙfÜÃu‹#1à̲DºD¥„YVR¸ÜïÕaz(;5#’ÂqUW‡$ցzáûu@„)»Op©K8·³]µER «ÖÝ£Öy³VÆÖ(×Bbo»Ôh\ݦYçQf‡lßk@z”9k(Âu ¸Ð"üúR•±Þh1î³6|ž¦2‚»§S¿é¸Õ5v^5ë·=íðÑø¶†Hé<6ŸÆSwŸ6I¼…O4õJW†TEZRïTÁPv;H¼)ÖîL)=0*4tz£% +Eé×'oEëžÇN±Í„P@·ÀV€« *Id‰Ž"7Z8Q´¾í°ët, æPµ,^µQ“ª2FˆÔ>/F««Žñd¤wÉi!ó~.›T]')œ À›já¡,Ãß9E¾îeü†­+´£ÓMÅù%Ušßܒ¢ +³IQ.ÕꞆ“HW“– §ƒ?{éކ|GÁAäu„.¬¦¤ºçœ’I¤Tà;·(Æ4B^€`†µÒó«­¼wßÑ<Àu·¶!­—]b°¤ùHjƒQ²;¥™Á9΂R3;œ’ïÝ 5RÁ!Pí$lúƒ®}5¬f§Ì>\¡V/~1‰#¬ko™äÉå-Àee0‹¥—Ñ >F[ͅcóÆ}֗HuÆj—F‡ ¾+îßm˜/~´èƵôi$`8qvF”ô‹<0@/ì>ºl–ã,ÎP„DÕâvÝuI¢EFýì÷Ù¶)…?IªAšÕ@Ä9¬æÂÜËË!&Š*åÔ{}¨—^Cj†î¥`Å `yf €MÚº-óÕÍ}ŽJ5¢<Ó¤§ÊJÍZ‡|fbï-@RXQśTÕáƒo؄Þh+rÚ"@ðeƒ~6¡„j\¬{h'u¯Â†¥cÄ"T÷›¸­N]$Fñýj®àÔ£êW(1÷ª¢JHWhZs ²~õô3‚ÈLšðó°’> 7»ªQMt8]K½íý`žer0ˆQÍ·á6¤ì`‘Ýüâ˜"TpbÞÒ¼CޛÝ%àü¸†"ã¼J…*iÖ9æHA½mž«ým®Ùáµx~ !Ãð9"4å±µ¤ éÂór0›£X4C|6Ú)^4ý½G1Rµaˋ¡£QúiºÒÿ<¤ÅCWÕë·:„÷cH$ˆ¶/ÃG©êFLíðnèËÀpœÕ[©î´¨Z2¥‡È’ ç~yÌ_‚–4¬]‰š}ØÖ¤ùEÒ¹8‘‚š‹9óò™C`SŠ7/c*UF‘¬úh0i܅(¬Ço¤ÅÔùG3ڑ¿#šFA‘b!T¼•#FÉÔK5²æR±rÅyAÀZËeñLª"®*Kç'$¯Záý( ð˜Ë|¶-<2ڜ›{í5@ ã¡:ê\Ы_¥ÕÒ,¦®Ä¦o¦È[7åoKåÇTÁ×¼N¹Z&&NMÊF㦭JXÐj!P;nr©æKÅh—Ÿ³[h¸âÕN[ož²ãS&Tän(•*mÈ¿/Sf‰’0:€ˆ ¦Ž¸çÞ Q~WcÊÕsUZYT–äU÷¦We*§H‘Ê[º“Ø¢(¢ÓC2ù—7Ù$"¨›Ðo°ÿç‘wÉÃT +‰>°DiÙ¼KLMÿMîNâ¹ûmÛ/½½›|9œZ†¿Áû‘°u(Vj +¯ä4-¥Øš”]`'Y²ÇUàÇxBAu:8ï +\ZžS™*‹²Á–î£ì³GØ¡«…we™a!ÎqÊUR‰ÍÀæ—¦ÚcR¥*L¢åD‚£Ç«uçUÍË8• 9k4¯Ô°ÛBX­ÉE…0”ã4ѯA Æ?ŒacëôŠ[⪫u`q Ô°±‰n„»¥RS=FXE«GW£æŠ|96Q„}>Ù¼=O%Cš9¹ ó)<#rHÀùq®ežv[1ÍÛ¯Z¬€Ü–`U!÷Q¿^±×¬!ôÎ6Aîýڟui Y&“oWï‚9’]@«U ˆ„pu®"jßd$*êA‰“%Q¥ðÙú>´²\}û›»áB°_Õ`GZ ÷Nƒw QP›sá¶æõ«[ó(-ÕÍ(ž¦cR<¦&²ºe¨Kê–0)0#ê(ÅCQ“PÍPÙ¬$ 'X}Ó«Wûå,¡Žç"ä‚KšmäBúB§HZXd6§ƒ0®)Ñ]!ä}MI$^ÝnÅå´SŠs@tÕëŸÔ;T#LJôÀ–:­Ò_çÅ3Fü)#Ð*úhñÐO|Ø:Ñ6“–-F+ºÿß¥|ûºÿø›¯gœoßþ'1Žýû?|û¿ÿ¡à£ÆéQ޽TFÁeü` C81!˜Ȋ wg²‚É31¥¬2XºŸ dpÏ d’L dvÍÌ@¦§ df2$O²WÈÄ@VD£92‰£øÁ@VpW©I²[Ì dEɬW²’8{Á@VèŸÈÀÍy2!Ȑìeë dD}01I:1I²µLjeb +‰k d0‹¢ÆÙÅH¿2­ç11c›ÈÉÀw5H 8¢­í¨¼Êo53Ý¬@ &2 ×:I2!y! ȐÌdHÌ=Y~~$ lj& $Y—ß=y{JåH@¶ªÃ‘% d]2MIJƒŒpßÌAÆd?9Ȁ³˜8È\q.ÛÌA&éÈA&ÁÄA¦€ìRf +2 Ïe  C2SY™Â+-3Ùz• +2žO +²²ÒLH!ˆŸ(ÈP… +2 G +2*ð + +²‡âÓª¡j(' +²J'úDAVK)Ȫp?g +²ÕÒIA&ÉDAVURüJAV©_™(ȐÌdHždPÏdµœ/d÷À¾AAV™Ì‰‚¬ª¡l¤ «µ<)È$œ(È$)È<)ȐÎdHf +2$O +²J;ÃDAV4R=§ò½Ou¥ý•‚ áDA¦«F +2¯dÈ& +2Ù­°_)ȊhÕ +²¢jÄN.VÖ÷BAV¨î)È8' +²­Šw¤ C(ˆŠ  “`¤ +ࣽP!“ãd& +2 ^)Ȋ˜ˆŽNAVHŽd…2 +²ø uÞ[Ô·*w  KÁHAօž+Á%äbÚì¯dh’‰‚¬TYt +²”9™¾c  +”2½R•ºÍdÔ½Sé¶W +²¢Vø‚¬ˆ"d  Cð  +µÌdEŚY d) +2>Qa¥=(È +C#Y!h=R¥`¤ KaPAª de;dEò‚¬PXȈdhf2"O2¤™. È< È$ È8™Ȑ< ȔK˜Ȭ(n «ü˃€Ll Ѥ™€L]ƯdB·'yüct,OücUIØWþ1z˜gþ1}ÑÄ?Æ0?ùǐÎücHfþ1A˜?øÇW›øÇ$™øÇ$yð!ùÇÔJ=ñ1éÇLUŽôcR§ýØS‡ÿtôc–.x¡C™ôc5X1‚~¬í•~ ÑD?†`¢“à•~L‘~L‚‘~ Á+ýšt¢« +&ôcUpŽ/ôcèò‰~LÑH?†nЏIáôcU5Àý˜¯ôcGú1ý=ҏé®Wú1씉~¬¶:ӏ=¦ìý'\دOú1¤û± ôc²s[èǐˆŸ`¢“TviЏI™ôczÖ~¶™~LöðD?FíÈD?FôòI?†ù:ӏáíLôc”¼h&'ú1¤ë¶ ôc*™èÇt Ûu¢“t¢Ó/,ÑYŒ¯CÞ¼,/üc”mÌücæ¾á ÿÑ×ÿ3ÿ‘쉬Ÿù•ŒðûÌ?V"'žüc˜ûOþ1üç™LÎ‰L1Óÿq‚™¬$yqð±Ÿ¼ð)x1ñ!™ùÇ$yåC8óI2ðÙƒ^ùÇx¯‰ŒášøÇixðî™ùÇGùNJØT^øÇ¸oæc6fþ1¢¯Oþ1" 3ÿ˜–ÄÈ?FFâÉ?VHmNüc„zfþ1þäc…ÍücùÇ$ùÇ$˜øÇŠTüÄ?Vö:óÙhücHžüc¼èÌ?V´±×ä{jÈOy*ck=øÇŠx—[çÃz™øÇ¸âÁ?&áÈ?†@9ÎàC díÈ?†ð\Jç“`äC Wt„Ð*"þøÇÊêeÀÎ?V0„”ðøÇT4<òQ|(d ç#4óàC8ñÿüc¨uràChÐűthÊÚÄeeiN „8ðÁñ: ;58š&þ12]¯üc(½‰Œ‚щŒ’µþ12ÿ㉬È[›ùÇÐ5#ÿX¹Ö‰Lºè•Œ¤ÉÄ?¦„ÚÀ?F*ð•LÁ§¬À¶Á?Æä=øÇ÷ùNJŠaþ1¢“þ15ž ücM'þ1ÎùÿwMüc(¤‰L‘ÕWþ1„ÿ¯4ñIðÊ?V~&øÇì¶Î?Æsüc%¬ƒ¬(€ÜùNJú^^øÇ¤YGþ±"®ì¬ˆLç… ýUÙÍÁ?¦úÚ³vþ1V³l݁Láɑ¬ˆàèüc¼ãƒŒó`â#m;ñ‘ï}åSEÀÀ?ÆMÿЃŒ×žøÇŠxZkҏ¡J_éÇpn'ú1éۑ~¬”õA?&ÙH?&€œ~¬¨œ{›éÇNôc¼áD?†à´~îށASÔH?¶ +aMú1u½ÒÉªéÇV•¿¶N?FðåA?&}¤ÃžèÇðÖë—îôc +:Ýy|è‚~ uôcEðÜý‚͘¶½f\‚ú1ÝF-èNJ¸³j§SW’"ý!‘~ N0wA?F,åA?Ff¢+ªÿèÇ:x¥³æ°~Œ‘èNJòÂ/ôcŠhl¢:rú±’ˆ¤A?†Mò¤S* +D‘Fú±"híú1N™~L¶‰~Ìlàú±lvI?†ý¤ãæ™~ŒÝ=ӏ•ãzƒ~l–jCÙÜâ˜+%*±&ú1I'ú±r\/ôc’<èǐÎôcEt5#ý’'ý§çL?¦tÿD?ÆÙý¤“t¢C2я!xЏ!œéǔMžèǐ<éÇ0*fú1$3ý¶È“~¬ˆ–e #å3яQ(ö S£ÕD?FŽ~¦«Ôñ<èÇÈÉÌôcCfÀéÇ(`~ҏU1Όôc’8Ε¶nüÙ;“¤É‘æÈ^%O@ÜÓº¶} Þ¡Ïß¡ÏÌǛ_HJRØ ®*C _lÐ÷¦I,ô1 ‰>¦—_ú˜êS+}Œ`N¡u5€|ècR+}¬ƒñÉô1)_ú˜ÔJãúʛ>ÖÉy&ú˜²h•>Ö! Vú¥ƒ…>¦›¤ÒÇ(BøÐÇÚ}¿èczg¥uúk_ô±ŽaT¢©Ó®ÒÇúþü úXoۋ>¦wVúXGîMërí*ô1ýìJSÉä‡>&±ÒÇLÉô±òÆIC-ô1)•>&åKëaÇ4éc}Û_ô1=¡_ú囅>Æ·(ô±õöM£ï0ÓǨ¸/ô15!¾éc +}LCN¡©BíCcS’éc-Z\‚>ÖÃý+ÓÇp2}LÏg¡Ñ-ñ¡¡fú˜„Bë8o¾ècôTúÙåBCyÓÇTf_èc*|/ô1²†oú˜É}Œ>ŸLS¦ìKâ±Ðǖ»¯Óǀ„ècÊãUú˜"î•>fäÚ7}Ì ·™>Fü>ÓÇô'¿ô1êÉ }Œ›BãË~èc–gËô1”Bãú˜ü }ŒzýLëA^Éô±~ô}Œ†’BS +åK㝅>։Ñ%ú˜8Â_úX§€9ÓÇ:«´L#‘ü¦uÐP™>¦žJS³Ã—>Fz¡éKTú˜Z¾ô±%ÓÇt¢3}Œ«}̺µ2}LJ¥IùÒǤfú=H…>†ò¦‘®Îô1Ëkeú oú˜~v¡éY(ô1¥@?ô±IMžô1}P¥é|éc¦¾écÊ«gú˜nòJ£ÙîCSJ˜…QÀÇpîÍð1ñ/ø˜Ä>Æ5Íð1ݹø˜žƒëÜu >¦¡ú£ª'ÁÇTZàcšÌ?ð1øXg4~ÁÇ´È(ð1åY3|L|àcZèøX#çžàcª|ÃÇÚ±Wø˜¢/>FWð>¦dQ_Èð±Oœøo¡ÿçàc”|àc”ø>†ðu—|Lwc©[ð“Xàc>fG¼àc|V†I(ð1 øXτõã®ð1 ¹ø˜†þӃ_àc*þúÀÇ4÷ø˜ÊG +|Løa]Üå±Ïì1êD2{L‡=†˜Ùc™=Æç¼Øcò /ì1UµöØP'ɛ=†®q»k±Ç–XKÜ#¼tY½sÅð×Çq±Ç4Tfö˜¾Paañüb¡eöBfIø°Ç$öؐ]Rf –à/ö˜¼¨ {LFþ™=¶^'ö؃=&ƒô“›;a„ÌÃÐý™’Ü׉Izl +å̇è1³«o=¦3OsBaš¯ÅD ÇähÏâ £ÇUkè1-Ä=¦×Ì, =†¦b©@ZÐv8Ðc´|Èè1Ý.r=¦ëUÐc°Þè1ÍÉ=ƪ £Çh#ü ÇP zLJE}GÏÿpVø/¡Ç|½Ñc\xBYÓIB1[¾Ñcä²2z !£ÇxÛ=&1£ÇjfôíHoôÀŒSõBA©ìდEAÑO–Ñc4€½Ñcˆ=†ÑcE¼ÑcJdôíq=ւú’ÑcªÈè1ý‚û\´þâ}AÎòƒS+hEq\AIù¢ÇP zŒfF5¦oô˜Â#=Ö)è1Y-}Ñc´àô˜æØŠÓNà‹C-è±~Mß,GIù¢Çh/è1vŸ=ÖÃìº ÇØô˜v=¦É=ÖqíÌè1ÎUôØR2z,©ž¨§‰¿ Çú9þ =ÖɈdôÕ{=fÂ=¶Ô@ñ£ +zLƒç=†ZÐc(=&å‹cßVÐcý¼*z kÐz¬óàfô˜¶ã=–”T7±Ô@éOVô˜Îõ=†DAôÊè±%dôØR=F‰aFõî=¦7Vôñ³‚ëD#Þè1E+zLáقS ö‹#<[Ðcìà +zŒœÄ=†˜Ñc*zLÊ=Fü4£Ç2z̎x£Ç6.è1…\+zì;PþÍéYiã/zL5Ù=Ööë…S«Ö=&µ¢ÇK§Œk­ÿ ôjFñƂãÃßè1K½'ôX£K<£Ç”§7zL›áŠSb½¢ÇÚ$%fô+=†RÐcVÔòF¡ôJAñ7ßè1•Ìô˜.HE-%£ÇLÍè±Æ²{¢ÇTûBQóÐc8peô˜j ?è1ì +zŒ²¸ŒSíÉ=6=æQíz¡ÇLy¡Ç–è1JR +zLÅ>_ô˜Õ)fô˜VU=¶”ŒKª£ÇÚ kŒºoô˜NiE)ÈSÑc}Ðc¨=†’Ñc¾è±Fô3£Çq͌“òEÊè1à +zÌn‘7z¬áVÑc:=–”Jª£Ç¨C-è1ÕË}Ñct·ôæ€=¶”Œ[j Çô*zLwõ=¦û ¢Ç´O¨è±¥dô˜©=¦Ú‡Škt¼½Ñc*ñ®è±=†¿ã=†ÃcBáçXÐc4¤~ÐcR+zLJEqÌ=Öú¨è1Ê÷ zì·]ùè1 s=F}VA%%¡Ç’Š„>©¢Çô¿è1¾GFI¨è1”zÌԌC)è1û‘oôXÃ6£Ç4ßVôXRzl©k„2z¬a–_{n¹=fžº=¦â½zLHAaMZÐcš¾è1öŽ=¦ªŠ[J ¦è±ö=f=ôoô˜Ùeô˜Œ+zL™ï/zÌ|‹2zl¦† zL ҂ë7dô˜zƒ¾è1S3z̔Œ3åÓZ¹¢ÇPzŒ×ô茓PÑcZ˜Ñcª\©è±~DÙO›û¢ó_ Ç¤Vô˜”Šc[÷BaXÐcE¡~”÷}Ðc +ßô˜š® zLaò7zL[ Š“RÑcKÉè1SzL'µ Çpy£Ç(éÉè±ÞGEÉ~ùƒ“XÐc˜4gô˜z¤?è1‰=¦×=Æoô^+=¦ÜYA©X惓XÐc +zLÂ=†˜Ñc¼-£Çøà7z¬³gMè1õØôÂ=6šè±Î<¶Ðcl¿Ðc]Ñö„ÓÐQÑcSÉè±)zL[¼‚ôà…SMAq†z,^gôØÔ=¦¸UBõÈ$ôÚBõ}+è1mœßè1i=ÆëŒCx£ÇôÉ=¦/WÑc}¿¿è±5ðÎÃäŒPÐcSÉè±)zÌ>~¢Ç:e/ô˜ª‰ +zŒxkB)DýE)\ÑcD\ zl*=fbBQęÑc}¿¾è1‰=&!£ÇxýFIÌè1^gôïz£Çtá2z¬o½¢Ç¦ÐcS ôÙòŒëZ|½Ñc6}&ô’ =¶^'ôØ£ù§c½–ÐcÌ>è1ÓC_ÐcŠò¾ÑcÒ2zŒ×=ƛÞè1Č“PÐc>è1}£…£‘;¡ÇÖë„31¡Ç¨ÒÌè1bkoô˜ê) +z ߨŒë´VôÆ­=¦¥AA)äøAõã*è1â’B`9SŒ¢¤7yLáêB“…@!M!“Ç–èä1Š`2yŒ¿ö&‘Ïä1 …<†ð&!&ò“Éc³Þ*“Çõ-ä1ʅ2yl ‰<¶D'õH!SLAæyŒú«LSÀ½Ç:…/òâ›<¦ÏJä1V|™<¶„D›bÇ:m™<¦Ñ!‘ǨO5ò˜–ú…é`×êÀ18Ê÷X¼1»W¯¸±[æôÞTDÐCÞAhœ×Ñ*BvUÒØI¹ãâŒ*ec˜1òVO«”1z®{AÆ y´¶cZ©Ïˆ1ÅV:fVÞã 9¼DS!ïu\0&±]÷â‹I0$—ãÅô9£í™.†eÙq-¸ØÀnó nX£E©e´»¸­O²˜3ðY °Ø2ÄjŠ+&ªØX¼0•6¼éULk,æQ'dz bj-8¯£BÅ$îí^L1 §G_H1M[ß+QL%B^ lN2Ꮖ%&ùYœg¥‰5,•ÎëìWJl¾N ±Ð#ÖnÑ&aÒÁpþz*DLÆ aBÜ؅Ûq/x0i¿ýͤƒázs· {1¥Y¹’žî‡Û$³Á¸œ÷`ƒ‘Ò~ög²Á¸‹¸æãnµÌûBƒÙ­ÖûBƒÙ=ܞŠÓ­¾ÝÛ¹Ð`öD}¡ÁÈ.n½U4 zÛó,4˜JTÚÐ7 4VSVܞÐ`äBõ'ƒ Æí|ô¶È`ʚ­0š†ç Cá92˜”ßY;+Lê‹ &¥q.2•9ƒ‘DS†ü÷ÝïEÛñð9ì{ÿ‰ë¬5l§VlÁ$Žm{&Œ£Ø:LBS85“Á°®{’ÁÌXèÚ'Œ¶Öã9 +l‡w¶Ð`;ՂcQ¿´ÂãaÌl0ˆ€÷¸¦Œö¡ ª“Áh²ÐL‘À`2*{då\0ŒË ÆNXŽŠL9Ò[!N§‚´WÈÛ¡`¬5‘%ڀJù7Ac ¦œÞy\“vÒ¢{e ˜¼w ¨ÎÃxg;'±'^gØÔºë…„ß*í™À¯»aG‚ñKâ­i0ˆ_‡Q×é0DI\²ÌÜ ë}¿4RܺàüúŒ^1}©väÔP”_ÊŽø‡Ûi¿Òqà÷.ô¸»¿$þ† {¿ðêѵ àŽ>7uº ø…èc5îëm͆GLõøàÑ÷‚üÒöô·Hy&òKá{£çԐ_JužÄýó«Ñ‘xÉüÂvò¹Æ +n?t‰ùŶ÷úÝÂÁü²}ð$~ñRkŠLüBµ5_Ú2ò‹¿µ,_úµìŸù¥¯ü[µ‰üšBB~M-_ڗ߬zå¥Ìªm*2òKäƒUæÝÏ$~I`%‘‰_ÄôŽç™Ä/ Ϧ|¿8⤘`™ƒm +Xc½k?Lf=Ê÷‚å%;B endstream endobj 359 0 obj <>stream ++ ø…Ÿï¦fÎyÐa0€_KHÀ¯%:𫑓Ԅéó¤þØÕöVˆ_|â—Nü’p=2âŽ7Z¢f䗉*BräM ¿ì—iRIÈ/Í#,Qù¥ù‘5J ¿–_S äWc;û;ë3ŒãžÊ} +ò‹ pØs—¥ û_MPYÙ÷‚üžèÖÀèÈ/=üÛ󛔿%øŸœ‘_ìy~_v%»¿æ¾Gì?C(uˆü¢„6H7RÝ0êÏ'äÏZpòkǿ֌éA~í°ùEœ@«gÇyaù±õ3#¿ð@ÐSÇlÊg[ùSâC»eâ—$=³üâµÆtbx=zÁ})m}ÿV—AûÒkýî€}éõ®ÚŒÄúzø¼s¢¾äÉÇêÙH_òsÕ9H /æñgŸœ/„éù:}§š)_$Æ¢|)»´÷1!_ÚÔè®ÉŒ¯Ó6øâõvOÂ׉p+€/5gcL¾—&½³ï…÷ÔoÊÍt/yI\m²½×üND ½âu&{…6Á^xÚ–u®t£í¬X/]w¶¸륕ÆñØq¬—|#x ÖKj³`±c½ð½"X¯ +|/ÝÞÞRãÚ'Ö c +}3§zqNZ™êEÑÂàsªvX§»Cõ¢œäh£R½vºQ+ ¬—‹ ÖKõJº +Ö •Àc`½xç¥!Ö±^|8knjõÒO°‘ر^BZdÖk +ëb`½v&¡ûšÈ.¼¾´ÅË\/üb žGuªRŽYÑ2…÷Zjà½vhäû¢véë?E±Ó¢q G´i€¤Ówï‹îµ”L÷JªÓ½v«%݃îŏٹ Ý õnû¢{I±à\н¤Œí¾*݋,…FºI÷²¼Åv.ºŠÖ½…î%•emн0ÐÕhÜ®ªg/t¯9ÜΣä¤dGн¦Pè^K º—}ü•X^ºõw•L÷¢Õgô|œ„ +ÑNºfÚºeOEùˆ#:ދèà%÷Ç{M¡à½–jx/‹zԏâý¶i²à½(1åŠÞ °+Žãâu\ï…Ñ—Ž÷2ë_ŸIʧØóT¼—;"IïEqª¥¢ﵔŒ÷Zjà½ô,tM“Û¥çæºZÅ{ÙTúÜK÷¥Á³rº×&ÜkJåQƒåз d—.åÕÉå$´wé¹yœÊÝî}‘½x$g¯d/©¿_µ/²Êá¬/‹ì%åd5d/썞 ÙK_Íßéd/—Z¦)È^IId¯¥ÙK^W6Á±ëñðL{i¿íé([?Þ)ûíÄ1¢ÏT/u뒉 ¨×i‘`zÉèå$ß°^X>Ö ÓëºlÉ:Q]æ>*Ñ sÂã^"^)ò3ž×ÎkŠAóRvax’³›UíxNK¤E‹„ò² ®AòRíï¶]&Èë}ï‹×…!ÿ3Zåu1|06¯Ko|Xße^—b½yå¸YÜÝ*Ó¹Ÿ ~™…ØÕl³™Ã‹gß±k*™Ø5E'vÑ9£éÁ‰]¸úê+eb݁§Ì¢ÐT‰Z-v‚Øõ‰øF(ø?%ví֍7*±kä bÇuÚêœØ…Ë)õÿ™ØÅÝwўåÄ. ¡'«ò vé¼[UH&v¡’+ dýóJ=Ld—”Æx—‘]\G†Ê@vIsÖ0šUhk£"»tûÜӉ]"bGšÄ.&'–¿Ù¥`Û鈴a…Â*uÙ·áä]âSý–«"»Áí<€†ìRˆ… áDv)2A€§ »¤’ï +d‡ÝŽËÀ'S…¼äÑ3² u»ŽÅì"òqû'’BÔ·0»H0À³ËÊÉ®}2»šö5Úif„ÍëìR<ˆðDvѝۼŽ-]“V f—Z}/ŨƒÙÕȎž£2»Ôükõ +ÁìâáràÈ.fÖ™Ø%±3Ðí‹_E¬y»0ý¾¶Q]ÄÅ.üµ؅Ҟ{»PH†g`—Ô‡SÀ.ÌØß||øÊÀ.Ež¨Š^˜‚K¿:x]Tþ–íwåu©A'|òº`ìG_¼.Wzª2®K,ö×ÕØé@q0\—®i²‚ëÒñ(à2q]ŠuíJ”\—Tê3&®K_ü!n¸.s¸Ø{ÅuáiA²=p](ÏtñŒ:T‹ò5{>+ëÜ}ž8× âáXp®SF˜Ï]Ù\òy¹|(±¦]„G'sñU÷£’¹äÝÎê?À\2óa;ã\.EÅ6r™Ë…5ß2¸\{d®'—K«úa¬«ÄåÂê›#¸\„*ٌ—‹ 'V™ËEêô"4¸\;Hßv..— ƒÂ æ"ìð<}¹¤XÌ,À\(f2½_“?º7;î7oô sÙ'm­’¹°=ëÐÍÍ¥3FŠ,Ð\„ +øèŒæ¢RøqÐh.‚€ì'ÍÅ­ËÖ1¡¹ðϦ„ÖÉ\ºVßd®çñ vsɲP%/“ËõÀ(ºþ–Kýð¶™OT.Ö ”;”ëé^L®ÇǕ‚äÒÄÚϱˆ\Z§Dµ&e²Jánø;'×-c‹§-×cK‡ ãR&…™ÅõD<ÅQ\z=ޱH\”hZ(.+Ó<'‰‹Óã”/¬áµª^”>ûÉnÏ©L ×%Fx÷ߖž)ßߜlõÑ´’\‡Õsë>ªhT.Ø\ªój·H”6ä&èø-՗a¯éô-un]fJ9ÇEù\lֆŸË$è-ō6yU&)x×÷>Á[@‰d«eÜ-­gÔø–±[ªÄU^!Zo4éã©Çà4xÖdn©ÚT_̉[˜Ý^ÏnéõӞÂÛ:µ0¹ï‰Û:‰ô퓶EcÒÙ +lKX¾c&kKþjM»Ö¤Ìé†}ÞBmaêݰ—ñBl˟1Q[´­7•–¬tºÒ-ӗZW³ eð´ ;zLžÖðmÂi(5uš\«Þ'Lëð/—aZÒ´[ ––^Ÿ{›(­ƒž¢^HZ~žc‚´XÓÎ 8Z²ùó·Ä¦C®âšÊƒ¢%½â¼Ñj5Ì -ù$æÜû˜a¥Ü`Ú$hõÝÒ½ Õ=Øü,  J¤>KóCoW¡gISÏEÀ³º|a¶k²³d.­ÕhFg™ÛÑgÉYZþiÁÍâu+Ô,½C½¹ÍêlãÆdf)Çy€ XÈ,×àTèÄ,ÍÇHÀ,ª‹2.KPû¾'-KÅ´Š—,KfT›õþNVN×$e©j^³m€²ùÛ(œ,ÀͰ&“eæ™cQ²´³·tl‚d‘'pæ”,– ª@J+ ž„DÉ"'º]Ï¢d‘­Ò@4)Y¶/Lе£-JÜ™’EbœœfP²ôÈÚÂ-(Yûî3_¡dUU©)ç‚díQ»T Y¨Ä(’…Bl3 Y¬ÉHïeHk@pÉÚ©öôSÁº·ödH–&½A¸% YdÍٙ$‹ƒ’…JiE@²¤P¼, ¿ótHØ(jf’ENv$F–„Ë:o#K‹Îf"YR,ž-"î ÊCbdÑuhÆÈ"mÌ­èŒ,œ#‹ûÅÈòÝÀ±YxؑØF?ö{™‘Å®%jkxèR,ÞY*ù}îû®Œ¬.Jo‹‘…B¼> Y¼“PZ¦dI%:21YR˜ò “¥—'a“¥¨ó…3H`²¢ö L–¼)³,˜,©^Xç}ü;¼/ú >µíxQ²$j^ž,N"ñ‡€d¡lçU Yl»É[;$KÛ³»Ñ ë,ˏ=C²(¶»ÎkA²HNPm,Rùܺ’µðncA²°R"А, 0‡*Ù$ —Dí’ô„HE@²p³$.’!YxßڙŽv„#:L’¥'ÿ4H¢dáLi7NÉÒïžû8lR”ºnjº%K"]“’eÊX¬ò¾ ÉBå) HV]„ ’%ÅR’µ›qP[,º’¯þ,H–Qû¬ É¢à‘Ñ; Y| ïNH–u “ÎJ,‚Ç–J4HEêVõóDq‹æ¾,¢$ +_j ’E,NÃ}†d±—PF@²öh HÖn>U…‘Å€sß‘¥gSóG²h. <&²PO¶Ø9‘ DZ‹‘%¥38dHm¿Óf*RºÏ¹ Y(ñéÓ$GQ«KÓPP²àÙJ‰:]ÑLɲش-øij¢9F†GAÉRrʲr™’…›`ó »Íˆv¿&% ”5cH¦d)sf]qAÉR¤›ýʤd`u땒e,Ö³/Js-샒¥?yɔ,аy삒ES +WP²Œ»ý\•’Ešˆ +£ dYâhÅ;‰]fJ–òDÄy‚’E»îÒ dQô¬‡"S²ö;rbAɲ ʝ’¥Ô…ÕldJï$°”,<$û’åñ^sõ›”,}[—%«±J»Ç¢d‘»åf͘,e»åNÉ"ëÈd˜,²‡n)<[µ(í~¦Ÿ¼VIÏícKP²”¦²«)Y‘ÁM„Zu¢©šsJMId3%Ëú›¬Ó3 ¶8æM÷Ä%H–T‹Ð$‹¶‹9:$ åvפd‘ &˜,K(1ó8&‹.&½„ÉÒïî„lƒ“E¦øq¾Öð,±­+2(Ëø¾Ì)ÊÒG±À N–¾‚é™“eêŸBÉjVnzþ™œ,Ýæ¶yNjÆ +‰“¥T¬-Ž”…Ï,ãU²`™+°”QYÊÍÒ°¬,®¬ºêƒ•EC­7™•å֜ûde8×$XY³™×K]åÕ¼ìÝXYxû+¬,ÍéÀ€*KیKß(PY;8í}TE;Šp*‹å½"bÁÊÚéìÔ͚¸X¬ãvá¬,-öˆ7+K0H •u_±z¸áбÈAY Ö®‚É’OµÖ’AÉRè@½3²ÞaÜ¿"þŸCd‘†o޾šˆ,ÒðÜÓ¡’tçYsDÂåo\Ó4m¾¿é<Yº ©Q FE.ìñSÖSxÅ\‚‘… ‚ù`dÙW+Œ,>KûÄ`dI .Œ¬¶‰6 +#k¿­Áþ´::e‘¥ñ–ÄYFdiÜg ˆ,=óÔTF{®ª­¨_ˈ,MüØo"Kœì@déÑ>¼ë¹<ïÌÎÈ¢6ã4À©* ”ÆeF"aÎÈBP6'Y|ŽÆ‘ ɒ[ú¥ØA@²Z³¨ _5ÂÅöÐNF–U™‘ÕØ $FÖ©i‰ÎÈ <1²0‚1²4Jbœ3Ù-ØŒ,¼ˆqNŒ,4U…# A³f0²$0çgFVÃ'Ýz15l*>ÔZ8Y4±dDVÃB¬Ö}ýõ:²¦„¬F"gŸ€,yŽY؎/@–< k +崇€,3U_€¬† FdaížYò]ÿ²3 !²ôú ÈBˀ,€%á ÈÒ½RYºXd9ƒ}1@W/²4˜Gm›w!;!‹®;v™…z8ýʀ J6E +BÖwðü'…ÿ!‹¨—îÀLÈbù¯P²´%ú„,æHöKy&ŧ“…@fÖ Y¼hS"dI´h¢²h^քiyÅ'éhH„,KɚE¦X¶ÛÜZ‚µS¿Õ{!di÷Í6+Y[)ïqBÍTJgB¢7AÈB8,ÍeŸÍr¬EMkÁÇ¢Íæ÷¿E:Dæ8¥=8± +ÇcéÔÛÚÇñXŸ+öÏß¼)”f´†ˆ„ÇR~þ±ªÇcqW6ðXRvöK…JÁMై]ö‘øXR,›ùXÚ­Õ¬h‚Å¾s¬àc¡÷UùXìË©ª >Ճ*U|,íD°(|¬oIíñ‚¥RµáàbðXSÈt¬%z>nw¢£½bä±k‚cißy]ÁçJ±Üf;Fz^[yáBÁ„d,û9›¹Hـ¼E£G&c¡RÇd,ZAƒbß=“±Ø©µáØ+³ÈØ<”ëd,¬+­-#‘±Oìa–W»Å:N/þ +2VRR]ÃRƒŒ¥?yhÛ4™W:ÑÖ“ÙXØ&“ŸÇ)ÚuӜhl¬%d6ÖRƒE=íœǂ1}ŽeևYŠq~qsÆÓNÍ:Ð2kùngƒ¦öãÄ`޵³ÝÚ¬ýf±ˆÊRp,6^Ä}ŽE2‚vûLÇBÝ}E- +=q·{&Z›•Ú¬i=᱈œ">ÊpÔ›u;f;ÿ@À AÈ¢Älô<ùö+ÿæô<¢R1²†6"÷ÂcaEt¬Ã­“ +ë8½ë.ØX,š®ög¢±ŽhÍd,LD|XÖZKï:}(‡r„Ó_æb‘EßmªPº‚û\ö bÁºö +ÅÂb‰*Cgb©=)JÌ@bðÛ<[HÚþ›Q¤±$\ι"ìN€`7·¹¹”HçLа$ö.\àõǂµ>YX˜0nvKÀÂ:6«Û™(¬)dâ5KÙg-ruE4rb°T\£©)8\ç„`=×)f–|pB øLód[Ý»e3+:ôC“½ÁáÀ®ÃqÑßð«}¥º2fA¾ºï¨ MûhŠǵ¸WÄziŽîÕR2÷*©Î½zîhtœ•N’µÚ'êô‚'¡°nú8÷żR £X"^Ý­àÕ"¼ þ1¦ÔÄ]‰Þjá9§]©QÇлRˆ‚Ôlf]KîvïuuŸ‘)w®wæô ºR)ºåݝs%’µ¹ZBbÛ,Ñ!WŠPÛ ïìªß’é˜W€Y{:JŽw>ÛãÕ¯3Ý*´`[ÝfC3‰Uªu>G«`+Âü|¡Pµ¼·æ‡[-%ƒ­LՒ-ÀV¶Y"eîÀ*™CД¹V*6YŒ‚ùIµ:Ýò§@­äOÈëP+LÍÝß/rX O«H+ñè9¢•JÀøc´Ò6»$žÕ¶ÄÁ³R‘;0‹ÀY©¡•K”iV‡;‹LñèÞé,«%$”Õ!Yn5AV˜Înžš+}ž‘àX©Ö+LFÁXI`½œ)Vˆ·²]:nɃaÅ/Û­z"¬(e`âr‚ÕfÃ6VKHüª)¾Š½>«uo-•…•µ ¥Trñg4ª^9¾bØãð*mXlLð*ñ)ã xè½/&•zŽìƒºŠ}&¡*—ïeŽ®ZJ~¼—è*=4³R°ˆu‰ó`%v•ùáô{±«¨üi‹\…öáFƒ“\eö;î€wg$l ¸ŠOË<ì¤JþZä*õÉ<ç>*¹ÊÔê¸ü¸£/r•)W(wœ¸ƒÔ$W¡ØùtvŠÕA$v™a ¢C;ÐUtì· +®âñ`ýà*zy_€«0ç2+™®Ú1Ïp ( RNš`\Ŗ‹;,‘«°¾ãd¹ª(4YóÆ#ÚOƒ\¥§Y'8¹J#•®¢³š=åWѱÀ5 p•Û®¸j)\eêuOpö zî\…_Fk \E‘M¿'·j?½Ï4¸UŒ­z~3·J"[úàVa!< Ie‹èý.Ø*iÖæÜ*ž5í-‚[ÅÔ"$n."JG·jçð»Mn•v¨L™[%‘»àVáô­êžàVÑí¯ 0s«͍lïڍìE½(ŸëN‡kõ¤©H›øÀV±O¡?Ü[½4SdlÕÈi½ERBW1 Œ£T´xb”H¯ÈzÐUSŒÅv°^ (•w6^]Åm¥çy”j*'tÕnyGaW˜ÁXU(9¬ï6ØU¼ zmbW!6'SÝa¨²Ù¢«ÊP£v•¾’½Mì*ښV»j½Nì*Gr%pM(‘/:uºÊ: +ïuÐ=¬S/ÈUZmS|–ÑUøÊU&ÐUÖᭌŸ£«da–ÑU:ŠqÑÑUµ& *¥B2ŒÊì*…’™„çQ»WV»j +™]µDgWQ˜¢ú˜`WñמŠ®"i­Mv «„úç™è*åq2º +Qg)ØU|Ž‹œR¦*£«0ßB «(áQ\>ÐUKHèª%:ºªEn' TŠÁVI· »!*N‚>ÐUêZ·N·„®BÔî$£«ôYØR¼ŠUŸðέÒÊ÷±n¡‰­z† ³A­RߥZã³Jý¼èYu[Õm ¨~ËÁGÈÌ«RùX+íRptZU¼.´ª)­ªO×5‡U 7Å/¬*5ç4w¼rÜßC)ª>¡Ú¿þ_PÕ¨jhœÓQ©MT•TÐoS•Â6 àš2XRŽ}³cX56ÂÊ'vš†¬z5>ÍäѝÔ·m!«Fofð&Z5'(ò»ë*a;f֋+ù´Ã¢?hP“sÛA`«Æ+—ܪѼb²E¸cóC»nµ­C™ÏKCí},xÕPnÑ&ûٙд¶ÐY&UÝÏbú8;V]åªr–2:!9ûƤaµßT\¾Ä°RËÊe´>‡XÉÖÉsˆÕnI\)‰bµŽ¨­4éh Õ‚q¬T&Ûí³`Š…°ú‹Õ¡»óùÊj!¤¥­XŽÍ³þšw‰Ò£["ŽÑE£˜p§äf–ÒöEWJêp˜°’Šœ‰©‰õ£˜;?ø\@+á,Õ ½ŽRÑþÉ'5#Zuí|çª¸Œ}·T·€üœÑÞÔ|ýF—ämŸ>£Ï]O½&¸þqáNØÍPРëSimqµ’úXW‹þÅ΍Zé²ùْb‹?…=Ü@Ԏk)ôY·5£-e¿c+©‡Q¶â˜JnÆÙê4Öò2A[z#©?f'Há©Þó)뛱å±' ÜÖPǔøíú"D†j6ÚaÄ%"C¾Z˜CêKqKªÏ)µ¥ehš,¬ÎV:†|(ˆLá¡î! +©f¨ØÜ›Pʉyªîb¥$T˜ýÓCDof_ì +n;ìfth§5.¢`ÈjÖJœÇËZl4 yÒaäšïHÓåA{úm±“‰ß:"`Òx¡åÏï¢ÿNúcE”ùÔ¯_¦ÌæK©;n1ŒJ²"VIdö`qÓm„ž.TZYÉð>ˆˆ²%“WŸ=ÜfqR¸º_0½<-µvw%ôu‡ëP‚ê̞d„§ŸD-F‘šôFÜÌçÈt(8km_(.©8žÑ“¨; ¥m֓H7 +kõ •[Ò­‘úð§øðúmRÍ¥3ˆ\úé¶?ĸÊ/ȦœA#¤©šÞ©ÐªuÍi¢J°Ô’w¨†U˜2™0eìÃX +ïdù¸ £09j\x>T…,+FÈáÁåÒq«V¥¿´þ>v'Ú7õ¶+Ávht) +Sž MÑÝyœ&œP»ç“EÄôi©ò¹Ð4ste­VgPÑNه“fÉ}å$uäÒá6SâcÐ^x[q)*B®¥j¨=ú¡ïƒO²uiÕnd*qfOxÀë89¢ÜÖ¬ƒ?ö¡²w/âjJ=Ük–¸( +wKóX)qh}qº\Q™hÝϬ‡º6¥()ÅÆ|}Vxì軍vû&_·C»Ò{Øô +†Ëî•s,ÅÞ©)²çÃ4Ú^6Ñߜ”dбT•ók÷}¨IX‹Z= iúcxwïdvé¶:Ÿ-§-®vú ˜]%%y±/µ»¡³þƒ#ððõà¡ÆÒ¦ïJÜ,¸§ª]Œ +}֑^jz×RÕ͕Û6;Ó+pz@ìÏRì«Ve·Žëq;|ÔU›Ã!.,«™0ú’á [ø´« )çð0½ýjµG²”Ñ1á¶%•Z=$þx=Ö0eaðËÞ @Jx4臾ýWʾz§¨çÔõ{¢‡UÌOŞèÛv²é¸Ç.®yA붘Š!ǜ\u։†Ïß2Îl‹™„õ7¯¶› ç„zñMô4¡2Â)Ê @̎€3§œ¥æT‚Ø­&‚µ0ï»vó;fåÈgÛ·ºÙK3ë"Ð^š{YAÒS.`)jA¸WRws^8Ø«SócԚR‰b„0¯È©r‹8ªSeú¸_¹2E½Ydk‡›åËCîä·§XØiÀ؞͊[Ø) +äñá¡ü{ìÆ±.Uû(¢.ºËlK=•<,Uav¼/XWJí¹+ÈP͙wš"&åk\Ãvs z¶ËÔ«4ã| uŸ±°î}¾¾l§[šò±Õó»ðY]nþ,ÅQ˜oð.›iµP% öÆÀ}!2œ"*ºÑ¼¸Í”Êōõ¥Ò¯ÖÏ%íGÍÖæ +gQŠŠò¤Lô× éÑô+© +S¤œ¶¼oæ(Ÿ0NŽjµîø‹ÝCBzf;ۂîS„¬9û›oϛÊ/òì1xÛNDÂïqxLQy›4܄ˆ ˜T[Z)Á2.{'ORÃBª™B‘ŠaÁ3„èRŽ¥ÑËͶRžrÙf ªNR宨ŒêÉ.˜v5”rëV¡fõSÓ¢:C´¶MʽøKUŒ²õ:6ûގvýöézãø›ÝÑ/жÙ;±jѦMC,·:0mì¶s¤6 ˟y•B  +{þаñÎð6’z(œaŸ·s³jK›bX){G˜–QC -•¸(’GÜPÙÊ©«ùø};ù¦LD˜T ›Øí0–þR „ ±`X'ã’þ„£¨›™KµÓýx·ã¸FúlÖ±‚¦_À¸Þ¬ ~?©‘m·/9¦ íˆNO‘t>ö¦šÞ´óW†*EfI°Í×Ft}u>8ZŽc×úOÔ\†v]¶ÞÔ´Œ¾#.C 7‚{MÅNŠ“Òq›Ӛ¼·Íju*cñÁ–*.¶voC ·¬áÙhÓ¸ÙÆMçeö‰¡ÞúªlÖfu€2Tÿ±˜¥à‡™©6>^î<ˆBúÚ †ÂÒ[µgAú’jËjœª4Ê»QM†¥:NöˡØíõ<—VEdH¡åÝR8AâêíӆýîÝaõeÚ~ï'Aô±S6S“yœ¢¦Ä¯)‘ó ¦í+åLv +~ÜP¹a‚¦— +¶MǑ”ëXœ°¥*Ž£.ñÛ¶xÄmu?©Ô†dæ¾F‘zg–º5;{o.¥ÒW +-{ßãF3NÊM²°[>ˆwjuƒ2#œrC|¨©¹í è$ZÊow·™¥´{9ê.uìV®g¢“ÂÙì)ZÂi؞ʿûÀŠ!ú:K\åĆ×Ç/¥_‘ƒKÚn‰å?+׋,9% „W'Kv®,wÝ ƒÇ)ÛO*LŸ¿{øw‚Oÿ91e©T@t ©˜ÿ¡`Ç=l7Årƒc_°0T=9J°J—rjuf©«Ãþæõð»Û‚…c‹wnæÓ4”!$ƒ×OË%/EÍHm"¡î§9u¹Uj²Sþ–¥¿"q„“¦bçvØ·ŽS‚ïQ:@e!š?vÌ8÷o‹%$Õ3¿—%ðÆî9$¥Ý,„·ï¶üS4˜a oF8“|Þæfõ +µÿƖg)qúÚ¯yïó#–r.§…¥¶fn4}f֔Y&Ÿ¢ Þã¹æ}ƜµÞm–j¶,‹úR9]í°aE«'½±eEåœé—3“è³4DI9-ð­è·³3 bÊ<²B +BLAÿÍRlIÙ¦Éùw+Gìd’¶ƒ“$L!óªØwõn‘tÜiåú| ©’!Ð9WØ>xbÃÚ£Ÿ¥þÿ<Ë.FĄ%§†¿Þ¼”¾@SK=6«wŠéòˆý& +iP³¤ü¦ó¶¥òçqwTVŒÇXNK‰aÄ&‰PUj©ŸíÁ ‹Z“¡à}œ¡í™T1¥ø¬€aoV¸ +ÏL ´$óù-H}ÉX1áʛw”ÑÔ;- +›ê)+vP†¯zmÐ5= :ß6ϑ¸=ú€þ¯mû9b…G…—Gà SÏS9ŽE[*m½¿=6}K·å#jý>›‚y1Ø= ÃxS|P~‹+—ó¿áìtÿ§l1¶‘ÊŠtÂBG¤Œ=N)ËŽS$\ +Õ(RÈã¡Ì½ÁsY쯓r҉•›˜­ço3MÖÉgÄÕIœl1ÔÑìÔz(ªyÞåæÌ-¥id´enjÊp;øa÷£”ÁÖ#¹á°±Øbº‡~gÿ P“ßCéæÃý0S{{­àa,¶˜¢ƒ{k¦Rw(=3d¹ß›±ÅÕ+*ÒÀl1Å¡»=š÷ÿ(ÞClS¯-Ò«%ØIüXl±÷Yrêy³düÁN\‚U(ˆÛNêfGÑÌNèåö-&…À5J$XHt0ø·R!Ò¥µ!E¤ ôSu—P®ì"Vã³úAÿºÎ–صÖQ̆Èi—íW¯zZ¸ª+¤ÂÇCÍ +´«¤…  )fM_ç¾ØbÇáyf},`ùIê¯ìXӑ_¸}q¢lÐŤ2JH/v`x¤]¥âPpö¶ÇÞ9ûê§c¦T@ê¹íJn%ØmÙ0J ´ˆ ¼˜Tλ¾ϖ0¶ÒTC¡Å¾º¯Hµ| ¼ØA˟*N°zÃÝMu?à +lø_‡²eúÁ +ӈG^›?åtíöN~p¿ÝþVçöTž£Ë]!pK +¦±¹Pa f‡vöŠCt¬ANÆIr‚º˜0¦àì£øÎïʛ3óß‰1À€0&u³Â²Ë6Tz”‰P“b« ½3cRmÕÅçixh×¦i“¹cš¥B|­=®k…H’¸ÜJ߂Â@mBè®lQé¥[.c¿=¿Ø§W›FY·e0¹ ‹ãÒ ¢– ŒÙh9Lµ…ªFTF §RªïXÃøßCŒYvBÛ95$cLãÙEOk®idˆ›[Ò҉ÊÞeìÀۗìÁfkc)ÊPPmD‘öYéËÝ+½š‡PÝË1 Ûmº TÕ¨ºëŽ'LHämù(üL4¬×c_kòÆ4´j\õôjf" x§ª4ØS5ٖê^G&•ñ²’6·kM‹Ò67ž›r­º.û8ÌEÿ“`Çx#á ¥b–‚j¶Kª;¨àG «Íü^Êþâí¢%î¥$ŒÖM“=ÖCKÅЏ¥0ßTÇ)-#å·÷ï° üª–®Ö) R5—Bz¢G-V»“÷Kfwľ1¥öx{ÍÖ:ûÄø&lGi1…m5'sÊ´!bÙ׍~ñGõ=í6¡L™ÔIYªéÔ)æ/ÅJ !žvÌd‘¡²0P1…ºø öÚæeú•ìE ™JQ¶ ÀDD˜Ùàig{î¯PÀ–ï¬|àÈŽûš‡";?°Ð¼¬ˆS‹è¡ ®~Z;çß=’oßT½º2Eî¾¥Uù­„Ý+H¦vgŠÑã¯5!ÑÇ+?­À_1VJÜ kŒR}N/H¦ïf›‹qZ@I‘Œ6âX<2ÂÊ% ês‡õAž¾җ•âÂtᕸڅÈÝì°ß,cßAÛN>h³Bĉ#’ô¶ÛÂe#ß:ûzà‰EØ'ߋF¦€Ðx4¨«®CëGBŽlN‰N«Ýf˜!ŸöJA#Óû(2`­´€®†—º•¢µ¶woÛBè(ö@]ÜL¯Ülãš!Gs‹(ÍQI6À ÈêQii.w»¼n·ùp®·]£j«‚J¦;ìweŒ¤ú¬YEËfà[Gt÷Y`2}“FÉÒ}Y.“Õ8ލèH((•Ü©)`¢>P-húüÛá1wä’À™f´çulÜI>ÂÞx2;[a$XkSGˆ¿/ºõE-ãs{/ªð,ó{c‘ôç;@þÍÙZ‹0f"ê9ƒR¦vD,¨­Kë›6E.|@nj(4œÑLÔ¡™ ò¯‚K:‘å^»UåH9©NÙ÷5ŠJ%‚ŠÁ&1Ð[gÂ,nœ_$ÔmUÐeRÊd¯u«K$މ-EÔd=ÈÆk & -‘éGÓÝ.óøÓͰ'ÄL*aL³ùfr¢MÊÍP~ût²=+òÚéÎØ\=há¼½móT* +Õ$Û³ìù¡šWU¬TÜ/kSÆ gmPK¥Ñ,/}LO¿µf¿018 l¦š¼“«¶Š Æ9bmæï +8ã^tü†a´Óe£ŠÅ‰6ÓPÄ…Å•Î©V] R V”ªêø|V†hš~¡cô/«y%…&ã|¿<«DX1,mÖ7÷xî²Wáï »ú¿«Ê¶…+™]ŠXâið…ŠG¥0 §fœ3E:­FAç Ñ¥C]¬öuM¯Ù!«`æ%í¿Ešó^€´¶B—él†Hë2G`ˆ?|÷¨aÙâ‹Zû<Ñó1«†›•Ó2zS…§è­Êdûí_”xÔ¥KdÛEL]Ë)tx(`¬Â¡NMüiïœÄ4©ÁC]úÁ®ýò8§•ËH¹·¿_­-âÖ?ýÓäB +ÔH‡Ö«ERQ® §±\µÏVÐ©fiNPSPt¸byóWžRilµÈUMŠrL:Î8j°÷† <‹¤&•Ž*í8ÿ²PÀRrw²†ÖÓ(“§&ˆRÔ~8RMH1ŠõôY@ÕPš³¸j¼SSeÕN/å¥jG\º¿š¡Ç¢«ul1™0N"¼k„ÓNyr…sÌ%ÕÜc¢/íð “Zˆÿ“×~äz +‰_3ÕÆq¡ÖÉŠýJE4êEdÛ¤š.š¤À¦ì)±¥5Þõ³ÿ‘_©±Är@7‰!塸«$0¹_nt¥ÍIp×hm³ÎæUMÏã…¢“ìÄ}v«Ålj~îšE¶n~v˜ò›¹¹«¢û±ÐƱÀª¦ÓL*-(ä2îÞÞI¬ãXص‚û0‘ðî-VRxi%_z%_ªÇ½(a–U†šäˆ!Q³{G:Bí4Š ªDfRפRó(ՊŸE*<½”†¨Œëë’Ø5©ÔÞ *ÍI$à¥Ï² Øî;¤ëžÜµƒL,?ၻ¦ÜÞÝ´<¢?O³¸&Krøê‹®4ÅCtGoݸkºK¬˜¯Å+U§>F^HÁ]‡÷<·{óžrì(|TU]Íêk9Ï^ÚaÃbËâ2 ΍’Y1úõE^·Çk5˜Z3Ê}D2BO¢#iÊ»“åÁÁ• +%U½^` ÚÚ bñ£ÒOF •îÌ'RFÆlNd¹ÆÙ@¦X‰@~ã$¯¡²Ê¡ˆ¶@hi®hԕb­ R‚¼6 ~èR +åI[Øëùn3¾ÊrˆÏºÅ4¢ÕFðÇ&¾õÖ,ÝÒÊʒ}û"¯ÑìI¾õ6_º¬œêŒr!íjn+ +ôš†k³и㵟—[¨…† I¹µ ¯±Ùi¬‹yh bIÌÄ¥<« BkÂæ¶y·p²Læ4Ÿ1´“Çv îŸIaCÕþêvz$èa‘` !-Fˆ~ôÅv¡ãä‰Ã`ú’bÝ\!"Å?z:=©ÓàÂÍ@):«i–/Ià"H)¡Éµ=ú‚°YÜ^·§ªÍaóªEŠæAÕ!“|UÝUó*» ùC3FcÁq›/üKŠAnêÕmHQR>0lÊ2ZÇß³™…«r¶sÒ*XëUw[1´ÂÒQ¹ ‚îK®%Z_XšgxÒT>6ýÍÓÂ?Ûâ°Q9oOáf;%Z‘ض`övú·U˜ %ŒÖ, 8L……Â`#x†ò伓¢ŸƒÃv€áU@‹™ÒÇoÙÀïR¢ÎC¢â@±m‹.z*öÃëåc¬”œ2<Ô¾L»ŠùNþ&m•ºóˆRU;`KÍZ„£Øб7¯ÂGš¥Ûm!xZ Hu«ä +ö“Ø”¤ZU£·šW|úoVwÀt½,:ûö(Ä'ݧ””.ú 6T`æ­u >5d £U` ÕS^µ¨sMažþB³~+oOÀHkokfހO„Ö(Üyòºã“ö{Õ¬Jµè´T{Å*|~ß­Ån»íN uÌ"Ã'YÒí¶ +¢á4ªÐc®oÌm11»U1ѩ灊½Lv·•†>yrØl”üÐf“~ÇîgÚaé;†)ÄfêfÇM›2ÿÔöt±é>·&`‡{ތ k=AlÊY³ZÒ-fÙ´ë²Qëö.µãò8˜¦æpÆR»ÁÚ½¡L—{‡îÄ[W­xú•l·Y(î„óØÁ½§GRé­î5vÛLŸ«W©C²n®Ì•³2T)xÁ†B=E%tM•O:Øw‹Ð4¢U5‘lZ„Pá "9Ie… å)pBkÀõØÍ¥(áDÉh5l£ZƒÐaA•ʷǰûî>šhÂu`aòØ; ¿ù„:t­U(±WÚ:þ…²ÝR‘¿T¢7=§»íÆ¿ì¿&ÿŸã´QÍЭӾ$8mT3°‰•Ú‚å"2]VYÀx'aÍåtЦ ™îQJCuÚмE˜ gg~ÑUîÂOX»¢ ÂbNä°c.;fÆeø<2²Ú›1Ü(`ËF¦{vW +ÉG”àµ{x?hoÞYÕº[Ôj\&µØ˜Ð£?¶Ÿ¾èÐî]_âýE“¸xÂ6k•œØ6-p¡]ý÷ª„±“ÿ1ìtÉ^–×vÕÂæK¬–¼ì…Ö]\V‡)Ve/‡ªÙ¬zºQ,ÌÛßiÁœ-šÃõYŸ±OÃo8-boÔ³Çxð›í¸ŽõŒO„Ûïq´YDZ­ z÷ùRö…[ª„ gi†CÕ>èÃñœ 7²¸GÍ£Ôef‘¿ÍPn:Ä"ê +EG½Dªð½n6^ã'…0¯ãíc%v¤z@o˜Ï灯FsE@·ƒ…=a˱ +íj¬¶yÁÈ[ƒÒ$À/Œ¥6ëv;Ô9pî6–DµM'<­s¡Ý/.˜â ‚·Y–ƒxÀRòõXjëÆw;ä2ºåT©¦ëÁl¡½BÞš&‡…ñíyx|ù©Æd¼¡^¾ý ތ¢Ñ††A=‚Z+ú7D8§jö½üóIô¢Ðùù!HoºØâ7¼ÍuS_—%‹ä'¨3«F ÅVýVWµÓ'°>èaͶ9ÅIãaX‘¡Ú&â1ڛ‹cjhUú;ÿ‡SˉöF°ÍîÏkáÞ9ÿa™@ænkÂq;/¦_íÎÔ3»¦i%æèbVg-]eôÂÞÖkëé¼Ý*á %ôM*ÁLÔÍzuÈ !Q³–²(Á}#þh5»ÅxT¯±[ÿónacUz`dÔè¶¼DÜæ4öMwfÊr›mr¤ØUOô7TÖSrà¬Ò ‘7éÊScEªfm³«nÌ­éYå‰&K±ÓSRÌ:MNvløƒ%cÞvÏz§íÀgëâ7·8'bÊñØgMþ‘J ¨M•óuÅØºáிó¶ü4r°½QÀœ‰RU„^µÙ,—¾Rq1 -ÕK°P ŽS> §·–û–ùY,¸ƒÍù¸™d0ì§ ÃlÀV-àR/3ÓäGq¿ìÛ=:xT$¶Ñá¥÷m3®ŠDþ„‡œ)ØûÅv˜j-…æü§`ÕÑ=êm…G9áñ=m§i‹Oø·Ø<Öà“”T-²TÕPਅ"›·Ç!:×t$(¾ø¸Ì£”é8Àà–¦s†¦§zlKž’ñøn©cœ4ƒ§7Z[sGsxܟóti¶·ž,8Å*ɑ“ô¡ÇIqÒӺˬué:mõNYV°àSû¥›‹Uí÷¨HÔB“'„W¯Ê +"&…—ùH *ŒBÝùxÞ¸Ï~ԇ4:"žW§ÛâɧŠì;Gì{ø˜Æ>TÕd–Ö§à¯%šg¿åߜ·•à>mØÜNÅêj8×¢¯ßá§é„ôõã>_R& NªµVJÅESë(nœ˜ˆúãÍÀ=ª!âst¦zQo<}DDމžm›ù`j(ͼp%ètÕëꫜGµÑ¿_Ež}Y¤h¯MÔ»C©¹¬‚a‹"?¨pª¹±ç]u³ÈKY™ý±œ"ñ< Õ<–°jÝŒçþⱜu¸·÷?bÐTÀß|ìON8œŠ Hï¾»Ó¡úI$ñœ©¨Îwއ¦’ÅrËÌÎ +¦b%™¨¶mŸ½æ¾T…\?F+qÖ6Ú#’ÍøJºÚi;naán®ZcZ>F=›_aVû0ÇRšSáN‡PÕfiûÝë²E )§wóÇå±c¢§¦JkV ÍbÉ*còêÝ´£·rÍڐ=he& Ííʖ"¯ô Ÿ,•^Uµöð‚iìÄäá †¾p:¯έãvoŸU$˜ùžb*n ¥.£û +•–2§ì—ß'›—îhåFξ-€Ü øJ\Ñ]xaU’é›'•>!ͼoÉy“(x÷™Yur-zR€Ênf–A u*ö+‡uÞ£^øØŸ‘}Þl÷”¶PSI=ÍXr\œ}åŀ¨x¯ªÙ¦b_V³×(Çmî\¡M°n‘¥̙b®bjKžc¤;֒ÍÉîS‰ûÀuœ +™Um€w…&¦©0}φÞáIœ¢­^ùŒjïf-ƒžÀû\Š}Û=Œfã¸è‰°vX[®­>Ԟ |=5_ws½ÀÃ3ÌbaйK³Rß\Nª™YÓìîîŸæ)­¢lª›tŒÕ<ì‹/§bOú„ÔÓ׺71\t6Ût±¹l(ÞÝØo·±™*ÅeŒò‡Cš’²/ÈÜRú$[ü+Šcåh°™òäÌñ=«D·lÊӖ}¯Ùe?Þ]FG_›¥°Í»ÔÁGë֕Âì ræÖ§Å—:l®c¬Ó©ÆÙ¡hÚµ‰N]tV‡Êq,ÞÜRé“Ð… æÀ¶Àێûƒ{mN¦ +A Ôëqwe]zÁnXñh8oNp䜥O8Õºù°¥¥Çìð[F3„}v(ÿ\¨çqÙ[Ëæ»é©”‘ Tl«œ@š™«è¼)Øafä +¯Åœ3k&`ÜuH^—f¼ølFS*~è] ò Î™”;Q€“›Iê©ü__—ò …xàp£Áis¬š¥žs7·îI3µ‡:.?Î=öy¶L¹B¹£Üƍά,g³7V»ÙíðÚj@öŜ#Δ j‘Ý#"èœÖç½ørî 윊iÜ ü0ìÜѼIgÑ·G xFÚaô(>™C„)V)ÏqσB0Xö&÷zDªÜ‹ÒÍ>®‡ƒÐXÔ9å0áP†»‘–•UÆc1…‚·Ò”û +ìœvB\4Ý'˜K1ß^j[…3õ¶‚XÛ +mnU!Ï(¢ú°05à0ëY)Ä®‘Þ‡¬(&㚜¸y”å6ésR½“ï2oF»ÍY2ööùtÀR­1ð2b“«tÁ6·›b'Zy•YÆ ?P—Œpӕ1_²Ë(tªåq›­kaè¤ZÅ!êaÇ ªävHøíÍ©|VT¢¢²ÄSˆ†z’Û·KÓʓOsϵ&c?«ãFøn#œÜ!…|ä™j§×qª2¡\›ùÍ͖ܐÝj¢íµíÜ.·5õcTJj.H#"W¡P3<·˜¡ª¿/ Õ[P«˜åŽ P— g”Mu?…ó0,•¹ÃGÒ)Üə'D9Hiã¦ðÖeÎI¶B™ г-Knz‚‘hó—÷’S7Äw ú€ ‡âËFF4] ìˆOÏ' ëTáô3}Õ/„ÏÓWR÷fñ2•}·7H„`—=ʈæaòš +¦D9Ëÿ©p^¦#}¨ªl"’Ì8HÍÑ'IQ +}Ïò‚U!”ÁMB%XkÑ÷æ±ÔÛÝ6T`„:ő-¦{yn—`-uos»4•0ˍ(/JJXÀ¨£•½^‹½‹xa4ÙömÕ.I5Û uÆb²§Î±=Žã.žƒ£mbò †›ómªCÀÝZ™ òõF+»ÞªNWÒ†´‡’ë¥Bä¢.Ëb-Eý¿ ‘\øC]Ýc“ôN+Cc³‚­©Øóë ì©Róyº¡(uSÐ?°uSS¦wÒBMƒày`az®4w†^ó8Y}nÎò"Ê®˜1 b~Ï•v*¦½Ld“òx#·JÜxŸF)_‡ +QUë:m +¥ÄF¡`á÷ÒL(sË©„н³ý›7Ò+ù¨v+ÃC€00·S¨#ÙëRŠú\‡;+£D«qK±Ù1ªöçq˜¼ïÖEÁtÐky˜ßn°ìð奵Bäå"‚KÚ¾{^YÎç,ù´ö +œÝѼ½•~âÓºÌÍzÐAÕQpEOʵbâ6¿ÏãF”¬’xQ-ØTösA풺Y/U>”ÜnîðÂß|€>Ü lGfßz碬X\ ‰77¡G¡E9ꙟ—zÚÇQ_ËG1@Q·èArkïßS˜Ù¼B7o„¤0êæÌn‘œJ[„»¤nF23X +ŸªŠ½Óóé¸ÍKd$ƒO.eµNÎj4NН>ﱎYƒe¦òÒJ/³{ +lâ`Ý-õvHÖA˾Ìm5¬µÙÏkÎÑ!H‡—ƒÈ)˜* Sž4nØV'Ô}÷>F942$¼H{;)ô:önŒ(æ•õ¨µjí^`ªò‡Z}cHož³ï–°±[ Û2¡­—5 ¥ÀS{%yM;qÚ×÷(€VœVS”Š–+p¹WJZAR_¹ªž³Á¼œ…‚ŠÝ' /D EG›˜µ`·ª{u³‚µÐ¾oÒðè¸jnçOnz,Ú_“wÌúoFÄÿˆ÷ßÄSqÖˆGÉVâQhX€x 'åOBâ©ãµñ´èýñc®@<”ijc*OË@< ˆg«ì7O+ô +ÄӃXxzÀ¾@<,f¨r ž†ŽÄk$ØÞ@¼¶lˆgL™ ÄcýõâI­@j´ÄkaC7xšB¡$9ìàÇ ˆ·ßWâi|¯@¼¥düZRˆ§ºÍƒVý@݁VzñX?e Fúˆ·?æ!Qxxˆ󂇇RxxR¾<<©•‡'¥òð¤¤)óð X˽ÂÃKJâá-5xxúݕ‡§™ðËÃÛ¡²fžM° +-/)ù’LՐx”Ö$ž.ö‰·Ë{+#ñv9+ÜÛQ‘x¨‰‡Px»Ì¶V‰xˆ÷–ˆxR*o¿·AÄSEQ%âíė3O«”/¯íϋˆ×y'"íÿ"j!â™ÑÑ}-"Þwü‰ÓÊ·:Kµ7KUˆxdò3{ïEÄëQ6>‰xv‡f"žÝÿo"žž“Jijç)ñȪ~ˆx³KrñTšS‰xX}ˆxä€ û¿ñ”'üñ %ñ$|‰xR+OJ%âQ’ô!â©4 ñ:ÞM™ˆ÷½”ÿø¥&Ïø!âI­D<Ž+D<)"~ò…ˆg®R™ˆG‹ñ‹ˆ×€ýe"^£˜2‘î´ üñ"žæÈJÄk´¸œ/"žT|B&¥ñp‰xñ$²ó›D¼Fò"ñP>D<¹§Ñ³D<,Ð +OU¢"žbKô&M"+üBÄKJ"â-5ˆxmò©‚tÇ8ð!âi ©D¼ÖÝþsñ–’ˆxI4"?)ñ@Á}ˆxØ­"J?w~ˆxR+¯ÁÉD<)_"¥µ…ˆ‡a^!â-%ñ’êD<ý…JÄÓªîKÄ£'°ñšLí o)™ˆ—T'â©£ñpÛxñ­™ˆG¶ñ4 |‰x +_W"ݶ…ˆ‡s쇈G–¦ñ˜^ O³Ú—ˆ'µñ¤T"^ÇðúEēX‰x(…ˆ‡ò!â5r%™ˆ§©ñ¾#eL—*Ñùñ”r­D<•"U"ž<¾D<©•ˆ‡T!âáõ!â¡&"ï+D<>ûCÄÓæ»ñ´Ó¯D<%•?D¼Nûi&âá€ZˆxlÐ?D@<Ê +ϔ ÄãDƒ23€ÄS§aâ™Úˆ§MMâ5ðNˆ—”Ä[jñæÎˆìÄÓÝRxZñT žÜK¾@<©ˆ‡![â5z1Þ@<©ˆ‡=JâqĈG=JâaÓV€x”}€xR OBâ©dí ÄC-@<ޙx|öˆ§_P€xªÂ)@¼)d ވטÝ2º7£ ÄӐ’xñ:ñB ž6pˆ§/ÿâ閪@<;yˆ—”Ä[jñZ_òâ¡ ž” +ēò①*@¼• + ʈ'µñ°’.@¼vÄ[õ@@<}· +ÄS©qâ-%ñ–@@<šÄÓ;¿@<Åh*OmIˆ—ëÄ£Á´ñÌ**ñ–’xKu Wˆ‡õˆG{iâ©ý³ñ¾Ñìˆsÿ§@¼͜ˆ×÷ãÄã¸Äö÷Äã6,@<¸ˆ§“ÿ⡎¶xxX0ž”/kYxxR +Ü‡‡§[¨òðD•©<<æ²7O±ÁÊÓQCåá þöåá) +yxŠöTžB#_žÔÂÃã°ÌÓðåá¡f‘—ÂÓòåá‘æ(<<«ÿK<¼®íЇ‡¡£ðð—ª<<¼ß<"hÃND=]Æáá?ºµ„Ã3GҌÃk¼*8¼±>ãð( ¢"Úqxô¤=í…ズàð˜Aù‡ãðÉùâð ¶Õ‡‡¢§§àð¤Zô*px‰ ŠjH O2õK‡§«âð”/ûàð0Ã/8<3üÏ8<ì^8<¥M*OáæŠÃ£ÐüÃ’qxíÙ+Ïpo)½‚Ã#C—qxÊ~pxD°2Oe :όÀß8<⇇g^‡§8ç‡GNÆá)[qxTS}pxzcÅáés+Hí‡GеàðôÕ*åƒÃká4qxö΄ÃӇqx-øì‡Gû{Æá«øàð8W‡Çy*8¼¥éÃÓàׇGýñݏ^z­™3ðgÁá5èWÂáéË~qxê +O9¼ŠÃ#ñöÆáQ qxz_Åái%õÅáaç]px q_4<Êgß4< + ψt™†G%÷›†‡Xhx(ZgMž«…Î4<й ˆa¡áI¹5Ÿž†®BÃÓµïû¢áQ‡ú¡áiäª4<ºä·‘hx ¾4<ª 1¼Ðð˜¼zÑðP7‚†'…Ÿ2ixRŠ ¯…9ؤáI¡YiÒðLyÓðx§¢w“†×6߸N½_,2 ò¦LÃSk‡“†·ÇzÓðTlTixBéLÃÓ¼ú¥áY'^¦áщQhx6+½ix 6¼NdÐðZ¸ÒNžÖ@_…‰†Çê§ÐðXÛ}hx$˜ œ_¡áÙªûEÃk“º4<àT¥…†§‘ ÒðÚõü ^Uyð¯ÙJ4)õü j¡á±®,4<” Åm¡á)ZixR¾4<ÍÆ•†G!B¡áQró¡á¡ž”BÓð¡áÁ‡+4<òۅ†'åKÃÓR¥Òð¤Tž–8_½²™†G>Óð°e}Óð|˓hx8CÛÛ íY¡á¥$…ÓðTÍý¥áuxG™†‡â6g<8¼ñ ÓX`x O/¿0?0<†‡Uvá‡üÀðØê^‹Ž  ÃëË.Áðy + OOj…áÑGòá¡fž„ÓðáÑlR`x¤¾ å ÃS®ÂðÓª0<²™ž…í3 î¨ÃSï Ãñ³Àð¦çsÀð”oüÂð”b¬0<¥* ÏxËož±™3 ŒBáéo~axÍ]H†Ç·ýÀð,˜ax–^Ë0<Þùá)™Vaxt(^ŸpŸ ÃëGÁðh³)0<%x¾0<ÞY`xxµfތwž¾H…áõóyÁðÈs¿axJ +V ÚÃ#ÍúáQ„_`xú†§tÞ†×*2 Oç:ÃðhEûÀð¬³-Ãð¤Tž”/ Oj†áÑ¢U`x(oÙô óœ[†áÑ£ò†áég9õ ÃS†ö۔ï ÃÓUž¾Á†gê†GÎ5ÁðtŸW퉞2ÖÛpûi %2sÎ,¼±/ O ìÂÂãªé› oàNƒÂÂÓÐýeáQ‚”YxÀ4 + Oóü—…§ýGeáé1ù²ð(v*,žÅ£֥°ð4,Yxš* OÃCeᩆíËÂÓ:¡²ðTSYx ïŸ/DAáQòRPxR¾(<ԂÂC)(<>ëÂÇ ¢ðús¾PxƒXø…‡•·Å<ŽM…¶SÂKJB¯-5Px  Õe;h 摹Pxd +ol÷ …‡cø…‡XPx(…'å‹ÂA4˜(¼¡‚ς“òEá Ü3 +ol±1pÞ2 +/©a]K®+£ð + DQPxÀž¥ÉÚßåAÂ[J¹S žáÚ"á Ü\îJÂË`MaNÂ4Á♄‡ŠÍBðPXÚ9 O‚ÏR‹„‡ˆƒBð zhß=IxR6¾W"áén²ðaðt+ ðLJ„§Ù¾ðXp˜j!áI©$¼ïüN,ÿ%¶ =F!áY÷M&á1ù~Hxfþ”Ix(…„Ç;?$<©…„G0µðŽ~Hx–åÎ$<…V+ ¯QS÷&áiï_Ix| þ¸ µðP + B þ¨L£…ªðÈø|HxŠž.I%á}/æ?ñ†!%û!á©¢’ð8®ð¤|Ix¨…„G$5“ð$|IxÚ·UžVߕ„§È뗄GOs!áQ¬[HxÚ~|Ix¨…„'¥’ð¤|Ix´å›ÞBÂëa­^Hx„ +  +ÏBÂÓ6èKÂëg‘ðTAXIxKÉ$¼¤zUÖ …„Ǹô!áiÛ[IxÔ1fž o^R„Ǐ*$¼~FëN&á¡J!áIù’ðØ,^?¯JÂÃöCÂë<¾™„§@%á%%Š,5Hxú“•„§sý&ááÇQHxÄÜ2 o ™„—TÇ?P_™Ix°`>$<«…Ï$<¢w…„§m◄§˜D%á È$¼Î&ïMÂ#J\Hxìö + äț„‡˜Ix´;ž”/ 0n&á!džñ&ádÊ$$< %…„§hR%áQGõ!á¡J&áIø’ðô* OJ%áIù’ðteže62 Ïî“7 OU •„§³QIxIIü«¤: JÜBÂSEۗ„Gÿo!ááYHxKÉ$¼©NžþB%áéÆþ’ðHYžv•„7•BÂ35“ðlW–IxŠ|Hx*r¯$¼ý“„G•Û‡„‡Ÿg"ááÝYHx†Ky“ð@¦µu…„Ç1^룒ðh`($<…²¾$<Û¼due…„—”DÂ[ª‘ðôI•„×ð}~“ðø™„GÅ\!á¡|Hx¦fJ!áُ|“ðØq‘BÂ[J&á-5Hx˜C&ááÀö"áq= + Ï\•3 ՛„§G¤ð°£-$<(@{ÈBÂSC%á-¥Œ¡Nž©BÂ3—7 Ï<™2 š§BÂÃÿCÂ3¨L›êBÂ#W–Ix*'©$<5J}Ix¦fž)™„gʛ„§%s%á¡$¯?$<Òà™„GJ!áaùð!áñ¸¢…„‡“܇„×±bÉ$<)•„ÇîîEÂÃϱðŠB,ïûð´Í-$<…„GÏý‹„GWJ!áI©$¼¤$ž©™„‡G!áá¼ò!áQeTHx½ ±÷C“ZIx8užž¨/ Oj!áñà‡|Hx˜Ó^ç ™„§ñ—„'µ’ð0ä/$<¬">$<ÔBÂ㝅„ǧHxú •„Ç~©ðP>$¼u\ð:óÛ"áÙ¾’ð4gBÂ[J&á-5HxZŒTŽo"…„gnc‘ð–HxS žÂ[™„×g~"‘ð÷E³%e"á± }“ð$B!á¡|HxúøJ³„z&áia÷!á­¢y˜Z o)™„·Ô áÙX$<Öè½—…„ÇŸÎ$<¼¿$<x…„G°¶ð–’Ix¦fU¨…„gá®7 N¸B“RHx¦-™„‡PHx¼ñCÂӕ,$<ÅJÂ[J"áMq’ð,f˜Ix ;>$<›}3 ‚ÏLÂ[B&áMuöL)UIxÖû&áq×(…„¸éMÂ3úJ"á!ïûðP 'ŸBÂ3Â͛„§o–Hx´ÌgÞ + ÏÔL£µðˆÚ}HxօšIxx/ž–õ~¼…„gN™„§æ—„§ã + È'Íʸ£ØêÂSH¼‚ðúõ¼@xKÉ ¼¤: +ŸÂão~@x¤õ OJá¡|@x¨„ÇGÞ¬)+ <, +¢¨ÂKJá%ÕAx}&°p§Èö„G©Yá)Î_Ax²Lø‚ðP? <}^á±Ê, ¼©ÞR„§½UáÁdÊ Ï„G¯Háiª® <ºò> <-c*†ÞÉ¤€ð„« Ÿ\¹"!v…¾·ßÕ¿D«bpåövÙ[¸r;hÃ>c—Ȇí„såöÞU2`e*“+'uØ.Ó-ùvL/káNÝñö\€å¤Þ̤–Cá¡° +e=Éøt'ó0¬…¶¡cÝ Á•ûŽ€1bР±¬påôx †—àÊ©°ç·½WŽPB?ïʕ“úÂîŕÃVIW}råsÜí©\9Ô1Íþ@ïl>ÎâŒÈ§¾W²œn§ßºçYd9âEÛÑYŽÇÀ¢ -GãÒu…–#þõ\c ?lyÿã-Ç^ùjö%-LÀîùÏËñšåJË¡n›–ô•Ò»?º‡Ò¹9}.Èrö¹ÎÞdrҗÿ ½íÏ$Ë-%‘å–d9mëoVAŒ Š}K!Ë9¬)'T£»Ð'Öøÿû.{Ëí։}/°ã1ÎŒ³‰‹uZˁ(Æy&T ¶k,·” –[j€å°Šé˜©80n7·Ü½‚åv•õžç“Žfdôcå–’ÁrK °œ Oͺ§Fµß„Ø—§öÜÜ<Ɏ}è%h8¥c¿Âø•Ñr¨6Ñ9Zes)«[¿æ¹c^ÎÃÁ–]eä7GËI±á>£åôÝFsN«Qneº{w›HaÆÙÍr< +ZN¬ªßXv¤ã m_6Ѽ”„”ZjÁÅÐ>·h£š’Çã¸ÿ´œn¬ó~žtœÌ>´Í›h¹¤$´ÜR-·Ó"%q ÇÛ5*ZN7«‘yØA‚eXô2“å–d9}'zã:ýT²œ’ ÇÈ*ÃÚ6îE–3S¡³€å0Ú½ÃÈw”ZØÞÏË1iÎüZ.gŠ!ϳÀrRž {9ËqÌy],§MO,§¨ñ£òÅ Œûì½KÎ,͎e7•3‚DØÃ_íÛUK„RöÕjüнHš‘á?2Ä)”TëÞ³÷ø<<ÜíAnri¬Õ†¢på ?ú±öa‡ý²‹+·•Ì•KªsåºYÇXNòúN9,DžÐù.Àr6 èés°­ˆX1g²œ©ÚYŽÕyh‘åì[rY‰,GfŽé1ÈrzUX-²ÜV2Y.©N–ël¼µ“ñð: $™Ÿ2YŽ_ä„ÐEÒfšYN ô“y6“åh$u϶ÉrÔÜ>Úæ1NÕºöá™,ÇÞ¬ó[Æqã¶ É"Ëm¥ K ²\“­†òÓ Ë5x¡ši3Y®)ÆÊ&ÈrþÆN4€,׌ØlçY®áI>ÌÇ¥ ¿öpzuåÍ插‡ç +¯¬&Z-[†÷Å +°œ4†ÒàÊ!0?ø‹…0Cpª‚ÖD÷cmœ¥j¦Ç5ö5­/zÜ£ð–ÕA[B¦Ç-1èq)LžªàÂ5Å؀f|\Ӗ¬IÕÀñ]qÛ̐ÛjP䉳¶ápM+£¢Ø½‘ÅÇÿØqÜûmˆ\RDn«‘kæÃm "Ç÷ií®9ԛ¦7‘“BÀqAä¤LîX†ÈµCa@äPîϹ!r(¬²3DNª­ "§‹½Ç×p¿<­Bäö˜¼ŽSÂ^‰œ‘ÛJ†Èm5 rö®¶ápÚi7›"§ 0ÛÏ}œ"Ÿ#Š".iÈ܋CñËÞ+K­ø¼h ã¹­dŠÜV"ׄ\n‘•QJ1 ¦ÖB‘“z*Šœ”ïsêÇñ[šYßʪ–eMªN‘C¹ÌJ¢‰3o¯˜Z¹¦$ –ó Èé.Zª-(r[ɹ­EN/ÅÐd²ðp­Q™Q)r6å>÷Vê`Ó"·„͐ے³Ÿäƙ”ƒ §ÑðäªAŽGNéÇ}œ|wÛ9Eo¿÷¶U€œÔï·j ‡r8RŽ¶ÍœIn.äPõÖ,€\Î3ÛÈI¹ž€Ì@N—æg:@®)MG&-r[ɹ­@®©ÉôÓ¯? ÷xÔ¨ðãbÁé(!w"ªïŒ‚ð 2×æÅ§- +.Nb™fŒ“Xå¹aq •Î_[¬¸SûëklTœÍ«3Ƀmaƒâ–æœ8Ò=üMe­éŸ¬»>6+NO‘¡d §  qª†kôïû• Gˆ¤·s“áÊOçÐ<Ö[Z‰åçªd8ì€örB†S¼†Àä"ÃÑÍâxžJ†³4Å'P(·v;|…¨ŠpcÈd8T¥MŽÐÉퟣŒè¬Ï G¦‚q6Ðp戻ÚBÃé|úÝ+Îàm“áè½}µs“á(xVØ3“á<ÞÉ4î[ÅÉ ×Iüž³¢áh)¯½ÿBÃñhád8Z Q“Àpô2¢Ò+ú¥*spúaÔuYbð3+Ž ›vߋ ‡ÒŸ{sáºtVP€ƒ2"[³ÒŽÀ‘Î3x„õ>ÐB˜X†Â1œ^ӜïäíÅÇý¸ pϏ붫ZP8 êD|Ž)‰ð}@á4ÌcS*P8îY@á5ÏîÓ§‘%JÿXû„•"m´–—¢ÕÊã*g¬ÈT8­aBtA…Óõ³t[T¸÷où¯¿ø¼¨7­r' +§& +×16ó}¡ §Ñþ¾îJ„“8Zß@8 øJƒ‡-êz*N«c"‡AƒÓ|±1½î +¥÷mS–¡Ö§oƒƒ*ˆª&‡×1fÁ©ùí|žÍÓÿ>Înþ§ÿýü@ऱÜ ûãØ 8ý‡öܧž:—£'í‹i—6úÀ‘0iGÀ©a?»ƒà¿aµ¢”áߚ²NÊjü›‚ív•k‘^_ø7­ú'HµŒk`<¨µuüM6k#DŠ»,ãßny7àk¥û¹ño +@Lj¸3ÿ°ÄóŒÍ“BlmñßP0ÍfœÔÏâßê‘Eyœ)gŸôé§+û.ŽM€Ó#8B öщ×ðç8OÑBö›N€kʚ²µL8G³ªÀé÷poŸàžÇ7à™ÿ&‡†¬; ÿ¦‚­šÓßnZë +SºóÁíì·g¸36Ðo,…ü¦wœÖ¾™áRU]áVÅ&¬ 2C}ƾ©ù?n¢ ¾=¶¦XÌ79ki=˜‘oϊoñMÿfô à›¬·lÃñM™·“.õ|ãö8L>[7寪»;ò1A{“áîÀ†›¡¨|sVɦ&˜‚z}=îMznœ›ó6)e?ÿ̛ĩ¹*(oäϧáŽÑ tyÑ5<òÆxiZ|¸ÍHAxcã@ùOêÛ€ýn›ïҊÚ,ûéÝyZ¤Îýw•-™”DTt#ê‹í¦6ϧÚÚí$,°Ánt3¾žÍu“ðô§bÝT&|Ý÷¦º©ëhmCÝ(Ð:{eº‰ yè6Òíê¶H]D7åiµ÷+D7 päVÑMvÔq=sÝd…ûn;Ž?馆/­馨ï=>¶ö1‹›³ùÃtÓàÂî"˜nÍ0NǟucüÁ£™¡nP£o¨‰³ï„» n¢Ñ“‡ÊP7žðŸÔM»•Ïi9uýæÊióY˜ng¬Ðé¦56©‘ ºé¥Æz’n*OÁrê<·çã&™À¹©$ãb¦¹)`ÃÀ0·›¶ÊV%LT´ùaÄ¥…rG™Ä%ª­Íãý`_Í_…ãFó›fKY^TNs·ûcO¡¸UÜÖrl¡µ ғê7È![}/‚ÛÆÍ¸Á/o–¦r¬Ða8§…oJ”×;èm²òÞ|3ïY¦†Þ9Ðm” ;S¶¾Fb0Ë󻻛-sÛTùK+­À¶)CkD`۔Úí<¢™ÛFúŸ'+Àm:ÓRòn“CÄҋ‰ÛvuÛ².l›-鎍m›¾kÎÔ¶¹l¸mÓ(Œ¹-˜mG\ef¶Ó- l;° +Úf¯˜RZ,‡3°í ;«‘Þx$E c㸶CY+?+66êBOØ+`mìŸ>检pÁʌjS_‹ÃÛ6?ÖuT½|̼âM<íœ9mà Ó&sÇ<í4‚srŽŒnãȂ´I¤¢%mZ+*(¿m*¶lE)woŒ›(Ìâ³éù¥àÙ¬VwÁÙ-®ûf³)Íõs£Ù°ú^W%³iIi$Àl*9ìë;— ·T¡² pßÖ¶ÙèC‰vkÎx©ÇôãõÖ ÉFYÙõgÙeó<¶A?åYql°É!–9Í£Î cSˆÁÒĉÅFڞGÔalM?9þˆ€±5úƒóÊ$›æ’ÆFþŒa,`l¶ž?46 Gß06-Ÿ-Ual†ÛÔ{¹?Z¯7KÅckÍ'Õc«ª^gSÎ?‹ÅÖ„UXl¨„KƒÅ†B˜5Xl ‡ÿiŸµXlROÁbk¥keI3Y)VL•YlÍ$zqYVâÊûùj&ÇÑ[Xl¨z‹M +~£`±IøÞ§£°ØšµX{6‹,ñL(6 ÃË(¶Fï‹ëÚ(6)Zò’Ö&·V+ÅÖ4\XÎÅPlÊûðLŠMΰ¡"‡Œb£¼ë¼­].Ö ¥Þ-Õ(6æp.›233¼?¼{)-à(6ùŸÞόbkD-Gß(6ÆÐ`±q¦¢zÆ&Õ¢2Ac“b«hlúçI ^¦±a¿Ãð46B78\ƒÆ&NÒBc“ŠGpÑØ uœîG!""…ê¦ c“Èd,6n"a¦`±¡à$M,¶F–S{5g±)—vwłÅÖàÈN¯ŒÚ, ð§×ºãQ¤!Ó<7‹ s“ÌbkÄÞûÜ,6I@{±Øu¹ô$L,¶ïw¶LÈb±©ÆèÈb±©vïP,¦°Ød×yo›Îôğ‡~š¸z˜I0¶¦Ü.Ÿ€±é›¯½# m䔼X&[ÃpÐۆ±™27‹­œ·Xl¨,\‚Å&åxúØ,6)füÏ,¶f­Ÿúf±µë’`±é%µÏÊ,6›6~;‹«À,¶¼Ÿ­A«U¸ƒ+>`l†•® +c#ÍFKÀ،pÐÆ†±q&{¼ c£ë ¡¦€±áêç™ Žnޒ cƒ¾`#\T P˜¢MLÀØÚíΒcãLþfÀØ‘»»-[#cí ŒMbk•€±uVn÷Ü06RËzj M¡¥Ž)+hl”ØÀil†rº*Œ ßú³øÞ6Ú,›‚—µZJ06 ‡çÁ¬é¶»kŒê-+†N06«3ø«5Q@§yŸ3ðÿ Ìb“jqbc±QÕDä3Xl(·sÞŒü5qè ±Y²Kw?hlvPkhlúރÀqàØôFàA›R£¬5 +Í8Ӱ֜Ǧ¢HàØt ÇfêŸcS˜Ž²©…cӓnŽ¡À±QÓGî=ãØð­Sz<6Z +[»`²Y5&ÓDdë֊÷ØH6~[º’pÙôH˶iUþ ɦŸ­Mɦ1Üæûb½zØø É&_(‰î…dÓtOg¼Ld“ÝèâʂÈÖ ¿·èuîD¶†ž~oNdSBÖÂpdÓ1ÚGµë9Š–ÕŠ Ç[ ØP_è³%ìtº[ie`ˆ°Þ^ùIKÔ-p(6)֌;‘ØôXŨƒØ,Ì|xjÌ$d[R½sªš·Y¿Gç°)ðæ°Ñª>qØØ8ÛVÊo±Ôà°Y3þÄaƒBöËac…]8l¬Â_6ÔÂaCÉ6ªÃ9lˆ…ÃS¢pØè¥ûËaÓ£T9lúÉá.Àš5Týœ +‡– Ä;ÖqZi°0‹†H 6ÔÃ!kÞÅóôèe€ØÞãï8¯ü—@lDÙìáL ¶ÐgZæŽ [1:â} ÄÆ”û̳‚ØÈ¤Qì 6”Ï=6ˆ3ã* 6©1ÄF õòjVKwÈuyJ 6·÷JµØkøÛ6L„Še· [N±©é†mêÄFášõ+qµfd½3ˆ •5T€ØP¶YÌéãYåÌaS~†“cØ(Ńà68³»IÓöñŽAaÓïa‹¬ °½ÉýͧEy:jE2…­‘ÎÃ~ë6Ž£ySPؤ4­Ä +…­YšïÞ6‚¨c& ›‹ g ›4g [¨p%¼šÚL™ $cØX䍌këàæÝôkXM%j/‡¤- *í´Ã&…‡naؤ¸)3aØ(bgk6¶»ôE Êq_ÃF@§q`غñ[žaÓóMg†‚acDÇî6yö¦C¹¡°-!Cضèæz `™ ¶Z{"ðœl4R½‚ÿ"ÛàǶ?ÖP¶›'ضè6û:k’lãõ'j`2€ o{ØP´ +Z6)víÀÆö°ÏkÅ:e¯´Í3I­b%Ø:ïía-ޛYN÷½€-)ÉȱհéOlÔ­ÆÎ‚Êˌ`£oNÖq4ÇÔo¶-d[R;€™ñ:ŽÍ`kxt¢%d0Øt¦ÙȂÁFàŽ‡3î˜ö…Vœ—l¾ív7¨Rp¸a›ÂÀ,Ú ƒà0Ö«`°±½Ã + 6²"Ï}TjsÂ)ƒ…­Ñôi¶Ja#€K\"0l(ӉnDì˜ÏY9l +\O|ËbSØ×²Fb{•sޞnÒ,¶©æà÷¦°с. l‡7Á* ¶ãô‚Ä@°1Ò\}د -6b§>,k5¦³NÊ¡ÍÑä1ã×Hù·kÑהcàgø|+̕‰½6‹p/ôÚ1<Æä58‘PxMéËÆ;wMÂå85¢ÿXiÚøS¨kÔZ7€®I8©a_ ›hF®)"L­J ×ä!%Òĵ +p ‘$•7/׌3‚†ùÖ6v›¶v_5I±k£(8kíy¼ô;³Öžip;à~lgµ»Y®²pÖVcƒϏïdƒ²vZkÑÌXsiÖd}v€µûglÚ¤ãoœ×Æ«iådí¯¶•ŒWÛjà՞; ++šF‡ƒ+aÔü6^<÷!â•m£Õ”½ºz«Ý,_\µ{ÄÃà\µ{XÍLUS.ßBƒU£ÍË0Ì™aAHg¤qì1QíŽJŽÀ§ñ(Pxj²æãœšè–M¤¨™Å(Xð´ÓÛ-všªY˜gF/{ïnJ÷y±R˓ÉiêKEN€ÓÔÖþ˜sÓt„Y6íŒÆÔMSž ´SPӎÛ¢ M;¼=ˏchdÚ1m‰L;¼‘×⥩T‹š­ŒKÓNÊqijA-f¡¥I`ٜaiˆ÷³YiÇíz Òøfíª¤4ú×ê½ PڜÖ2oqҖ1iK Jí^|{\òÏ5ºxÎ(å½ëù«÷(ij8ÊD˜ijSŒ4ämlô™Ê±øàLHcGëïPeqۉÒ¶’_ï¥.BZë÷vn@¤±:zÒw ‘fͅ¨qDšÚ5šu@Z#d"G[¤Y;#ï®ù,òƅ¦5£½-ë0A™Œa¤)~ÿœmV@š©#ÔyùqÇØ€4S®Pî0Àx§®HCfˆ4óe$DééçZ„4ý›¬Æ"¤iõü镏&o‹Åƒ¦m–Í·ÁG£šµÞI|4©–ï >š”“6„ÁGcçE€6ÒèKHž0iE¡ ¨Ì @šu³T^Íi*ÐVž0øhŠŠ›WdóÑ´Má7[|4)Öb6øhII|4S¯{óÑtO-•|4zŠ0ôg>¾Ÿaë¼ç¡—á.<šúCó<šT¯gs<}¤§sÏl/ ‘}ܕŽ&ÑËã&Ŝ'GãC'<mWȌM‰4ï«åx4ykÌ•ñhRÍÿx4)÷QàѤXx1ãÑP½9 t4Nl”ÃïʇGgʽ¤ÒüDP;èh '‘y¯G!1˜éhû¸ £5f±à3:‚!Ûp´¦¨:É +?FžÎ»G— `LÉp´­M3‚(‹zFÛvô™Ž&ŽÝÁuœî¶“À£%%ñѶ€4ž.ÃÄ9"­­¼AB¤!Z·%‡¤µéÕIÓ&˜jÄH“f5ICim3ÒCfFš>ÝÞâ`¤5:¼Ÿ×†ŸiwnŽð I[îžuØùqŸY0Ò¶’i[ Fšý¹!iÚ'“fɌ4¹“ ’ªÅQŸg1Ò‹¶ž™‘¦¯…[ƒ‘F$3Zìs¶’i¦º¯ FîP¶gÁHk*” Þ43Ò¤Zëˆ`¤I±^ÎÎHC 5–iR½ÛœCÒPhѐ´+Òqk ’¦ŸÒJ2’¦»8<ìKvi ‘Ú"¤‘j?ϝ|Ö´Z“‡ªҘ~i¹¾Ž“ 󤿣Ò¶ iK]…GŠYÏ» Ÿi<óúSiÃE£µŒH£NÍúPÆq-\¤HÛJF¤%Õi¸npÁ"¿ùüÒH·_ÞÒ´jÄB;Ý ¤¡ÐÑ8ÒP-Wìˆ4>˛»œÁ¶2÷LH£öÁ€^:ˆQén–P¶’­$BZRÖWf)Èg֜6+¶(»}ð•£fÒh}κ)ÒPñDdB%hÔv#•&ŽG¤…PiK @šìw,=VoV•)€4¬³Ýþ­ÁÅÅG3åIƒç,5øh4d4>Žö%vK2­}Â\|4uUÀîx4-½éw—éhZ^3fMůtÕLh4ùu!ív#rðÎNuÄííOÁ¢©›+Ë0×´[2 ŒCі¡hK (ÚX òœ‰6»Ph*iêޜL9U¤Qã@´WèøoÆ¥ÿ?ÎCûßÿýÿþ÷ÿóÿù÷ÿëÿøž`êÿ?Ü´©ñPGM­œ&ààR¥°ß›4âø¾xRŽö±c‚6?„¹Ï?SËBŠøHj¾O½ÚS µ"çµéiSZõ⛪“yE=‰¤Ð&ڎÑ’ïñóä ³ƒ¨œš8n;‚Ú¤9ÎåÇBmÊ;-Û茸Ë4⌎û˜Áw*{©ˆû蛣6•œßÅó”ÍX ËÁ øÑ§¶ê± Btá¥æuo–ššó`]™·…ð´»Oe?4µf€Þ)ØÜÆ©©–ç;×¢Oí;×v;Ìyj͒ÊRP­HªÕdR;.GªÉk8ì³½+*©ÀS‹€ÆçËÅü«æmÐwm ”(ös–`Q<~Ìt£ì$MŒm)÷}mU¸J½w á}Ÿ9ëÒ©ÀW㠏ÍVcUeòû(mzN>ÿ1¸Ú8?¶Ã™jyZQaÅÝîE|ŸÃK)đQ¢y®T¬@RIQJÝ9£zIÊñýµM Ț%ïO©—SÖÎidK]­q֖òôDZÛêm½!õÅ-­¦™^ó‘B~Ÿ®¸l(vg»·s\Ç1è19mƒ½„ò‹„xɒCÑÞÅËñ@ú©IHM9ðÁ¦Ý_PòštÓÐ͜Š2… U· ££ÃüÕVCè÷£aæ›Ã†Ê›y‡{Ë&¬`+Ê$bÙç´3£&W cÚ@=­¡á áv<6cÓV›Ÿ6μÉIž[`¢iʀm’¡ð³‡Bç¡êcÈÔòFŠ]›µÇ”:üƼiªÁÑ© F@Ùø©ø9d«ËOÿ§ ƒ¬ß™Ïӓ§~‰‡* ½]„4+œéŸáÏçwږB?j{ú•Ä” (¨lzK¸ïR)É´·é°31$H’­cSÙôFó~ŸÇ¨lóñ¶¾z˜©ªÒÛûùh¤†JàYÿI‡1^ŽaMÓxúaà M#çóX×I³ÁeCü.F ±¢0<ßv1“¨¨~Ïe“:.žúËj-¥TF±­ Äw2åÌH©M•xÈ;0Y·~ÞèïÝ;øál~ý”ÿòŸzŠS +µñì›Ë&u~šÛ{)â¸;ì=ÚÙKé $}cÙ$ÒΟ‘zIKùÕ§+Só’öî +ò=ÞŒ¦yM­ß ²MUâk•§B{¤I;Aº¹µ e›í¶Øÿ>狒¥µå—BiÆpµ¸àÐhðtYou)6ËŒ!Fêc•³«žØöÃRþ€¤0¹¢Pù-e ¯Õ]<&¦¢Ah<úùiˆàY˜²ö1DœÇŠ´MõjÊä¨ÌU¡èI÷Þf êXrmE©Ù@´%õ¶¼ÜãÐO«·CþÆÍ5K±¿©‚6ý’û8…nû,†Ý¤ÌjKbÇ6ÏW҃¢þJçOmSŸÓÙâ{ÈR#͚ªTm#ŠVR¨ÊãL.žÅ‹ïÑ'¥ü‡©ôa˜àèÖ÷øúí« -Í83¢ßƒÂ©Ó¯íâ‡Ó¤£‡æöƾIy6´m«jìŽþÎm.R¡-êÚýIŠ-þc(ã:ø}Öaey[¹nKj7vÛ¤œ¬B×eð¶©Æ¢ÊÕ)«Õê“Hþi íÉÑÌó¹nÙ æwѵqñÛ&Ù ¥C.ÒVSËÑï¨wr!…©gš¸ˆà·Ie¦ãX˜_µ_Ӎ¤7šf5| ª‰G1¤b”–J÷<)§âÉ(<Åʋ¨–„À·I¼5ûòqƒ¥0:<ÃÊ8Q4ÏV³ÞþeªsóÐ}”AAö' H”b€Wðà=RÆtyÐÑú6üüâ·Š0©_–?ßý{Ó3ab;:´‚à ×Ú1ž-©MyPõr¬H¦¯15À,n†Ð‹ß†jC++΃&®qjaÈgkÁÍpmJ}X‰ËñDrõó©VQlUEë•:SgB}%¼Q~©/ԉ4ž_#Ó¡`//­œo;¢ùœT‚(ày¥¨`Ek›Aé~äù¥òHz*mx‹ÿ¨ï&õD z›¾:ûÁ/Ɛòƒhè÷ö/e*ÒéÏÕ՚Iu‰‡ú¹³ +£ D_RíUØ%…™€Qg>îCÏ6½oӂ؇œÑj–9û±ñm:n*ð­÷×É¡’ Öð,¾ÿçIûº¯­ð7Õ·µ·‘ŽSZ†-"=qÏ') +¯G¿¬¥5]Ó4s ¥Ï™õoËcèu˜¯¡pæÇËüöqʛËN¥Ý©Ì­(Ú Ѷª  öè‡6¾3¨™Ì4Šj7²”¸³'sõ>N!ÎÛ&UZ™j}ËàE«ˆø5¥Úø±Ð) +OËãµÀRˆ8HYð6©D&P¹³2ԚХ(>y`©ûØ1«Q‘®möÛ4µØ;„ûVg)@ÙìY9çVìLù G>L£íeÓµÞIIÝB’:-:Ï:[‹ZbÒtsžc+œ©æ_ ë8žµ{Ô_ ³ØVžÔ6©óãM·õ»Í׃¬Å»Vñ¡Äc` îPÙ^)¢Ï:ö?™…ƒÞ¶U%Øùå>¿ÓJšt6 JèŒg+v©‡Ùýöq†~uU…q¨ù"«ˆóYä.‰‡: j$åÔ²|àòз¦žŽáú٠ͤbJÑKâ¯×cå_RXfÛ1·)Ñêí cf'5 æ[R +‹»h—í˜ÓüK±7ú¶l:îñ—~Ýz,¶ro~ÛVÇÓhøü.㬵4“°þæÕ›uD]ü6®„·é>Â)¶ü¡Mõ ™–š¤ªümM%Ó]ÚÞ³漫YOjVŽ|¶]ÕÜø6ÍL¶.úÞðmš{m]ÄjåΊJ"ß¶U…¢Õâ`¯Îâޚ„kJ%ŠÂúENâ(¶Ð—U\°f9Ô6–‰ šo,Ì\†3y5`|Z‚vÛ) +wòá¡ü·Ø} Uû(¢.ÃL­#)y$Xª–ôÖáñ\¦ª7KѾ°+p§)báÛRd77Mh¾SýÒöìó¾mҗE1.80¾µ$"Âÿit&šÄJdXwῳºüø»GѓD_@†Í´Z¨’ Ðæ,ømˆ6œÞV(m +“„¿[¦ÌPœ • +;­üi›…r|\á.J‘;PÊ¢¸}ÿÞ÷cďÑþ]¶)§ õµ®To5»9Ÿr³5{—i$·©š3Û<~÷?±=WÉLށÝã0Q; ß×á1E>)6i„OFz/ +©,­¤R=aо-½µº)¸í´·\@·©Ê±hf½2iɦÐ+(Hý'e¡´å{ÓM»¬åzT(ÎQðý”¥Q'°¶Mʱ[¥ŽB,âGûÃI—tMrˆG#ËI×ánñ7;“6ºUbyÔÇcï3qˆ@»I%"@¼‚È«èÌÓã¶w õ®ž$MŸ¤ +gØç5cV%¬¡M±Žà^«_}ôҚò'ÉJ£ n¼ A¿¦!Zµ~¯Nc¾)‹í&Unx‡ÆÒ_ +h·y|<¨ +´ê <éDtμšÇo¤Ïf+!ÐnúŒëó¸qûNšæÙù,9– ²‘ˆN/QÝTé;™ÞØ£zRA6Šglóõ±èú:êĉ«§ÄbOþo9mÂüڜ¶ÞÔ +®‘VºøG@¶¥ØM©Jǹ?]&‹ n¥m¦ÛVÇa4æqÚL§o>Ù4~lãÆóuk¨·¾ ,ÖÚ¬J!\‰rv&̔Ȑ ÒøÈçþ,=¤[ +¹ hé­'l1ݤ²¬Ö¥ÙzJü$j Œ,¬dÔed +Å7¨÷q²Š“PRK–wKáEˆw©Z2<ë/ðì6³³ééo'Aô¶+%SfSºSÔÔâ××j²¯TÄo5óPðóð°㖂¦—ÞF¶MJ”-eöt۪܎‡GT»%ÍdëR˜ƒéVÚBºI½ùá¤~ºG§u~J)¤¯T½»,w7(ƒ¾-¯÷Ý:<Ì©–:|፲"œÇcÑ2ÍÚväK`÷v{˝­<Çîd¼Tm&q©ëP¨še¹½2 ô¤ü7XéM¿£ñeÛ\5[Q á\*4EËItLœÿÕ¿[»8ý ×8æVÖSGFt'¯š²7|~óð÷ŸþubÊRÿjL¤ÒE{Ž3]ó7[㣔Åu³÷ý²ô«ôIùé›r¤\ßòÙ\7]›ŸyYê©X³æå@,—ʤ»þDB•»øæ/ Ÿì´…9oKÙNZŠÝÛéOÜ:N¶‘‡tÀ ÚMSôwxÑÓüläÓ¤U&I€i ¼Ù"‡t»+H‘J[þ=máÝ&ÈNƒî6Ϧ©Ï׍Ôû; Îx`#ÄCæÆëöÅôRd®Ž^I}¬Ï ÷º¾ÒÓ}|×ïñ\s[1gኻ¥š-Ë¢:Yn×Ó}ؖÂêI[騲¢rÏô͙IôY QòßYà[áƒawgÁÞXWª{ƒTho +EØU܏¥Ø’r­~óI4o㠓¤xè÷fÀsSȼ*v­Ó‡ð}ÜévûRUQS$¿ø)­\ûÙêÿæŸgÙň˜°ädø{œ¾¾m¬ l«ênÀ-)¯ØniPñæÁÞhìâ ¤ò÷q·;+´Q‡·µ”5ŒØ$ª,›Óh“1ò¸?™v‡®sàHКæMA`…«h&ª–džb#ß©/y‚Ç@ÃP~L#Àé̇E¡ú`NAªOõz5ýŽ1ž…——\³Õ¡>Ùçþ·m?g¬Ðâ¨hB¢ÙŠC[Q´/X[¥Ùw$R˜ö¾-APK',÷µƒƒ^W²Thêмz(®5ŽuìüÞáìtÿ§ü7¶‘ÊŠLÂBG¤Œ#Nùx»KŽS$\ +n”‰3W?¡”µ7x.‹ýMRNŒ¯ªb=X‹iÝ|wï´ÍCÝn­‡¢ºç]´Èà‹ªŠŸ‘‘eNJÊs®a„ Ñ@eÝÿ,ō¤2ƒ@Ûü7=Cß§ñÀ¨@÷ãCµÌ‡b"‹%Àdöi>fx—$E[ï¦âƒ;h8£=>ð«G¯ÕiÙJ&àà¿)=ìíÔ¼ÿGñb›ú·EzµSÐI×¼øoRI JU…Ã,ć‚„ÅCýØQ×z¹ýƒÀ¿I!p |5Òó…H×Ç_½Iš@Çß¡ôU~¡ˆ&ÅSlV—ùP»lÝÖ:ŠÙ9=@ÉÇ¥ž®âœýñZvEµ¹•¤˜u“ú½ùoÇáyf]½qùJ*ô<èÏG~áöʼnv²A€“j£„µS¾9Žh9 +q(Xˆzïú±ÝâÄé@¡*,ùÜöK~†–`˜¤/;ó#k”…€“j÷]±}¢rZœh¥y¨·„ž† cŠ5-ÜAí¡"Ut¹Ó + +,ß¼ùR¶Œ/ŒÓ4â‘×ÇÞòƒ–ìÍÎ\_ت&Uͧ<ù @`)˜Ææâ°òž›À–rЪääç"'¨sAàŠçOlÀ9è¿r[tqAà¤â{!š¨ •®œ‘E8¾Ë‡ìØÜ8©Œzöyz§¤hW"…=Êy5” Iòñ¨,?©®â!¤ü±úHhN”>7î»çûdð¶Òm Ñå+• bä¸4¨È;8-§©¶PՈj#ÆaUÛï±8†ñ¿‡³ìD w‘càô@]ל¾”òŽ ñã½ûéÉD ðQKËãÓVM¬¥<ØPXŽ(>.eFÚg§/›Ûæ= ºWžž6 ê°<\ˆ ª†vMÏ#“”©Ÿ€ÖgͰ䋹…ÓÐNthð hO¥™‰4À÷³èû¨ÁcÔJd[ªcšŸ •ñû³Rﲃ4wÌ=rHÙÉV­º.û8š <þ'¡Àqâ}˜’Z2ȳuXR +ÜA+V»Í¼™ïŸò_ñq!Dª$ŒÖM 7(üÔÔM½fÁU®”ã”–!Üz?öZ$8T–®fݬ%j.…ôÄX^¬™za°d&ÜxDì[Ó{ÄÓ¸'*eÐÝ7ïR”#l««Ö-ӆˆe#-©ù˔øÑŒ²˜p<"ÌÊRµJǤ ¿óòvÌâ¡je •šþ‚ý{Ú¯ôª&M¯í¥ùhwô1³Ã#—w{ÀÂ.Ú–ð†›°4©h…=ž°‰ý²g’U4}³Ù$· ‡S(ß®T›%œL‘¼×qæ_£rqØjeÁá´ÅÌ1ÚÀ³(ÔJ@_EkÛ*È*ë•x¬‰xî§k³ÝEó¦|<Ía˟(D ¾A‹©xç¬ðòôYöIT’Qô"–øQl—ÅMëvØwš±kо“ú˜q¡át]7—X¼L·‹M¼î¾Þx‚öÉÇ&Ãáý~”jÃÈpÄOÌ·§…pݰ ½Nç™Ë@iåôk˜¿ðö¦ +DÙ¼ß×F)ø€1ˆ˜œæW íãðyêe…£û±˜ÎÂÃMV.ÚA)/ÍÏÝ/7îÞ>ž”ã “¹*qz¾¿ÌCdƒ¡TŸµl´lb&½õ´ýW3 qº’Þ» $3‰@ñÅi»¶X ž3aPP‰šNBv˜ <§-խ؀ÇÎ݌²ÂÉ)ÿ±»Å#{¯@J›^„° +u¡–ò9¼oÒ¹Dg€6ZÕòoN×2aÙTtö ŒÃüu¸û˜²/™vlÞ¤Îñt7^8 W8uêó®Ë-xùäí”Üf-;µíC‰aT*!TÔø 6‹é³ð¦¿Š¿Ç´­Ûvª°ã°á_PÇ|MãZ-‘C–Q2ö¸¨/šÚ=v!Ì ˜R/ëAª`Î<±«œ '•¸‚TsÍ«…;N4)7Cùmó J„^¥^ÅÇ叓³¢]žKEÁNr»%¢&dì¼rT±<ЌśˆKK@¥ÌèQr¶M’ÓhhÉ_šbée8tF:Œ$§ýêɯ¶Ýót=Icú>«Œ§›*Æd÷Àl~›¯rqäô*²Eau†5ðvSÞÇ3¤¬ðÊv|>;C8rÃ"é9¼ÌôJMÿy¶GXA,ž4oj-+ˆý½öo±ˆc;£Mšý¾ÆcZL(o í‡T>«P'Fƙ@ÉQ¦CDäøA–ÓÎ$>ìA|¾Šˆ-šœN4;Žm G§kyκ•h¶‚µιrdYwZÜÀð3FÁð䁠A·•±Ñ9Ó}@åôáö =צÊé˱#ÅìLÑý’n{¶qðªÕÝáÁ×E–ã^iOÆwg2Ô}²¨Ôa%¯ºöǤ™£u„?Ë}¼ô²ÝÙì‘úO–Pþ´˜#Š…–/¿AžÞc&&*öš™ îG˜‘ôF×U¥ñxZ´ÒǟIîíc¶æeÝ£ QtÃÒyfžPo~ªfé[èD¬D_€=1^[z²©ëC|÷í#ZŒZûa’(—»ÉL_ÖÇ& +ÓÛ1é%±jÜÒ›¾q¡ØcÉÒÎq“èšç ?Þy‰r ­ôø;Œ®YWióx“j}fg­ñÍW#K(ázÅÊôjd¯‰Ìh{%fƒ8 ü³ž¢#©NU¥wözÍÍ£#ÉÌú  ‡ÃÖ$ÔÉïÓ4³o‹8Н'Ó'Xš]¼«àÑa7¸Â؁]ÑV–¥P¹š­)í"î¶ytU՛oʊƹ°•™uGRhU†Í >=î‹Bõ“R¥R–Å_«[ ¤IHÐB.¢Ð*ª%çå›f=³¤ÓtLe*åˆ ½çJ±MkmŒí†H ÂXF»Æn)`K½n’Ârøx¬Á‚+œ"&Ç­<‡)¼'Å"ŠŸ™\4*F$÷IòüŒ(—g¶´Æ¡ÿ*€ä[‚幬ìÌêÿœrû䮊 ê7d˜=£ž+*8µHe¿%›N15ŸffL­·‘ŽýYÃ%â4ȝ¨Pgu=‘¥û!¶!·A M´´R3¹ њÓ¼ðºOPoÛ=¬@¤šåjN<¼®V(üÓ<_úgx¾‘¿ŽÛ2Öðè"aÚ="¡z…Ù¬N*¦G©æ~V¯þÓ½4„e¤P؅@:©f¾!ê«X¼n"1}–EŚïô7Ã\J*ö1;K?,Pzw +;[Û[f}zÍd”¥)¢'úú‘ŽÌ nzš )^!o¹C­kƒH7Ét{l‡w6wr¨Í dOJ3ŸÔ"ÒMš„±ºma²<,*ÀsP)©Z£ßül"öˏÝí¨F¹£$zFìIŒ(ù*ŽÔó@YOËuݺŸé‹¯ *݃”7ó¨í7R݆ȾƒÕ%¢LSÌ#O\D:TV9X¨ „"çŠF])VË`hº°¥6³bj:°º°Ó×/º×6¾jŠä³Ð²&TÁO›¸Šcº‹èeî‡mJ‘ް: ×ÃÚÀP~@Ô¢~!-Toó?‘Næ­Óð¨Mbaž{|ÔW/û Ò±Ù¡SÉÆÓMu6UjIÌÄ¥ÎNÃ} « +ˆ¡ÇVᗽszSoÒֆ)3c}]QJ‡ªû)ô©O5’!!©NdCÉɇAEVþ»\!BûèÕ@Jaº‹I9:35k¯¢g_LÈiÌoÛ?Hg{=žÚaÀ4Æ\ÎíïVƒ©DL|wÑôþЌAÎTµ]9h}É I³R ë6¤(+@:¥ɞÙîXS“è¬ÔßRëROD¸—ë‚2×qz4’<Ïô¬é¤æFÙ:" ÿÈ·@:¬ó¼…jx§µHfö¹ HÇÕf“mÝ, 8M‡e¶fF*Üɜií1® ¤S>ÍZºlk‡úø#|b<ê¼$j¿@:E³}€‹¢Šv¸Ñqޖ“SŠÇÌ/aH\gò7O:‰?{%7c¤Æùxë•]@:]ˆ­Ud¢±õð8Ÿj Èu뙕ÿ)xt”°ÃUVÊÑ2ýkƖ9ŽL+«Z‘£p'>.+夈-«(ƒÍÝÅåUãW^)‚ÀCÅmÕäÍ„áÌ»­‡¬Bßd2HÓêۺϪW•bk„;ž<õÔ³O:¶iUª9H¥ÚyæVÑçf5vŸÛþàґQ§[Äi(˺Ýf¡!N¥ +Ó ®<€åz‡Ù˜¨$¯Ž%â¶³’´¬4Y ×àÁB|ÚØKŸ"}9Îîáèt6 ˆ8:S?vÜґv}ÐÀÑé9·…Žšž[¶jmG§¤µ­–´å"v]6ji0Æ·wYŒ©9ºg)‰M ™à©(›ÞL—Ò^>Ìêçù̼`»­·jpkÀBÔ+©t‚V÷»m¦ÏöUŒHVŽ@ñ+n†*íÈÙPh¢ÇUB)pÀè´b–¹9Ù½ yl–'ùµC$)ÉÚÿö0$µT+µ¤`{´ÜÖûd•£Zƒ<¾´(*‰ùiwÏ*}4ÑD›V¦?¶Ÿ‘$×m±ÖÑ-rG5¶œú› H§\ëNµÇ { Ñ +u2êë7?1©ì¿&ÿŸ¥ÃÎÐÛ³.(vùP1/ð*j€¼ÌZ`ã`Sk.§T¼Y’obºÝªöJ ͟&Ȩá^´i’J{Y”ù±L,-©í˜ËŽYq>ot{–m¸Q@ïãé݃ú–n-“NÆ?Û#ˆ{н´Šø™J/5.›=J›ž€Òi‚°E‡¼’ºØZWi÷ACÚnµ’ J§…ícˆ¾©_Vn¾‚4v»ÔÜVcˆ + ËÁ|‰¾í‹¨^=›‡¤,(ê靌ìOJ±`NT‡ë³¦ ñ`߆ï0pZÄÞ çˆñà4ØÜA<Üßñ¥;Âාc[A4~xùùRÄÎ ^NR΀mšô=(S8OÉ*©â(J/oR¡5²±VŠq†áN"Ý3ÀÝ~l¼öqͼR,O~·Ø‘ê½fmCù>)ºÇª© +Ô4a˶Æ‡~jaI>É1rùրœ“Ö“[˜É©µT ¨Üí ßÕl,3J‰î8q[”(xWæ>‹§êäô/'Ô'%ý[}>¦;ä ð€$á÷p¿ôµÀtú-–«’÷áq2•d¦C24âÍ(d¸ßn8ž L‡HîZ>—Ë?ß½8_À‘|8!Àtzœ<³ÕÜ-v]–ÞIœãôƒ[l–æ†Ê|=+Ù-’ԏ;ueóv:ŽB÷º·ýo{f½%Ï> +X(;¥n ÊÀÌš^êaÔL–zKhu˜Õ}¬›§3Küaõìæ(€w<ùvɵqͧSXÂräw9‘cµò2«]b›÷±’ª§#PlÞ¯á=Vµßcª…&O%Hwe›±Y²“e··µ":U׉m¤>–F—HÓ«3úâM Ø~) L§¶Mø  …ka@7ƒÇ³ïòoÎۚ’Í/JK7ÓiöP ÞcZôY›•afnë7úx£/öKýÚ5nV[ “µÙžígN¯—3óz¸!âÌ5:?ýqúˆn]˜ëié·Èãè^|Âúÿ4çŸ.s´æ87y~vë¦_RÍ#¦”›üÀÔá3¶÷ýܜ:bT¦ã¶¸Íqe¡…Œæp›4 µûÜûOT,$·?Û(G 8W‚VG_ü=vwÓÜO<ì—w©3åLã¡©d±¦Õ7·~IJ2ıQÎþÍs)‡\?“Çm1p uŠ SÖNÝqn·ñÈÇÈÈæWÛÜá>%Ki†Â\-B¥G†5¡š¾|¢W+õýþó/‘.zîÅ¡k¹LbÉ=¶ØyGovÍêH›&Òõx¿²­¨}zàV¶J±ª’x£GñèÇÀÜ8ëÁðÙ(ÝWŒsû¸u½jÀF/N™©öÔ!6ʯP ²kˆq ]öœh›ˆuGPá‡\ïµQvúdÑ&³’ +²H¦K!©¬ð ¿‰Î\­7‰‚Ÿ™{$7nKyYÙ:ÏÉÙ·bßrzé½T%!t7,û|ùî;)φ^m•4§î†BìÖÚ÷ðñ»ì¹»X­éf9î­+ŶÒ7Ûn«Ä†çèŒ$o†­%»cê—ρu XÇ©CnÅ–r]pgj·fÄîW>Ýí­¶)Í ¡K±«uþØ>.Š"l€VÊa«çÞµ©4ö¼¬×«uŽ‘iϻŠ~‚ úso̝TkV O›ÞþӛJß6ërŒM[÷&Ý͏u§¨¯¯b ÚK¿ê˜Ìâg3ÅËmó¢9/TÌeŒòÝIQ[/ݕ·ÊâGŸÄâïh3̱ji@«±±‰w\ÇcNt²)Øæ¢/ë*ä²Söe…í±dõóa“ï}KðÈã}b-'%b-l +™[3îqP¬2-š+Ñ8b˒ÔÛ~ˆAÌAScÔӊ-ý{ýVf6Œ}g합›è¾âÑÞh>^œàð;½"ÂÈH¨/-Ef=L*Dã³CùoPíÏ>î<Âãrùnz)e$XªŒs$ïÏnÝUä!Øqxzhιéw֛iZÛk;$ßåæ*‘ìnnùЩ]ɔàßY?(oEØn%©—òß}]ʋ¢%,©¨¡>O9³Y»îÅ¿3u„:/?Λìón™r…r‡Ý掞ݷÙ_Q¦™ +áßx@Î{ÓïȄ3%È-Òì0ò(ÀßÑú¡{»ÒÀãu±vàÝxԋræ±¶G ÀwwnÞ +¤‚E +Ny;î±§òšV`‰;²¨’w’"¬ ë7¢…PÛü;ms­ ‡rä¤eUñXœnMÏØ³rÍÑÒ´â _]»|[¨âš:n¥mž©·bm+ô‰^jÐ}<¶ö°©A›àa42+ȶ‘^ˆ¬(&ãc/ÝõÄø žT/å›Öœ‘–ݱ,²=‡†}lœ:&šKµÊÀiä'^<ëÍ8ÝÈ®CñÕ¹ x4©aù$ ­Ã8áöö¡´Õ½cÆ ÙBXàïˇ¨ÞÀaâvR»C âjÁúXŸNTT¦j CøInçx¯^ž|zt÷Ük2hë uYk7o€‚'§'ïô>N.ìÚÌoÞmÉ;²ÛÆÖþm;·Ëûšú1²’’Äž-"W¡¨‚¶­-f¨}x3 Q¤ØkPm·5@Ÿírá ÛÔð[¸£ëÆd¡`#éŽÔš'DX´‚ÿpÁz»X¡D‚‚Eþ'}=s QæeKJm©»ud`Ê=êÏÊuÌËGFiÓ±¾ÿÝó (Ý+ïüNo¯°ÞpVRäÔqÝ\FµÓŽ=vö³Ç½S=0–6 §íN +÷eµ¤•üÜ'þÀaˆÇÜtÖä^BDà(À´Ìœ«üi&$́^ÝiûHE¾~§’ñG¦ç®Öâ{[Û¥¥D·ÜˆòZ %í’è[''*µ/wì]w=¾[gÞ«oÆå]öÔ¸ÅqG8íd¦½Ld“òD%·|sÏÇRýUs›TzrÐч€==]ætÒÍ´Oß[NY#ìÌçß¼’žä#áñž„«¥íêLýu±¢>¾2f€#jgà}ãï¬õÎÇÉò4 ü0iYßN[Ã/üy)­¸‡ç{„,@ê5 ³ä£Kàïtœy¬VǨ ÉA/ÕÃM¡†Ð xŒà»¸o«£„5e8=q¨Õ7Î9j󜁧u c7 u¡¬—f»7Ùv“v┯·0@+NûL+~|(Ÿ%‚¤¾ sUYPëƒ9†‚Ìî †âqÇè½åQ?½š®…ú…ãâª{?·Š€—Ë¿cÖ3"þ¿ˆxÿÈxß=É?ñ¤V"^ÇxVÊ?D<á +¯ËGŸ‰x‚>¿‰x]Å…ˆ‡RˆxvL%âñi™ˆ'¡ñŒ2ýKÄ£ºñ¤¬D<Ñ&ßD<ÑÇ1ƒ."žà™…ˆ×I°ýñúî‹èD¼ŽE?ñ ¿ˆxR+.n?6OԌBÄC-D<²fAÄ㣦Óõf‚Ð"ž²†I2Ú„û"^»’èÇP ™‰xIIüµ­¯iݯŠ˜Åº‰÷Eăœ‰xºªJÄkϰˆ‡ˆq!€x(ˆ×žñ@¼FÜ ēRxRè¿^€xº´ +Äv\€x[É@¼¤:Oß»ñ ¦_ žhÒˆg„Ùϱ‰x[)?ÉR‰×®h­L¼FÇ÷_&^ÓB13ñšÖ.7±¬ÄÄCÍL<„ÂÄkj¾ð±`ãBâ!âç $ž”ŠÄk÷çxÔ]Fâ5âˉ'0ï‰×[tþ µƒOH<…o$jAâIÁ”¶xïñ7&N³o PÅ¿H¼¡rÿ‚Ä}T$Þ WkE⍈/$JAâ ÌÔ¿H¼!_MAâI©H<)o$ž˜¹‰7úýƒÄûÞÜ@â E, +oh Vxcô7± ñP2oDo¿‚Ä“Z‘xR*Oʉ7TÛQxƒæM‰÷þ)ÿå?õ)ÿ…Ä“Z‘xWxƒ¸ÈObEâI©H¼¡¶ü?H¼NÄë˜)êNtå7O|çŠÄÓY‘xßßÁ84‰'•>! ‰‡Rx]½í~‘xÙù-$ž”ŠÄCy!ñº**”"$ž8ë‰×e)úEâuõ¤¡A ñÀ\$ÞV2/©žÃë P¨;ƁOMEâue_ ‰—”ÄK¢!ñøJ‰×eÁz!ñ¤V$Ê83_H<©‰×Èd$^§[æ/¯þƒÄe¼"ñ’’x[ $žþBEâiU÷FâuAW +¯kÑWx[ÉH¼¤:¯+ˆSx‚’¿xÒ€ŒÄëêþVxïí/¯+ Vx]EW‰÷]ßÿ¯?ó‰×ÕÆ¤ ñÆçóH<©‰7hǜ‘xƒŽ×?H<‰‰‡Rx(/$^'W’‘xýy~xï‘2¦KÚJ¼xzo*OV¤ŠÄ#öñBâI­H<ºA$q™Ï¢5‰Çy‰Çg¿xz *ðVAâñBü"ñ¨´*H<Âu‰Çý…Äcg_x¶×ÏH<”5#ñ +?ù‹Ä³ÍH<]}Eâ-%#ñ¶Hú%âñƒd"i¾BÄÓòýMÄ£ùU!âQ%\ˆxª/~ñØÁ"ž¶Q•ˆ·•2„ºˆxC6 BÄíø"Þø\?D¼ñ csñF ¦ ¯ã¡ND¼N¨ä‡ˆ×鐈x]ž£BÄÓ:õEÄC,DûEÄëìxï»:­D¼%d"Þƒˆ×™Ý2¯ßóMÄëϨD< )™ˆÿÎD¼Ð‚ˆ×Éýe"^ׂéEÄë2f"žÝ¼LÄKJ"âm5ˆx=ÌÄAÄ㛼ˆx¨…ˆ'¥ñ¤¼‰xý?D<”BÄCyñ¤V"ž.¶ñú¶üLÄ[õ>N¦ƒBÄÛJ&âm5ˆxö2O»ï7O!åJÄ#hZˆxŠi¾‰xŠ}f"1ÓBÄÛJ&âmՈxCüèLÄS”ãMēZ‰xR*¯¯îe™ˆ'µñP +3_D¼þô"žnb%âm%ñ–ºˆxz' +¯_×?ñ˜† O¤JÄÛÊ&â-m¡¬”ÿ¬D< „o"O]!âéu«D<ÅßD<©•ˆ‡Rˆxœù"â¡"^ÇW”‰xRÞD<][%âue o)…ˆ·Õ âõëü!â)÷&â)®W‰xŠ|"^W€àEēZ‰x}F +)ˆx +T¾ˆx:,ñˆf"^_Mõ3¯÷pI¯ãúø!âm%ñ’êD«ñøš/"ž’•ˆ§˜?«îEÄKÊ&â%шxDRæß)bþ&âuy­ +¯ç‡ˆ'ÛÀ›ˆ'õMÄÓçà6&,9 o)…ˆ·Õ âuu“+D¼~]ÿ@ÄÓ¼]‰xÚzT"ÞR +o«AÄÓ ]‰x +ѾˆxÊðU"ž¢U•ˆ§Ðțˆ§\%âéÌ7O›¾JÄÓþ´ñԕø—ˆGi!âY«¨LÄÛJ&âmՉxfßMD<X¿ˆx”—"]ï ï͎8÷JÄ«˜3ñF;~ˆxWˆxRÞD¼¡f…ˆGó­BÄÓÍñPgß@<öýˆg[õ_ ¿eâI)@
.Zß¾qxRÏëH8<ÖÁs&ž€‡‡Êº5px(ÀI‡ÇgQÀœqx¬— Oþ˜‚ÃSÀóÃÓò¶âð:EÆáÉÜc½Ü3Oj£Tàð0ÇèE.8<ԂÃã/|¢Î[›!ý:1gžŒ(•‡gû;Ùょ׏ñæáÉMRyx³Wâáu%´^<<ò+¯Gæ~ñð´xóð:X“ÌÃ#.Zxx„X_<¼Ná@æáõEÛž/эÂÓRyx(¿<<‰•‡‡’xxöA¿<<]Wááév¡ˆ¯ãýÉ<<"Ž™‡×•ýåáé¼ÊÃÓ¯Qyx +Ö¾yx +=TDæá)ŸñæáueS O± ÊÃëçøžž°ÊÃÓgU^WšúÅÃӕTñ§ÂÃÓß|óðP3¡ðð:æàÂÃëç¨<<»[™‡×ñÿòðt¡•‡'«êà὇ȿ9_w•´¾xxDøL<¼.L_ááé˜7µððz ogðð¤.<¼ÎûÔ¥ðð:o×§ÿ)<¼³>óð: °cóðzs¯\ááa¡.<<™.iÞ<<…rÞ<<©•‡×iyx(–ãN<<©Ö 4xxRE. +&ÒÌÃSàÇ LÎÃӔUyxJ˜½xx +OþÙÊÓ#§¼Iåá)Þ\yx]ÞOCQááõ§UƒÕ‹‡×霕yx¤è2OƏVæáumy>æ¨á×WÚéÅÃ#€XxxŠzUžoE:™‡§låáiUðæáéÄÊÃÓøUyx„j_<<©•‡§K«<<”¯G¡Åó3Oþæáõ ´/^×¢*óð:–_crááu€ð™‡×Á4ýòð4øOO<< È÷H<<=õ,š3øgááuðWâáébß<º7 ­N¡áõ( Z4¼±[À%#O¡áéM­4< +I^4<ÔLÓPhx^4<ªM + Üw¡á¡üÒðTePixrüWéÌ Ïâö™†GyT¡á ˜\¿4žR´/ÞÂ|/ž>¨Òðtož©¿4<…þ2 OÏy¥áQŸø¢á἟}ÃðèæœaxV×÷Ãô@N0<~ÕÃ#Úö‚áé]¨0<-ô* OC÷†‡)Ãðde­0<Íóož\O†'×Ó†7°ðgž’†§CÞ0<­…+ OÛ­ +Ó¯ó Ó#±ÂðÙ©0<ê°_0<%²* XEá½£Ø3Fþ?†G|öÃÃËP`x|í ÃCxÁðE⠆G£²ÃSµÓ†'µÂðP + ώù…áñy†'¥Âð¤¼axc>†GÏÃÃÓ°ü†á ,Ù†§á¡Âðȝ¿`xzµ*  Zá&ñú2@ž—ÂÂã{½Xx¨……‡RXx|Ö/ OP•…þ¬°ð®^, ž~NJ³ž¶¿(  …§ºô‚ÂSþ…§PEáI©(¼¤$ž©…§»ZQx´^y¡ðpÞó…§ÜožÔŠÂ£UwAᩎüÂ“ZPx* +C^(<ºÓž’w…'#Ï…'µ¢ð¤Tž”7 +µ ð8³ ðøô +Oß¡¢ðƃŒÂCy¡ðöqÂÌo…GßõÞP ?¡ð4¤TÞV2 +o«ÂÓ°¢ðhùð‹Â“ß§¢ð¸Y…·…„Â[b ðÞÊ(¼ù‰ŒÂCL(¼Ñ>…§=ö …'± ð + +å…ÂÓÇWÞhã…§Íÿ …·GèuX¿~Px[É(¼­ +ÏþÀFái/þFáÉUQxk3 +Oï7 +OqäŠÂ#X[Px[É(õcá³Õ‹„G‘]!áQwPHxII$¼­ ‡O!áñ7_$<Òú…„GšBÂCy‘ðP3 *$¼å)+$õ†¾îãoRÐëhãþ×aè:¼N™ârr°óLäº/N€ëdu¶Ý× Í™gâÖ)fyœ [Gmcû¡ÖiA©7* u‚5-‹n¨&¥Ub ‚žÄS[ÍÏΫ»èUƒ–³Ÿˆ¶kÓêèË}÷ «{ ‘1µ™¿ªicJbÕ5•âsïƒU×´¾~Ú³Xu.ªWFÕ53u·ªC±.ŽªkXûSQuÍ\ÎçFÕIùÎçc£ê¤|·t½¢êÚAEdzQuM¼ ŸÓQußéU†ŸQQuMíÅðp8©®itŒ¾Iuí¤:¹€êÐ4D/P +ïzê¤|ïÚYIuR¿?ɹIuRúœç&ÕIù®ëŸJªk'>‡{“ê}•Î ª{ÿŽÿŠßY†y½¡T'u~>ÏÕqÛËÕIé„x3©Nêw·oR”ÏqµMªû>‚ +[•U×Àð%T]Ãì8ƒ®É&ÐçøSXurÞa Q}í6½Nª;5„Ÿ£‚êÔbͩ£ç\Pé48œ¸5Š©ÃÓöM©Ó6ãºî ©;I!=•Q§:‡¶˜Ž¨SÞñ<®M¨“ÑçnWÔ©›c;ÌÔEÄX¬¾ö1. ¡%d:Ý=«Æ‚ŸnΜ»†MMwž¸¶H¿êÓ>‡u ›K·5ÃÒé{ðT–î$qÿ)T:0,ÓìÂÔ8J~¥y:kÎH:NgÙÑ´„‹m£YN)[1nÙEDš7 dšÓèð+4‹¤ÚBbÑ-1PtÚxNâÀN˜ûöI£:ÅÈD¢ZË} o8†n ™B·E‡Ð=”G¿žïÿQgMJ…2ƒCþiðîÈ£]~O·HÍùÚã=,@הzjÚ=€®5%eÛ@³¹oý²)¶è¤²tZº¦ÀêG!ÔеµÀúñ-Ôi»QïÝר®€'µÑ`: uA “z¼‰.mPxéƒ@‡‚Á9uHmd(¦YJ)/Ò(sŸN!‚Âôc”1æ´±,è:MñÛµt2õáµ$VÀ8ï + ë´/k÷ÐÑ~‰_=t´iº½/æСƈimtf÷q–ŠÝÚ³µŠ Ó®÷»îy6‚N[ì›0tJ枧‡4vâ_q¼ë²¨)u…:³?×ÜÃ[ã#(FÁ cO}u+ ±p»ì?‹@Ç¿›Ww.êçmYµ0•¢ýÈBÐñ?Ž© ¾:Û³… ÓŇ^ã€Y‘p(A·Å@Ðiû³° +´\S‘}KFÐ5ê!F>ŽNksè–›³Uû®4îM ƒwÌ<d9ÈØë´D ƒeL/Pu3l»º­dÝRŽ–2ƒéÜÉrÍÚê¶J k5ÃO:N<’9Ž?‹@·•L ÛjèšöŸV›çl9!¨¿+©ñ§0èt%ççI¬º#ñ¶Q–ê´iaüÊ :T›èœA‡òqV©­fƒ®ÓæŽõsX :)ÝqΠ“Âp_tº¶Ùè +ƒ`ö=l".gËñlÅî­Ò?ýHǁä¾l¢È;)‰=•T– ¶}:˜ÑF5j¼]òbÐ5ªTŸ'÷tÛæ-ÝV2ƒn©‹A×(‘l9ØäýJ´¹xXI¯ÃY¯ÛtëŸA·Õ@ÐésìFZNùïñGEÐ5!fVõâ|ÿÖ½tÖ|è,:š 5¯Dò¥`c^Ïn}ûB9lwCS¬ñxžM “ò|Îkè8æ¼®B SÔr2=N}—ÙYNm€¨S̺6ªÏ|Øá¿l蒒t[ ]'=«uEèô'¯Þz%Ðq!¼JA “r(¼:Z±bÎ:SûµtœHW»@Ðٷ䲂N“-ŠA§É×VE ÛJFÐm5t÷ÕWžFÞ‚Ž_äÔ&ÜEZh1 ‚N-´NæÙŒ £áÔ=ÛFÐi¸ø<šã-×jäÃ3‚޽Y緌ãD!êÑΊòRÊ0êBÐ5Ùo¼‚®U` #èšÂaZÙ,]£úÕÑ 蚡gEÐi±×¬fÌàr°ÇØ´9B*ŸÓߥ8ŠÏpó­:à Cƒ@'͆RÐ!0?ø‹…0Cpü‚º¡Ýdߜ>'”mÀç$4,.‰=§á홆¨Ã–"¼ïFžÓ¥Ú-Ùà9Š¡ž¶¹s,³?}cçÎØjgêy²™¨sJ¥µ17tNKL=U…9wúBj!ç쁸7qN§ÑÉÀ9ÕÌcnޜfÔ³Ÿ7wÓã©´9³ˆoÖà$EÔ5·…Dš[b€æäò! œ¹ö™6d̜žvé 3×Twü€xrÌ\“__ïlÁÌ5*®±1sR†BK 3רsp—ój+/õ8®¶0s4meޏ¿™2×h†§w((sMÄ£Óû[Á˜SG–w 1GËçØŒ¹ë²•îBÇY›úY sjón¨‹j ÿ¹ê|¹%d¼Ü.§ ؼ6[Nû¶ç< ZNygÙ ËÉCóù\,wž¾@Ê\9‰Ü¤ÀÊésŠ‚*‡ÜAm *wNYÜÇfʉؼŠ“<Ø6Qnk”#ݳ)qò³§²îúøð"óđ“1Šg%cäèã5g¥È©‡Åh}Cä4uJŜ!BAÈ-1r +ÝóæD]†ÆŠg>W­ÔÐ\Ü´BÜÇMw&,€ÜR +@n«Ó0<u §«Ý˜SÞÍâjS°i´±ùqŠj|—™½òãA³±9øq:ñaµ—ùqНŒî6}ºªÿïwǖxqjã;X-9ê2mñÇÑ_ ˆ䶒 r[u‚…J÷mYú«ç³®ªä¨Ê<éð^](#ÚfA@õJkV9+A®Í3A®Y7º{䤐]+¹¦÷EIœä´·=m©î9Ý~7¿$‚*“} ä¤XÂ$ršéë®9~NFÌ@ÈI™ãÿæû¬9=Eø®ƒ ×(/¤ÙšäªµåoFÈ)´÷ðύSãí>XB®«qÁó\!§(ò°—„œâ5&BN¡ bF!×­r )·v;¤…^©2AË.Pr¨J›,†¡“Û? ˜™υ!G¦Bãìbșsîj‹!×5éj[^rP-4½B®Óп!Ga´Âž!`@cÀbÈ©ÊúRœ<rÄï9+CNu×$CŽoDƒ GÈé6³äÈ9‰ƒŠ0ÈI Ò½r´‡¿>³ä²i÷½r(ý¹7@Ew­ä¤>ÜêÈQû}×Èþæc£XÈ)neä?çǁ¸øÖΏ7õ»€¿+?NE™¼á‹.Dðãt_¡f|œÂ`ì>®Ó\Hµ‰ŽÓ I:¯àã¯À96>N±²¦t^ÁÇIҲðqz‹Åc>N +‹ˆ‚“Ê€·ðq(Úd,|Š\ʅGzCàãt˜ê?®Ó ˜ùqM -y¦‚×pA÷sóã4$Ò÷"ããlœœ›ÇPjC…ÓãރpŒßg9…ÏYéqÈ®‹@¡ÑãÚ©Ý ÇõOä>N¢§‚6ô‘ÍÑÁꠌÈÖ¬´ãäŸE³Ã¬ÝšõH`é=èq §×4‡Ø˜^wu˜ëŸY¡q¤°>}3ãÔK ª…Œ;üÌJŒÓa>ÏÆiñ8ä ÿžŽøüÐâ¤i°`q'cÃâT*ڞ»²âd÷½æµQqlÓ`‘z¿ÆûôY0“âžnۃŠcë©YÃ9qß墾Q¯œ8EÛí*ƒ×"¿¾8qZöOØk™§íñ`. N‘MíÖ'ŽéÑïʉSà9݁'®Á îçæÄ)1)öΠ8âÏ36(N +ÁµŠCQP±âšÕ…Þ›‡òô¤8û¤O¯¤8]ÙwítlTœîÙ¸@ÅK°N¨8Åræãà9Pq„ O ­†Šk*µ½åFÅé<¬AŠÓïaæ¾ Å=ïÀ3(NíG6'N„öj‰ÓçÙn?Qâ0]k“8MTØ3ƒ÷ÄВqšrÇ97!NÝúîŠOX»üݾŽ~ÌOßx¸Ç §š씙 ÷D€ÓÑpú7Š ɊÅ>,¡á´câ¦9ŽÛãÔ9ÀZoLwå¯ò¼;2…£InÆ¢:òýÍix>>Ãd& mî ' ÷І‹ \føúV´QâÔGN±më¡ê48U¾]Þntê”üñ¶øp›’§ ñ~Njðªý¶í& 8ØWq޼f3ãÔê*_²r«4I5‡ì‘;ÕÍIn‹'ãWè8Ú_Ö«œ„§»‘ÐS‹˜ÛªÊxfä¿:š5'‰I%×i¼: +ypý¦^xüµ@¿Ñ*œÂ¸„~Óg)×@¿É:. +íý&/ÜwßqüÉì7%1lmì7ofÁ~kìÎæüMƒ ۋ€¿5J.qÃ9ýñ“f¦¿)!BÔkÑßȜçµèoj1wV¾¶,·WsJÐßT¾ú9͑BÁÇvŸþvúm±ßô‘äFý&S']Æ2ùMõ)”&8øíù˜Kfqß?bôËØ·ûrÿQPßn=+'&¬ ý04Ób¾ Ô£TâU5׏ß(;<´0]rš­eyQ9͉ðÞî?<÷füq[̱‡¸BOª³ÞÔCK»ÿ‚z»Ý¹¹HoÎ[Û 7øCZeΛíOïó&/ï ÷͛›©³£·qƛ^ÆÇáƒôÿ5dƒ™ XŸãÇ`:ˆ«%ønJÑò@,¾›r»ýsðFþÿöFñ¶ùù„3!oj¡O¶,Þ®n{ÖÅw3 î±ùnÓ·Íï6¯0f9ÝM£0»~•î&OB°Ý$œ­o´›™QF%»´qìv ‹>.®›ZÊÆY±³Q»zÜ»AuJ}ÌH +Ë£•…馇÷w~¬=©šþXÙ¬wW°¼sº p,ž›Üó´ÓˆÎ)õ8úUin¯çÜ07%2•_,75*oÏ]QnDî rS—òN)·sÜz¥¸é$J¦â¦<×gÌÍpSÊõ¸ i¹n°N¼K%7-Mûúp3»TƷ鑻oëïl˜êM¬:ãå«,ì6êÊ®MnETsû· /ÏÊmƒbéımÖAunj›b <ùÚFޞÉ©mMA$ Amk4ç•IÔ6Í% I‹ÚFmÒñΩm¶ž?Ø6è€GßÔ6-Ÿ-W©m:ÙÒ¬AmÓëmKÅ ¶µæ“j¡¶UU¯³)熶µpah*#f@ÛPô“-h›Ë8fh›ÔÓPmk8¥Ÿ{CÛ¤X5U†¶isÜÚFBß2WÞøW39–ÞmCÕs° mR0´MÂ÷>Ú&ñ°b8‡¶‘&ž‰ÙÖ,h9*³­Q¾u]›Ù&ÅcKžDÒÚä¾ Œ$f[ÓpAÒřmJüØ3åÌ6YÃU‰ÙF}×y›Ù¦Ü»åڃÙÖèø¤@Yf¶)53Ãüû·óÁlk˜Àï»2Û½®GßÌ6rmãLje3µM*a™…m“ªÁ°múçI^ƶɾzÑð%°mÄn°¸¶­Q“«ÕpƶIÅ$¸°m6YnH!$"¥Íj›D&ó€¶q y´ EVÒ mk¤9õ:´MÉ´»S~ìжpv¶ mÃ0x×†¶é)1ïy@Ûp«ËжFð½Ï mәæ…h[£LŠ–š ÚÖæa©mS‘ёmküzÚ×fh[;ï mә6ù´­ Àg$šDmkXÑt÷ƒÚ¦o¾öŽt¾ipÙ´þLÔ6‰”•,j›)sCÛÊy چÊÂ% mR…&´­«í®Ð¶f=¢ú†¶µáë’mÓKjŸ•¡mX6müvhWqPÏíжƍÒ=ÌÐ6JÉo:´ ³>¡Æÿ—½w]®ã8²…Ÿï€?ް'à®[Wõè—Ùþ<¶–­‘cbB „1.< HYóô_­•™Õ½»7É R"ö†¶’€Dwu]³ò²2ӊ¶!þ± šZɊ¶ Uۊ¶ïˆ5Ί¶•&<Z´ +£¸­h›³0šV´ÍI²²Õšmä­ÛW±LV¸¹‡%o‰VnóAmX+¥Ûà<–Ä V»kËôV» [˜QH+µÛp"æßj·AàÙÄj·‡Ë}¿‚ÍÞpüR» ÀPzº[í6\÷R~jRº x£Ü%‰cé6Ç2ñN¼u­t$ +Zé6xd“D˜kí6ǤBÐ/§µÛ K°¥ÕnƒÒ%†O«Ý?£c¦¥ÛÀ¨xšs:+‹j…ÛX0¯–mëH­jÌðwZͶ…‘ù§´`?^É6â¼–bk%ۈàf7*Ñ<„Z²„¬/Ž9Cª‰iךm؛²´šmˆITÓÀÄ1 j Çj¶‘‚€V³MžÉuÒPдU0.Yk¶"¶Y«Ù +ÑÆ+5ÛÌFý’ô QH­dx²@‘¦%Ûp9ˆÀa%ÛÀmaÐ@·R² B³¥´’m@žpò[É6ð€dç+œw¥Õl#Τ׺^ô®B¸ßJÍ6R q³šm¤„>Ž5ÛØV,iµhRîçÌ<ÅÊÊ´›g®žíV³YÇVj¶yêӚm#eZ$lB՚mLv?­Ùƺóšmžòsç&O95ëYÍ6æ¶fò…IÍ6™EÂj¶‘’´<-m¶ PdX©Ùª ¬f›‡‡êV³ \M+%ېŠ›!£V± u ¨XŶ aR±m¤ZÅ6¤ˆgbH+؆|ö˂mÌi?)؆ ô«Û&”éZ4ªl“¬ý“‚mX‹EÁ6VX)؆Üþ˂m¤®l#eZ° „EÁ6W +¶±øÄJÁ6PÛ°•V ¶aéÃm•ØXŸB@)Ãjz<Ú;Æç iP0¶ŠmŒX¤†4­ØFjÒjlL÷ ŠX/­bےÿ¾õ^y¯Šm´²ÉæœTlƒ­“©5ZÅ6Ç\öv3Rç¢3)ö«ÛèI“h_­ØFJWÂX±oÂÆµR± T1­b ©YÃYÅ݁ˆ'šú§Ûhx,šTUl;]‘¼<­bà’.gZ± Y7¨ÔµŠmŒ\#ºÉ*¶9لýjÅ6R½/cÅ6R’Vv›S§^åiÁ6øgè ÖzmŒÅ³rmtàDŸW˵° )-´\ÖC„,+×¶\ɓŸr·À‹*Á"“rmˆ>Ȱrm|«Ýʵâ ‰­”k#ue,×F#jˆ“zm ðò^©×F¶h½6¸C¢¬òL) +d¢›38LëºyÖ¥WÔ/AGÐ;\Öjj­^©Ì§eõÚ@á¦kõÚ<3d 9­×Æ(vÂö­^Õ]ÊX¯”Tòj½65¶zm^œwÃX¯ êO/ù´&õÚӌ2äCëµ´µz7˵„Iµ¶F´bmL2@3­a#K5yR¬ Ê®àJÜ`×·Zmò{\-Õ6µR› §sc¥6°S ‚™Vj#•àv«ÔF +-V© éû´RÕCóXzÌ3î•yô¤RS—Jb±I¥6Ïs §‹UjƒÞ/f «Ô6R¦@Ž U+µá“‰ŠšÕ`ÃDKˆÐ´VWÐ9Оƒ±Ù2µVÛH˜Öj›Pµ@ь |µbmŽ¡K–ҊµáMºá[±6îR™ÌôB‰Î›kƒ’ÑÊV« ÆaGS°kƒ˜BûJ±6‡z¥ÅÚ¨ÞQµbmôŠ %­Vk#Õi)6p@c°•k…!h+åÚhÀ¥]Â굑µô-òLׯlƒá:ÒÃaÛ`ö•Ì3V±mÉ+Ê{;JsZ° z0™©–kKš‚®UkKšk¥XœŒH´Zm«²Kµ% ¡]©Ô¢±eHcx«WV.ei4ËãJ6ºü]neڈþêãX¥€5‚+'EÚâ n«Ñ†ül†®c‰6”ä9ŸThƒûŕ2h!kÝ5Zÿ ¥qaµ<ˆ„|Xu¶ÄÊQcm6|Œ§µÙw‚z­ÕfK“Zi¶F˜Vf#1DZ0"Ë%{k®e3‚ŽeÙÈîr{¶kÚ¤­(nDÆ~O‹²Iژ2(ƒh¶Vi­8õUN ²µÌFì; u´rl½æc3’•bô…<«ÄVLmž*é„CÆ<Öaƒä$ù¬ÛH™Öa©V‡m(Y©åÕÀX%7Á¤ +î’Lgñ–&HŒfú™TQ©VE Š(­<ó@£_)£ŽÌ`{.uà[µ eRHm¤Z%5ž2ÍÐVK͙ß`ZKDIÀ¤ÕÔ\Ԉj«¦%"È´˜h­š)΍ÅÔH +wZL ­Ë)¶bjèh"C³*iÐÎEžVSk\º=ÖwŠ3³bj#eZLm¤Z15ù@«©AO¦Œ=-¦t’óŒ*vÔahÅÔ`‹oZLÍ1MçÆbjNaæQÏ)ÓbjBU\‹©Ê@+¦æÀÉ$àtRL TÍ¡ÅÔ@‘dÎZLºÆ¦ÅÔ@UÞ¡ÕÔHaŽf«¦æXTRë²µjjXÊ^x‘TSÃ,5ûÒ»Ô“Zjf¥ÔèjO,„¦%Ò Á¬=-¥Æë—©^Ûsð>öLð(¥ÔF´”Ú„j¶CÆR ®%ÒÀ{ÆÀLK©qË1}c{¨Sº¬”̹ \©¥êà´tš^’5[-5¾Èj‚ÓZj¤z«“FęNgŒðPÄ4­¥†®é›¨¥Ærúµ–ÚH˜ÖRjœ¦‡¥¡!¶i´©I$ô¤”šË +žoÁR:t'",¨ ‚«[)¥Æ¼²Ìlm¥Ô t0꿕RƒÍ‘ßJ)5<'€ -¥FÓ$ӑZ4B º`ÕÕòh®–¼òí9§(ÒVKmB™ÔR©VK¨›û±–¿9ÌJ©ÑÝ=¾•RóÌñ> c)5RèDš–R#U|ÅZKmiv—Þ,Øç>-¥3°$¼´Rj*Ñûd¥Ô&”I)µ‘j¥ÔüèYÒi0=¯RD(+¼Vxâ Z)5$РÂI)5R‰‰˜–RC{’¼ÜŠ©QÒ$b@k©5´”Z#Z%5Çún’œ玹4~‹ÐY/¿CÀ†RÊ0a|§Q­³’[GçŒÆKµBj®Spm+¤& «%ЏÞ<ˆÞıM˨!Ûã)¬ŠÂqALk¨! +Y µ¢@d+Œ†$™ b˜ÖO#ÔTãDui¬žÖÓêihÕӂeȳâiQ /¬ÔNCH“×ìd,b‰Ìe%•Ó¦ãŸÒ.ýK,œö¦@Æþö¯g+@ƒ·wßüíòêâ›ÿ¼|vÿ½4\ŸüãÍýšÿrwñúòâ‡Ú¡«—oìµ>ûùå5:~yñò›ÿ{ñ㻞>½x~ÿMêïïnoÞÃÓ=8Êõ²„¸†¸Y‹•»^!ã'j3§• ‘o ¥½zº¾ÅӃv싈¢YêùõUè“*÷­×'Â:¤äì˜ +Á`ÒO=),ûõ¾»)Âüóà5z\DQ²Gòé*9hÇ÷—”ñÕç³?h ÒüSJž} +Á6aÑöZbk`öA—„ÇÎ>häùµ¤á¼õõ䱑ÙGqyÅ!Î?jäÙG¦‡Ÿ·¾ž<6òüàïvF^ñ!/ž†ú.´½P¤#™ïöÚb/N¼7Q­‰Óõ-˘KÑ?«Ÿœ'$*åÍÔé'×´¼:â{u„È<Қe˜¨É•ùÇuu|pÇ®v#¯´¡õof3‡ÄˆÈ\ƒ9dÖn!ClÀ•`;7 +¬ƒä%§ÏÒø-Dæl"‘ +û¹6@»}ý)K +oY=bÛH¤õàˆ?Ò¨%OJä>ÈErð­œ+["=gü½*B”œ<ø( Ñ[ àé*ҏyéA•­[pHòIû=’ABà&¹‡WPÆÕûd´[AâpHL™¶ ٕ¬…C2-_ 2¾{"Ðׇ²8.éÄ÷0+¹—õ…a0$m‚õ¶>+Dʇü(ã¤NÜnü‰&éy Ö)Snð£Y† ™a½² S@!_öÖHˆÄŒqû©ÏþÈ6U²‡$DúÔ+Q=_ú$L¹r^riÛ¨ä7(À$aåtºa !±ÎEÖQË!OJÞ2™Jü$SÛ"C¤ø³ipaW™>À`"[޶²8§#îœDK*&™D-piÓ=$!3ÜC?Vla&DßK«NŒ×çº XD¾`½í¤–ž¬\ï1‡è8Íáœ7‡¤Í'ÊÁ˜ž;(/ášßŸdÂÙ@D†î ç6 }V"“ÎòP©ꈓǴ®l€Å™O×ò;0Ǝ¼#èP™”}u]?è IdAbò6Ÿd¼h‘Nå¦ã2ç^Ï5tmõÙ\ÚùÊ­ ˅ÌìG2*̬+ÔMM0¢|ЏÙé%”¶ÌôÈ©pņ`g¢G”µ3p®×s/Î# Œ×vã99mA +yëaЕg£NM–ë^£\ +ôÁ)ƒ¦M®5 ÜµMx/Ù1¿±óºÌCÔÓÊjò¨W¤Æ-Ò"=Ã>x½Kà:Óºâm«ê^Læ¦*† ¹ŠÔ+òñ&bs\‘šÝá§/$6ç&ä&r“˜õ'‘Ó: +þuºh秕“ƒÖl­×¸R=x×3r'1Yc¯ÖPôÕÓõ-ª‰|£u‡Ì?5!Oöêû|3yúÑeÛúQ×Û¶^ù脼Һ“üTo&O?ºlÛ>ډ;ÿèHž¶îŒ§¼‘¼òÑEÛ& ‡&ÅN?:!O[ïòD^Kž~tÙ¶JÈC/‰/V?:%¯´î&‚èZòä£kÚ6±|hÂóô£ò¤õ‚º=M_Kž~tÙöª`þ@^ò÷››³ë‹g‡ý +Áñ}'‰Ày‡úŸ:Ø0ôª`)ít•FœRàÚ»ëhúîOÇPØ xƒa&aì,$!Ù)Dª;•˜Ä­±:ĝ 0‘ +9â’gc–µd†ÞÔ¾-?‚S©ŒáTŸ¸6²i´ØNçQ†÷0'I”¼häT['Î2Úº¨­ÃCÙ9!³¢½}džƒ”¥ü™|°„N[¦òDû‘!K? SZ÷Rîé5‘C§ú¹®‘‡¾Øç²¤Kš1ammš£³ß×Ý¡M"(¹HFär[Üá$2>[€3ìD蒌þ ÈñJ,Fœ4£5à™œRȎ5؅œ½>ë?±7âlãØf-_ëڏäù`c(´¼­k3²íŠ•Dÿ‹'³ÜÙ±`\´EE6F; àiÂûAŸ A; JÐ{íávDÚJÃïh󖨈¯ëØIëqB‚29PÍë™+•E€NÜG=kŒÓNtŞítMç͎+2€!±ôw|Ï3'†œö`MûtϧÛørÐSí ñØy"¯Ø€oÄm:ж‡f{œÛç:ø_lIû.zco]¶˜Å!ÓKP—>9X×RIqÜC¥Ó^Dð!ÝÞÙ鎀AZۃ“ƃÜ`i ‰d|&¼"ÇbO§2’%ß ÈCÖ~0•¼bŒÛÚÏi?˜SÛ%Ó^+™ Úe#ÂU/Ä®$çâr4bït_uÎÙ 0(J›Ï†6¤hìuƒg8ú´X59’0V¬íØØãÙ­Ç‘)|¸¨Ùë6ÄÓÃàÆÍ¬´h-TmÄ¿ií”%›ûnH©m¢A;Ý 4Õ¶=a­Â«»yֈrė#®XØöÚµ’c rÛhœÖ!â²äШ³6¬q$ ¶ÇͨN²ì¼8Äb±2ðŸú¨D¦¥‘m ëõΐ ¯ÏZåÄ$[DÄi÷$£·A´¡dÔV¾FFÙq6Ûaònšk%Ⱥqó ½ðaPbÖ·v-hg’s¶gëýb›±kk{pÒÖ´sÅöאےv1åU^ â W;ñQJóƒ},÷mҝ$TÔV»ÜŸ…X”zk¶ÏΈÉ®ëÖØ]Fÿ¨Ç-ø†ï…ÎøºCu!Öe,ÁÔJLÄ2ÿqqöì0سÂ}ѪÏâÕYÇF` ¿—\¾Æ˜Þc¼‰tԝɌõú™°'£öÁë³IëBjüjöycƒdãrgýB ŠÁ®ÞA7;¤pp†©TäT´3.ÁìdÆK%]ŸÍ©=;˜tKøøÚœ·+®³?€ï6¦¬g õ4¦i;u¼ŠqÍDX"^ +Æ¥#RËM’JÂËϝŽ+7D½Ô‹¿áy}šÉ¤@bè‹ÍcœI¥I;ëëš<Á‹G‰mXÁ‡6õN1£ïÛ +'›Û0Äðö-B̘~«Ø³¹1®84âlãu84q‰ò–]‡’”B©×¦{I»Öuºù4Qƒ³·LæÙV[íƒÞÔÔÈ×öà¤Íz½0¬exÎÚîmB4á¦J$hšÄ¨×7âcb6bgM Ø5z÷”ؤp¤]ۃwvÍ5]€Š¬JM!';Czë†ðL}¹²ûÑ3šUÞr0S#ÓY£sí¸wÑ¿}h0ÊËB&Šñ\U0ù z†b­µHÚ5!²4‡<ˆ]:!ùé³!ë¢Y=^Eه·ŸëÆ’ë—|ðK!ö½¿Aª- +9©¶™›ˆ0([ ™ [ÌÔJb•ãÆüEg*ölJY-H}ˆFÌ*‡,˼4ú쬧¼iš‚êm( ‘f.K_Fö´º§FEf{Rۙê%Ï7‰¬·nemÅag²ýA3µ’£wÊ2¨©ŸÚÓCjגX^TÑ-–8¨53’‡q)u“ã¤éñC ]a.”F\2iV‘h'gÚ­ÕAœ6—Cjúyåýªjèó ]iÄ{“_Là +M’Ë"¬K’ï7µ•[^¼*q]ŠÆ £k²ÄY‡kbÃ0ª¾39Ìì_ÚÐ|{Pr3· ÆLíLö:«„{“ÈÛ-ΔDÆ,’³n½‰Ç·ÞvÅÛ˜ªÙ‹yU'fhOfø$¹µÛ¬+d×ucMU@Œ%1ú±ÝÞ76XlûԘó V,7ùd˜4Ðî[§¶~lE/±á¶O!ûÕ85Ön†Âä”xÜaËý鯩aåúã]Û;ãÚ¼¡J‹j m{ëM8>;ìÖ,˚•}#óðm“„Øeã(ÜßkíČ£‚Â/Ò¨ Ø¥ÎÔ¦z8×Ñ÷#QNC‘>˜êáôÞ@vʦlãα4Õnց±gAçRÃ;¬gA/,[˦«—Q”ÒòWBŒý¨Æ™Å¨Hª*{ÖØþDÁ|ÃÐ:—t¶ïXóÜZíJjc+v!òZisš½0¤‰º§òk–BõKS÷F;¤º±Ý^åAx²õq"҇ÔLˆ³¹Jbv¯S\6I¬/ƒ3»¤ž3æuýäoä!ëÓL¥mä.õá˜7 +âXSÀ“³®5§˜ˆ¬Ýs-' |Æ®ò‘CA;]ۄ]lzÜõ8šä`¾„ 8Ù©’v”ܺï8]ß[Á¢’§ÛI +ñk%k)kä•,nÆJN ÏæÓhR¢øzMx·¶Ýù ̘‹?D¹§…,æE¤…Exõ©’Uˆè™X©*Ñ[çÄç¶®]]š&½fàiÞ<ßkîJ¢HUß 7±of>stream +ÐJ<±Bk@57{6+ƒYôभÐ(Ê;פ±a¢ëvf>B±€Æṳ̂34ï¿:Ãm‘|³kudÒjSÒ&­Îz0vÍ5ÀÈÐ|,LBéÍNéÛæéºl¼ ¨ ‹¢K&Ðlhë9Dã%ke"” >EÆ®¥†¡/ÔºGŽ‚MPȆô’îŸ7ÎZð.Ù³©Xa4̪ùåÍg#·g}°bC°Tfnݚ á\˜IšÏx>\+9(”ž}á& :Qа}1¢Kz»Tr³L¯ú˜5ùC';tmL${4Ÿî›w„ä.Y´leǃE÷er›Á0ó2ÍΨbƒe£½J'½—+Dy€ßæÉú~©LŽ(1õAè̓ŠÈ¬š,ÁN‚¤U!útixû‡"»uL’§ë?‡~üÛ+JÈêRìFxw­dU@‘((hCízÑh ©v5§•Xá¥Y‘0‰XÕGGŸ:tò-#ÎqdÈLÎfõí|D(ÄØ›ä;(Æ­:côCC£d¤ñ™ +§­6 ?v‚ÎB@©Hh z[AÒïB§Qé[ÈCžÊ$<Ž4Dß´Bls½Áû(&[\ÈÀÊÞ.65R…fÒY÷ƒ7khÜ*­1õ¤ÆSIi;J “‰ßٙíöÍêdì z“”³ÀP¶¿Ø_ގóDæàÓvpà¯-½6aΝAªƒƒØI6á .rq½‰ûIÍØ•¨Nªâ:_£©ÅÉ]b ¤llÝph՛پdÁ{!-`4„o7|¬‚ÐBôP'š®[© "J˕аŠÈ›mÉR$Ĝí<a~h³Í@è'ï'oŠ 3Wl¹Ê©C’µeͰv]ç<6à¼IŸ]ˆíÙlbSÔ][pר¹kK ªY†æ#AQO‘£ +›-ÊÆD(Ùµbk€·¦»&RˆC¦4Ê&ŒF1&‘”Áé T²$ámEÁ÷eŒ¾+Oa¾×ð&ÍbgjœÅ®ó…€Ü[>qûlÞÀ"R=67'¥k +O¸9)ÇÃì£`XADGÍCYú&DEóJÐqi‚7¹‘û¾Øe«á®ð ëÆ·ÏÇ#0´°.ø=”† 4¶V1.Zw­¤˜A­ÒªâR‡Ê[Ftá ›4Ì"3謷ýjŠ 6›FB»Q›ƒt½- ‘ePšp&ð”åKɰœƒAð +ÊgZ´¶Å! ý`wÝô Ïvƒ,9ãD…†m{¶‘ _}gÀ¶(h7ÔmA£o •Ÿ»^{´éÑ¢~‘h1á8$cD%PÝ@ ·o•`L§ÓH7ôªÏv j+Ÿ'@q©z^Œ+-˜$WԘM¢Z[iáð¾Í¬ëìkòZÒҐÌ1¥®˜Ì1{ì˜Ü /X×Y”EÓ³egÖLÒng뒞*ÙBù‹”nb×ü¸?œ)EY íÖn'Pb¿«WZˆ$`Åæ!T§ q~ôw>¨w¹tɐh¥Áýs;7¹˜ðo…¡¹’Ïöd žƒÞo „¤A„Ù< SÌ$ ,Ixɔ‡5Áö¾S%ÇÞBX“Qa¨AR}ÖàÙÞÜ8yôÆhQú(ê£d„²Ç ãêqÐ PóHX†ôë›Û³Û¹÷åp-Z&·€úlEJØîଁIzo`‹a`vƒÒÞÏÎÂìKßÖf„£³rÀÑ[=È¥AÃ\×üؾaÃ,*gÀbÒ‹?n:gÀdß6~×·°QߎÈÂ;nÏ,—Ûru+÷beVâ`ÊdÛçÝß>Öbî ø:²Uˆ±ŸÌA‹O"¾Sˆ%l DçŒ mS[Åa›Ý¢+dÙ¶T]ó_—1Ò:Ú”N€Î$·¢¡]!hÕ± ˜Gð³5`¡ïYŒß§FŽ!b¢ +eìÞÂø »'[äËÿEý+q€֏LØâΓ„©1޹6”×ö=6h/§`@‚¬q`â¥õKu¾Bpkƒ.¶ëÕO"(|KªroÈo®ú©Þæ}»öœA¦b‹~íÍ ­Ô ½wöléì@°Ð±Š^¡ÅÞ AB¢ZíA¢}ªT3Í'qr‹L:KB`1|È|¯ÀÌ$µ#LR4¼s›ñ‘Hð-î»G?!ª Ähò¶¨ÆšFD‡)ŽT&²o*Æy)¦Û ]²…ÈvÉB=Êà͸Ó¯,âª4åʰh¡TëS /ˆÍԔT~Jí~²Š€‰ -t¶—Ǩž+”LÔV +ÖÙ;ÓÝs‹dÙÓóDZ +.•V ›íž¨¡¹v1EgŒ +ähпè$2Ä`(6JOG+V•~‚¥ç³l24?f÷UPˆ-´‚O6»LƒY½a‰Õ.ÃÍí­XŸí[`²™…,š o +'ˆ¡}¿Iµx½EJ²z™S;âQ‘B€,1w-ªüÍç2؆醑·ëÐÆ:4Ì+ÃHÌ f–¥$E^„8bƒ/ÍVl^úÁbùl‹Ïúúˆ.Ô, ¨Þ[ÎPšù»ÌÒ-®ùü;Ãå5£Pn:L? C=•lÈVÄÂÙn0 ˆGõÈ›úb ”Iª æ…}´ÆÎŒ® +àºÒ¶6U‹Aèœ>Úw¥e ˆf6£-XZ3[±àʂÍl› Ú[ LÔÞÆà‹7G ®)QŒe\ïG÷·©ÒYòÕXºÜè¦îû!Û ,¸Àf5K¡º`AC¢’èƒåVr)XŸÌÇ qèÇ¢ ó¯:Z"NÚà†ÈÎ-4É,U¨ß¸ƒ¤¥é#šxœ'¸6æt·°ì ¾ÉJ´Û$«Q”DõŠñIsß;ÔW7NÄ[þTÉ£A§!y|»»YÛÊ+1&ûXŸîhÌéÃzY†ó +“è-ªrò,cÇ☔OŽ‘ÙTbO´ÜŽ7ôÖ.¡»QPR‹“ HÁµ˜0 ”gí¦Ë’RÐ`N–íMB̍íH.ÁI5Î;cŽU¡M–fx'ZÌ«b \€Slªƒ½ß+ŸN"éûíþR¾çú†êÅM8~¾ïíV½7üXtíØ†† ³„©…€f¶Å4F†äIˆÄ_ZoÌüá ãJÃ%÷,(Ä1„œèD!&ÆÞˆcÃxy„b‘bDÛÊl¥lÐÍñ¶/¥Ó-NTºI Œi‹=zct Mސ ‚G«Nnâ9ÊÙ 1´Ìu±­®9$,…XÙ1s0™Jk‰—rsŸû8±pÐr‹I£Ã×È¥˜Ð™ âӄ©QΘO ғ…×ËçÒÄ)î“ÊŠxv@º^Ã! ·Àx›¨ä~"7[øˆÇY‰óϓhU3:’ìYc»ÎИÙrv ˆK´KËÑ7tʁ´ ¿4nrÓTrríÙ¦§èiBñħw3ßc´KÖ°r¸9%§™`TP#ݛq‘½ÒpvaDEôÔoé*zåSÁ ÈW¶G ÖjÒì£EpÖê ö˜/ýàé5±ÏPM•hÉ@³$›h $»F˜QåTÉ¥o=îG@ˆ-Ö¥—«õ©Œ-°‘ZÀ{V¸óDbV=KÛz)ü+ ”IºU ³] >ÈÌíeÔØ·ùQZú#ó“h±æ²â'Öª· êõ puÙ>ôö6j¥Ø&pº7bg8WS`¤K£i²+%aù_Y3´÷M–`÷ÔF5äpœòúô˜©FNh욶”Å&%Äì,W)B™jt5Ü®Ü|®i{’#Ižl,I#gj½R`W¤¸¥8JN‰nlÔu¡5PZN›«Aø„)6òà†¦.iÇ<êÄïÚ׆æååI  ½€†dÁ£œ°Øà ԋDLŠL3Ó®6‹Kˆ£% k2-N8 Dµc ±áR#õgÓ`’®nz˴Èn!²øI§‘ ±oX¼^DXs»ChñrJde"™ÚÒö' -«ŽÎA™êç +c«ÄØrý˜³žäM3‹zGÖÕl—¶(1±è¡á֔—P&n„ҨŌá¬;¢3d0MYW䖥"+?L(m§µ‘'³ùO|¶K)MÓ±q O•œÛål)±‰ëQ5‹$£ƒô êàÚn˜ŸõÂD±p +ÃÆƒ-ãŒo¸K¦3né7z<‹,m Yá«ÄS´ÌbÎbàžíÚæNíÙҎ­…<÷ë£=ñlÄ#ÏFӍ];ÙPç—i¹ yÉXUSdB±Ç"ˆäY…ûö~¢GiNy6'sùb°A†xôÓr¤@~sIšP ¢ ó&…67¾ŠŸ„ùZ ƒébæg—ɦ…À¡í Éæ‚.ú`ÁùÄ¢k` ˜‰¹óc-T SVK‰õVÒ É.f!bŽ‹5Ç­!g¼Þ×"CE{VwB6V Œ +nÌ7aè¡Ì$ñTvTN•œBCTzÑ©™%ÕB hÐÍnn°ëÙb½yý-` +‘7¤T«‘4}ŒÖ€ÆW¢¿^?&x +ʅ¨Î ÉÌP€Ã7XoÛÜ6e’ȬÁˆÁ ‘FkÀ·€… ³ï©’»¡Áz¢r *°3\RìtÆPxÖv¸„¨#srå·R&c|R¯ÏªÑŽç"ª®‹ 7v—”LhñV›r&{T&š[Ðj•Y²Ë Ó.’³;«·KrwÍDE ˜x´Ù ¶sQ¨4YèŒwÑîøÜ|ÃõW¡•ØÙëí8H†.îû!´ÛQ9–Á{卯Þй‚ qĐvï÷f´!óãµ­ÉV ’“%‹Érxbç«Õ¼³À“Òt)qÍÖ@P!"?õÖ´ränñôCIÑ%t¬ó&ÿź—ŠÁ¶¬Ý،DƒbItÅpâ#o…ô“ ±i9"‹0’HH}2x[Âʤ`†ZF–ɇÒëjR4¨"‰a°XÂó(C2Ù¤ôÀka§±qÑ7§ze\êuä‰3©Ð|—ƒd/Òèe8â*¥ƒ”¤î‰íM"ëÌÜB”b?‘¡“á:“šŠI´½a—1dà`Á M߈è'ÌeûVj²ø˜]ۅÌh +ËPÚ\uÉTŽìŒh÷kZ¶"ð_»…bgéŠx_X 0Úímºó*ŠT±‰UA: ãÖMe³T‚X–bj”kø}Žúh}´·»†®¥·@[í §ìÊaC¥àHuF»[% _ºß0Þõî6åH¡:<³9¶oøb§,#ã1}|Ǥ< ü¼ ÿ8Õ$Qk¨å`Z¯Å;vRÕÄF 6ʾCÖ©’ëVžÆ§Q›.-¬ÀvaȖdš z»ÞCž$alÚ©’S²;¬×𒐭> 0Ò´úv+¹–ސϚŒâ$å­<«^cˆò¤Œ!•( hRCY]/|:ôbO9°“+0@ˆJŒÙ®÷€:փ¤jHè-w9T°ªÞ"åÍÄZÆOF:}TÍn”#eτæ•fàk³tD³ ü¼Xc2'·G}rŒÞÍÞnšJ6Îµƒ_‰©mШWUˆ¦GELzàæ· +Ûf©\²·@]K÷U‰֛Åx‚%¯5np¢ Ä"RÚÕ +KR0FÕk‘Yiďsni™BËiL¹n¨]™Co&.­KÃ0än´P¹dGÊÁ`8kˆfA-‘¨n5‚OÔÈšh©ÕeÁ7j–­$7ž§8¸öºoñCEãbJ Y®o-j’J®B3º‰¼Ýrh¸&$޹‚@T zŸŽQi€¼;VóApQºæ— à©ÛÑïZ–°o).‰i:kÕ¹–‚¡s£éÓç&ô+Z:ÓÅ,â@Ÿ#<’ÈÕ°¦vÂÆmÛID›ÌL҅í äÆ3"rªÙr7qâ\,Æ£Ó½ boü@²AJ·ü„¡&á>ÙÝÇ~0èÅä<û¦ ‘#‰­À-KgŽ_,¿,”[ G÷Íß9 ¤ö´+K̄ž[|¡ÓÒ:šÜÌFeJØÊÇlÅ"©=ñnƼ²0/ßêÆPµ–Õòз {ß2ÀcÐ. «šwÁò:8ܳæè[‚ B?D´@ÑÜDux-Z亊¢ÕÆ6B_ŒÛN¤æj ¸îÍo2äÐâ*D».uŸËë¨ÜæË’Á¡äjn#β™  k@K†Þâçye]+9ŒÛ9´œ½·;Ãddp34>å˜]Ó´¦®eœˆcž ë_ôÀ2ôå†Çd§_+¹HP!/YžeäØâœu†)Å·@XˆY…¸m ù£Iü÷»èe‰£@5S^7²™Ö‚Vš ç%ïºÒTŒÕ·NôýZºÛ˜ìÙÌ0§x—ß?±R¶‚j/æþcp൑$Ă!I4¯SÐê6 ¦†CsyD…¦Á¼d–ôPQo•Hb{¿4œÇW"ÕÈ <}¿ù`[âÀÅ&;6º ð×*—ˆvÓ¤yt.FJˆ:@3˜P‘±%1¿í²Ý©ñÚÉwYa85ݼô-¦ZÚ[è–-döGo ûWx!UÏ:‰-?¶| +³LRK¶\04 _7²]ëDã)1Yz³U¿‘u7©Ï\ö¾¡b@Ie]ʵ½Ò,wˆêr¦-ôãáÁ f‚vÛ0´ð@Û´oŽA‹-@QÓ壁bÖLË÷»ì¥EËdEK]?VëÉ=ã,!—æïqž‘ [kyðg# $€sÇê:­Ì—󤶔¤RZ×±1“¾š/S¥§eÒwø2È$†jÒçb BgA‚}+i²7-Í--ç}Ì-O‡¦ž‹-miáËŽsì[­KÊý6ÇjJNªõ QîaÃ:roþ*ƒ¾¹ö¢•Óè'NΤ”`¹úv°Â*éÇ ’¡rÀ2ë½ «o÷,ˍlÑDYmd˜¢ÀòÜv5ê2ô†‰¹…jôh§€P4ЛG;Z–¼EÆd¥áo}j©þ,ëA¯m…8˜?™ú,IýæDÐÔ ¬>¦@ø®_zµ).¿?nK÷ZäxØFpɲ¢(c‡mL_žÆ2s‹FNǼm³ûÜj¸ÑøW‹v²ôýEÂv•èZ ¦Æ2q¦?‰èÉ­w†¦f,Ž>‚µý:“®4lýÎܨâpÔÐ* %ó¡4âX×#֟ÏsÎö-y¨A.‘ß½ø7Œ¬1ŖҞ ÏÖÉ\ò8à-C{™8ƒûVlpوÝÁ²×Y®úk Ō†¡Rh1fÙ--\ќ-ÖÂøýÑYî‹ä[hK°$Žd`Y -<‘Ώµý2ÙÏ·È%Í_qm†-)ŽîQë RiAˆâÛn߂2¼åt°¸äÓõŸ'Î"¹5·M\hÖL+ \ZÁ£^m°:Â`¦@J6CcŽ”–•¸% ¦áS²%,{pÒnøa°0Xށv×bkZZùÕBŸ¦r҇¡‘gœ¶,ê%Z`=1¤–E=x3]Mâ4ƜaÙx¤¦×;фO,΢™+sn)×û`é+²Þ@ˆ]p¦Ç¤Þ ßRŖ*ƒgTçiѳ!Œâg-ÛØbsÔx ‰MDlYH´>¯j]yLÌa¢X'W‹[fÎäß4®çêÁc :z­äÁY¹at—õ=FÖ² M1Ú{h5&¡GÍÖ +j«âƟÌgތ–|¬ŸÖ4«"¶øÑqš2H í‹/Y:òÞR=0»a¶:½…daœ¸OOÜ¼—ʼn½Ìõ¦¹ÁœP…“:Œœ$2>Yÿ¹±B)f¦OÒÒ¢«ÄB‹!>|×r¨8ɔuº¾k=¶Œ ^¢p®•l~L/aSB4;óë J4«‹Ÿà6ÞÔ€ÆØNÌîË`þ~0þú7‡_ÿçÊO¬zÿ»›g+5ïIüìâ»Ë›ò¯ÿ~ssv}ñìÔÃJ>t¿©jÛ§¨qÿ лÎÿÿúÇúËÔþ§’~8tÝáŸÿë¿»Ãgxô¯Gy‰ÿª>ã‚ãù˅Åg˔|ºJFB•IÆ&ÖÇnê7ÿz€ôö±r›C(ÒUAõ‡(ÙY·sGÑ·rZ$ €« • ‡6‰ô[U7ë¿þ´jÅÿQ‡ò?‡°UÖÅÃ?¡g¨R<;ñR«·þ‚¸ò8%Ÿ|Y'¨N7µÇ×R!ê=ð }èÌا{Èÿ¸0RW·yíAýëá:Œ/©­ÃRT¢|40©N?!_ñ£ÝáïÿÙ³Å:jh⫟Òúõ¶|Ì 7’W/«+mFd_Ïg ­^W[E-ôΰ(Q`I¢8{¶—ru«­ŽÄ•LÉ­·c«+ãšÍÁùÊ){Å5@ šL–*º*CN·sûð”Ôº8Û`¦íµaO¿=™"S iñ¬½›µ:W¾?%·žŽ­NF´ýù¹Æ³ƒ¾ÍÞ«ŸäØòÐØi탈.µ? ç"Û¶GAª>9¢€Î•žmZÇ*/qýõ¶ê]½•˜K¿’¤>”¥Ì1·n²*ôŒ³ùìÈ,ckOÿ±Ê,ŒLFæ‘á3ö+M AM·ãç^ÛÑVV{…&b¦]¼–“‡yr dޞã¤LÙÆ‡ÌþÙÁ”gà‚Ê9OøµL¾÷;Éž8aô—ƒ%«Íƒ˜DS ±Jþ6ÕHVØ%é?•´+m·š{¯‹HTŸ¥,DN¯|,!.z»æt{êoó!qiR¿:¤>~ˆ+Cp§#å÷ꐰ$LL´:$´K M†[µ‘Y‰|:(3@(ÓA­éïÆçñ͒Bñ›?ßÞüåîòæþò滣#!S€˜þáàÏ/ð×ɟ¾üê¿¿¼ªÍü¶ýxøï¿ýúO§¾}v?¿<¿¿¼½9»ûñmøäð×ÿº¾º©:ªÝº»üöÕýÅËßþŸƒß~zww6{âüûË«gw7ø»?üíoîÇ¿á_÷?¾¸Àß~ýé¿ùôêÅ÷g߸ßþöï7—çõ_ÖÖo¾[}áõÙÕ+yãòY}rÝ#šðDížù?{(·ßþÏÅùýg·¯nžÕ¾}vû¯MGôœ‹R½ùöW&#\y磵ûÕ¦c{Ç$LFô¯­ǏãÇG‡ë6É—Ïî¿ßx4úôVèû‹Ë﾿ßxHöøÿÙ ëÛÂ&ï_Ý}»étÜ]¼|uµùtØã}‰on¿¼¿¼?Ç^Çõ’Oÿíòêbs6¹òÎG¡ßth7¯®¿8¿?{ý€‘M_ùø|ó¸K›ŽíÛ³—¿¿»ø¯.nÎ7碳·>úqà^]Տ_l:NyuÃáÙwÞ»óî-_/M䍋¿m8º±ÇoY€¼2_Þ¾º;¿øÃÝًï/Ï7o6^šË›GÚn›å|ee0þFó®ÙÇrûââîìþönã/<Úá9¹½~qûòòþgççè€M»ðÛÏ/ž~²å*`Ü«€{p{DZW·wD{ðv¯n£ +¸ñ¶{*àÆÛÝԟߝÕɽúóíå˽¸×·‹ÁïuÀ½øÄtÀÏ.^_\}ùýÙ³Ûž€3ðÈ?é!#Ùr)>9é#ú¨H"ИôT„‚õ‡—÷Ï>¿x}y†=@7š¾ôÑ÷íÕ«wÜ^?JûHÂÎ^½|yyvóÙ;ǸöÆÛîÙæ—׳Ǹ½6Èæw׳Ǹ¼rV¶©Ý>þòâþÝ'cwOÿáîû+\ú@žß^ÝÞýûß¿SřÞ@?^mnýЧ?úÞÛ·ðòÕÝó³ó‹/ÏÏ2ª•—öLâÆòòÅÅù¯Þq†vÏä½±j‹ñ¿º:»;¹½yyv³ùЖ/>‚ëæ¡£üÝ¿^ÜÞ\¼Ç(ÇwIS©Juýߦ“ô¿ÏÊÿ>† =`([nëpY–Z;IùËíåÍýéCtÿŸÇVyñ¥žØS•1vO:zà•´í7ì{™Kö~‡»', íŽ;e[xÂÆòÜ?7?9ÿ|Œƒ³ù@Âæ 0ïï¾Ã84HÜꁼcí¦qvÑ<1wýƒ…m¿9Ïî.ï¿¿¾¸ß|‰v齺¼ÿËÙå»ÌýºÙ +lËíûpKòƒÙÊ#­çŸ.î¾»ÀLîžHôУö„—äçëÇxôSNno¯>»»¸øß=[‹:úş¥_=›ã0<[ޝr{|ՓÆWmn&|¶ùþ|ÒošwöìòÕæLÑß cîvkØÏ.¯Î6‡ì’2ºñíšú§Û»ßß^Ý~·ñMµ=jËæÁ{î¶µfÏÓ‹§ýüÁ©{žöðEyX$Í3µ£§ƒä}*¼ló͵kG~Wá»ßn|ñoûqãÚöS²¹0¶#Ö§ŸµacøîemØx7î³6¬à>kÃûsÂw‡vçvÚx /=òXa#¿ÀËvûñ8›—]þº±Çîäû³››‹«//®.ÎbÿX¾øÑùéÆÎ¼÷äòÅG»Ž>¿|ùâêìüâúâæþOg/vðNzXÒÉ-¾“ºCûÿáâG·òã¦#æO› ¶öø3Ê­¿¾6ލ»Âò¯ÏjSÃPvI?A„ôŸ6ÞV²½5Ümg{`à[~ø7 ÞÅT/o¸ŸÑV¼-§ïêòæâlcÄrU +Ïÿt»9êtòÂÇ÷Ó^ýpöã;D†•¥¾?»{ÐZËóÛk¼¿ÝüþºÝf&óüîözs((þ胹» ò±éÎž=»¼¿|½ùA_øønãCôlóüRòì#ø n6_£óóWׯލ‘˜®Ò䕏¶ñ]<£}þÏĦÃ\}ëãë—ïÈoQwps<ýž‚‡@þŸ_^]=õhšÉÙÍåõŽÏÏ£²ÛéïΟl¦ìa3[¦çm¾¹ö°™´"O6óƵí§d›Ù9ØÌæißv7óÔ ^î3[|?=àÌÆÒèng~‰×íög6?.»":ì3{à̶ÝIO8ã~)À™ÈÛ~}í3;#‰ï4pæüÉgÀÀ·üð?iàÌæn׬Å?±‹hwà?à!=y´”;œ¬ðHÈýbìnšÝY‹Ÿ¯Û‡§”2òsfqùæafٍ„ÀݹÅ67²íHŽ¡'™¥ü#æz,ûéyöüm#þÖÿ’ùÛÆƒßó·=Ûó·âo¿»«„½ø¶goÛÎÞ.°Q÷ÜmÏÝÎÝöÂ۞»í¹Ûž»=5î6u}ó0Êcrþ'ñ{pˆpˆò/ùm<øý!Ú¢ÕCô—Ë]\ýåêìÇo.ºh _På°Ô¦¡œÒÕ¿>Í9yc—øàåͳ‹ç—7ï, :ޏ8»ÿüé'&o|üD /ugÓ±ísîŒköX9wžpv·y2}z—ÇLï²!ûßçvY?®ÇÊíâÝ'¾;t©þ»;¬ÿ|R®ÿý¤þáð©EqÜ]\ß¾‹íý"Ùl‹(õíCʑoy”À,+ùq5þ-Þ{¿ð€-^™m?BïéÚöÀñwMûOäŒúØá&·×/n_VÅþ‹Wï8ì»ËNlŒ»Ç6¶þsóãóÏÇ8=›äØ£é@ÂchCä¸é@âVäk7ˆÛ¶wè%ëm¿AÏî.ï¿¿¾¸ß\*ØÕ›ôÉ&qü)¯ÒÝq¼×Òî£ߣ{ÿóOï~XþÒm´3íýÏoÞÞÿ¼öbÝ%ÿó¾æËÞÿ¼:²½ÿyï~רöþçÙøvÃÿÌ+hß}ò ë~ïsÞûœ÷>ç½Ïyïs>ÜkØnûœŸ]>þjó|þÛÎhsýòA9äWÞùèCûñâêêö‡MÇwuùÝ÷÷õïGçÈ¥ºñç¯mïêÆ=¹½©ÚßÍæübñÞÇý6æô¯îžWõòa›tõ¥­æôÛ~%?7þÊïMp{ÜöòÞ÷“_…û +¿»a‚{ˆ¬µ·Ãm—N¤êO¾»»¸¸ù¤ +/ŸÔ;îò»ÛO^_Þ^]Ürwñì“Û»³›wy¥÷º½îCù}ÙØ|ö¿—ׯîßQ'rÊ5ìù¾ËúÇtqUyQkòÆ£Y>¿¤yŠ+à‘±3Ÿ‹ºrª·Ñî€ÊkŸ¼yc¯üïˆòÿòÅÅy(ï>FHÄG÷ío¼ ule[¾¸ÍGM;û»½¨ZÊ{Œr|qo̙ïñ½1goÌÙsöƜ½1goÌù7L7bÌQËm:{cÎíޘóñÙȓAUì-S{ËÔtåKՓv×4õրm7p<Éè⧙ŸãcÚ¢‰[ípzŽÍs(lyzŽÍ²OϱehÈmOÏñ$‹“<;½õ·çÓÎÍquyÿ—³Ëw™÷÷Wèc@žÊºÏpµmWè“ÉpõPöµí·ç{©ÔûtnÐ}f«'•ÙêÁ˺ÏjõýxÜ><¥¬V_~öìö‡}I¥¿HJ«ÝaOO0Øãllû`ÿív;Øãr ÏÞÁ‰¦¤=ÂÛ| —Õå£[}V¶©Ý>þòâ'ãîâكØõ®q/8Ò_”Žðþ‹û„•…mYœã]ٝuÙ+q;£ÄíóïP^â#—~µéè6— C€|ÈH6!C‚t±Ûx$?\>{4SŸþø# +›èû‹‡ÀÛã{óÇ£j +ýÞü±›ŠÏn›?ÊS1l>½ùc4ä]ã{óÇÞü±M|}oþ؛?vÎüqöÐÞø±Óìó‡Y¹¶8ôüçÃmíšìJZŸ›Û/ï/ïÏßaà™*×xúo—Wp_yçã[†6óÞ¼ºþâüþìõ†6}å㣔7ÎVôíÙˋßß]ü¿W7盫w³·>úŸßÕɽúóíåæ3òò†´/íέ°Ï¿´Ï¿ô† ä‘ò/uÇW¡¹¿ÝüdÞn7C}~w{½¹ ʇ?úpžpf¬}b¬ÍWé1c=@îØõ¼XûlJ?£çâo¯î¾}uUwÑš Éo¹þ»Oÿòþawd +~è´½öífؑ}óŽ€ì½1vq‘="ms„ÐvãÐ6ǖ£Ðº'‡B{Àˆ~(´ûÊ(÷ó]3˜o Ú={y÷Ä æ÷jI?»¹|¯~+Ük{-ð'>:{-ðçÔ7¾UöZà^ Ük{-p¯îµÀ-×7Ζ±{ZàÆCÛM%p‹PS{5p¯îÕÀ½8ëÇSRÿóööÙwwg›ï›½øø:à‘{*ZàCF²åz`zrzàFô з½å!MO²4ÉÆzÑ>ÃÆvÅÖïv†Û 2ìgاK}Û@öùB~г²Ï²½ÜìAÀ·™=¿ªÚ­5ÿ÷o¯ÎÎÿùÉ¡n_œ_Þÿøï0¦¾¼ÿñjs£>ýÑGü åÛµ3õ{¬Ýî©—Ìúyò”Öøē½”ööàÇ©ÉôË#v¸¾áC+…n9Ë{`ý¯/ÏÏ .¬¼óчöÃ÷ÈÇp¥õì6¸&#œ¿¶½ë§ûöäöæåýÙ»JN•Ãù{}ˆãø^¾º{~v~ñ°=ºúÒ^ þx¬ñg¼´¶å² {x2Ã\Øø(žýïåõ«8ƒÚó}PýƉ¨.®ê/2®OÞx4QëóKòíӇ8²~¦lŸ 8Õ;s÷d¿_„D±¿nwäº}ªË»äÝXªµ9x°X»|ñéåïþõâöæâ=F9¾¸sÒÓ^xÚ O{áéùŗz”wWzzûjÛ¯à=ØzgŒëSZÚ[Õº:ß#ÿÜüôüó1ÏæyG’ªé@ÂVäXƒé@â6ëÿ|ǓӁ¸G»lžºõ¡î´­¿=Ïî.ï¿¿¾x@E]ºE¯.ïÿrvù. t…>º9ŸÛò+tóì¯ÐmȖ_¡e_Û~{¾—J½¿A÷7ènÜ »cªÞ•ÜbÉègçú»³$?_?vo[<Ájì›&aÙ=ðÓOíôt+â=ù¿ûÜNÛËåÝa§ÿ_÷S£lºlüiósgïÀM°íwÛê«/ߍ5Û½«íú¬6µqZŸ]â üÓÃÛFÆñÅÃ'Jä—7·Û)EŽžLŽ£ÚmOÃñQLVyL_übâhw5ǃe¹§»å¶ßó4ñ€ðS`½þö1ò ?_Ì,϶3 ·y!ó]À§K¶qÌ뮩ݖÀŸÜ½‹=÷õó‹»ß_Þýüv¡ÝqGû͝ ÷gß^]|õ0«æÊ;}Íùõ§h.ûý«›ó¿îS9·Ýá~»íävûÃn7·gn;ºÛ>{d  +õ!ÄAÿíîìæåóÍ«]lÏîgۅ¸÷ lÙÛMËn" ¶%2÷Þr²º@Dã}zuµK³-Sò~{v}~ý£ë¾ùÝͳVÊ +¤Ê7¾½ùKm‚ù˜Ž„üÙÅw—7Ó?üùۈò§/¼þööêà׸¸û¶2éßt‡ŸÖ¾þáàÕÁˆ<úúÇúËÔþ§’~8Œ‡:ü¯ÿîŸáÉ¿y<}8îW¯ðSé‡F9m”£úƒ‹%VR{om|ó†]ùâ ;îÜ*©;Î9ÇÞ×zçû!¡ÇƒOq¨ÿ Ù~H}éÃá×gG.gêÇûãÔ 9×ùîØ§\òqïÓPðîØÇÎËS®6û>Շ>¥ã8ä®þà†ã>—úC<Î]é\¥”㔺JWrOêûcçÓáQ8úTj›.‡.fPúÑŽ;ŽÉyÂRâ[uð®GC!tÉÅãjOðù’Ãár$'ÏǹuÇ.÷¹ÇtÇ1bj]ím(áÐåãœðkÒpøÕAí`æ¨ëÌ~Ì¡¡„ÎåT)ݱëcÝǜæP?V{Ø+©««í¦Jðîs‡ù©ßá=VK^©†Å­ãíºÚu½=¾Óõ)†ÃE÷1&¬v©\¿”†ú¡„|¬oÊjGWŸ%Í¥Ëcp!c¹óq]‡í‘°®NG%¥ÈÇú¡«Ÿ¬¿ë0ò†˜@Èm—¡î-Wû9D|+ C¥œVJäHê[®nA4Sº’v#…ú¥rì†Áã¥06S8Aµ‡¡Äºbù8õ1b<1÷©G+¡ O¤.¡¹“åNuJÞï`ñÑÊQ]•ìüPg¤nÚ¡¤:oõÙÇÆ¬{°v´®þPÿÒÉœÇXê¦é»®çvŒ¥NWݟï¸?}òCÀÆò2o|-ÔÝ\wQL²ïI“çKŠã­{/z7È3¡vº~iÈõÙJ¨ÇhÑìr\»RW£…Øe¸Ìµ“º) ¡N[ýXð.È1ïêy«¶ Ôáu]íFmÜ <*˜àˆíW'§Î?)u S‘K’SìS]¡úŽÇ†õõ±;µU­ WŸ,1É9Ï]Ý _auåI¡®$ž =†U ]eB•á,¥ ï;¶ºð]=ÏBq©®„,|= žlð‡"”âë‰ëÃä×£âɸ\:Mu“×'ÀÕj·Kä!«»VFX—/&|¡î°nˆ˜'lKLËä©Ú¬àÎõTs£c C/ÿÝ™*ŸúÊ‚¬]Ý+¾DÉªuànuMص:ÀT— \OPçɨ¢îš:œ>‚‘ÔÇJ®ç•´zî× îtNêžõ9ÄÈκ!bO–Ø·:Y®ï¸³ÝÐsýûº2Âæî¡ÊV……UZì ynf]3\•Rxaàø€2 Béo\+ܟõµ‚]R)õl™¯ºýI©|ç°~.t)Ëçf]ÿНS?6p×~䈙èÉêI)yފ]æÕ®÷£ÃL€3êi¸mê©­»ç)×ë-÷<®wpÕº½Š\D˜ç §!L&†ä´õÐ/ô¯Û)`zêA«#”õñ µ˜žóƒµ“¸œèÙrÔ÷êéÁI°ç¢Ë8˜¥óà1•arãVðeà×8ÁÔ%›ºÜWŽrJOç®î]’*ÇÒ¤³)ÿÀÍ\»#‡ +ܺ.>–°22ÏãZ哾ðã¸îѱÊq¬n=g]'’QeØÙà{þ±~ ‰ÔӃõ;L[’]Qù}$éºhrÐ@Æ^ßËóÉÈyòßѤ2F®em `ov ‹s =p]®<»76ÆRꦠ´´߇îøÚµ’9uIqÔ Ãâ{•Vª”9ð墔ÎýƒRkºg— ‘ɦèdõr½ÀÜ„uê«Hsì +äi9Ô!eŠÔIGâÛkõìéJ¬Ì 6¥!œ+¨\;¯•T×¼’d[SbªßIàÁCšBJQmŠ¢IU™ôõ;ÃP ƒ(S½È_<<ßñí«Džq;ñ„ô±²½º‰DtóèHm ·[•Úõ•¶Wg»`ž(±@ºÂôÇÀ©¨óUð„ˆÉ)ñD9Îzg÷¼ü*!qòO8}}(P„¹q8èk蹦³I:ùpÞ·Òa}³^Ά1(¶““5wT€0`’•iQ’§¬ûôÐaS†^'ûÛ#Q†®l¢'¨Y2ƒ}¨< íT¥\ÈáöxæuSøaǵ +{Pó¹‹ëÊ_󄅡Î%V7=:(ő‚}àAæð«F¨¬ºn +!E°l ؃x†ƒHÁÔT¯…:I<ò¼QùҀ›ê©úåWbÓ(Ž +¸DJ®c‡+¿µkµÃiD’~ÛŸ,¸Ñ©×ôE÷] b_/…5}>ÿøÀV¥HZôLՙ-Ô9')恻Û㮄6åÖws1”Å`grÎMNzlä.Ã}}Xÿ›ySmתpVGË/9òZ:ø¥Ê páÓ9A±«ý¯[Ñs#t¡§ ›¸»Áà°^´ž%¹iO8¡¯ë^ç¡rÌp8˜¬v¨Õ™úÀ-]ÿø%pï’dO׳ ù¬K¬»7KýݗÌF[û¾Ci>ѲM'BH½ª8óu<‚h×áÐó$2é’=Åώ—8Ì}]¡$ãø‚?ôQ¨!Á U™JêÅ‘ý!Šç:»_Q~\%E¹ˆê©À.4¹5yùؘOÖÌÃlhuàÁ“{Àôw}P†Â5ÒPU™’ÈæõÏlÁ˜8/¥p àŽ­§¶ä0\!؏õ÷®Š:ø{è¨!Vm(ìÆ"»&«Ú‚ [ÔWµM×Uéˆ §nU£ŠÎÎÃÆ&VŽz|(`”h*¥T5¾>A¿ó–˜ò/#Å.¯Cª›V%'Š¡ƒr«`½³r=FbN•i2‰2héú; ~îÀ'qËyþ݅Æ˜ºêLWöCÛKÝåܐ>0]¡Ã7ëÐe1&õ=§Ñ•ÈÞÁlwh¶›Á¶öºPwžãƒmÔlñ=ØZ¯aâ{«Ç‹v¬Rí Í>_Ñ|ÄQ;X#ÆBÁ,†ó˜qP$_6al›?טGW-¨ç°©Ö9Å#0òÓîêºÈ „é îtT>«xãz9%¢e9•ƒÆßÅnS.$ Ó ð‘Ž< êNU´ªÈ4 ¥Ã•SxþÎÛ¦^*U7Ä®é¼Ïø©˜Çëïb¯À=ì)l9o²÷’c\ J؉â †ä0ݱ*` +à\u±êyÂ'½—[?’ÿñ 2QÏMFˆ1Œ(öؙeýõÁÂö¾0Î/ øƒÚÕ:ò2öLÆÛ±«uÊר°Ÿ,l¶×$ÅH£l‰Yíº8Ê PUþÇA½œXbêi éÍÑ©®Z—#P;Áëº)ºyô® »€6h~©‚ÞŠJ¨û¤Þ– +:6ÂÂÒ>³Å/Æz~°˜ÅŒ-fõü`ïdé_YñÀœØ&ÂËûžŒÍ‹ aµÑã‚àF«¤®ãwQ]±Œ¿>˜™Î–õ¥õ]8C TÖªôÜuTIaáuÊuFÄ ‹P§¸.]e UF!w…€Óu[‹×,s¥®q]tØ q)‚D=±|V­ðõˆ)Ф.7j¢„ ë*íPUhàÊáHtõ[‹íur°Ø„§ë7êʼ>X:)nŒ¹«ƒ+(jbÝ{L˃±:QlE5[„ûBå+׎(¿~Xúx°g>йcáé ÛóTÓà+„9¤¯3@;¸†¹X«¼êšeêñ0ú¢²ví_=]çåXøBN×úKV}*¯!èl4ySФ~×õ¼ ›Ñ„Ü…{¤H®.‰JCŸYß\dYµjõ0“MB"HÔP¯ ù¶\š‹ ù@ËÃxZdêNÇõLW¹£¾[?%!ª&¼è9¸çl|§Ô¨´C×ì rs¸Àtéò+¬\‚Çöˆî®ÃIU:±Iq£ã¹l©AŠ… SGŽ\h³1|à¦[:¦àÐê!Exãyv”¾3«èࣕGË ©ê,ÔÇD ‰W=Ö¡ÞFA(`.û(€ÂöÌ[½žüzɚ`Žæ_w4ÍûI,²žß ´úB6ω“r¸Ê}ªJeÈg0¨z‰Tєš }ܐN‘Aºi)óªÊ{ػ̩”įAMD½•À"˜mÏ[KËÕNɗ!·yÇ©QÛÉ; ·]=ks×ÞÜ÷·ôž¬Y®Óºo–N!uÑÍ]Gs÷Ò uNUV6o6oH¶˜Äqµt4ré>¦«6ñºÉ +÷L•Ëê•zÔÑ®èe©°0Ûk˜‰ù–<]»qçóõú`wvîÁ]ã ]ç1]¸U_PŇ"š¸õ ƒCˆ¡Ó+ÎKO».'w !`h#öÂöfnÐ×k¥K‡êÌwy.ë,ŽÄÊQ|ÎÓ§®û´ÆAxþŽXîÃKˆ{ ê—6Ðz¹°‚l¼˜Õõìsj% möÈz¸Ô=´p“ÒÕ8w¦.®3áÉz/⪫ñ5 T~z?£¸ÚÔ­}ÑsÃÍ´ŽKYMTƒØžƒ‚`Ó«™ž+Qú+ôÛÓS?\„+F[ð¸ü)ÐFîdS¯öLÔ ÚK’SÞ+zâbAè ¨P Žh¢L„sUšŠVñ"m¸.‰lp°ú£ ºÂ@áY£·]¯¸x,Â=ÇtÜEÅ +¡W4^5ÿ0û®3ƒF%““¨–oËbÌtCÏgf9{‹9>ÇêžãÞHÊêÔG-–íqÐVeâ8‰anlú(¦¼?"ÄîX×8ˆl@ŠÓO1¿ÍWî°¹ñóì&»‘«òaжhR—o3WÖM*,4¨½²Ž‹æõ#^Iµcÿ Ë>Áj֓”O÷à P֙RºéIl”â¯¼Äø;dvٗ‚ L껆teޱñèÖµ]ÅÍ« ÉM³œšóƒ5¸œäùJœÓ©½n„Ê)ÅÛˆ‚2OÅÒåIJì 4TÎ&äkY湛ÿõÁ0À0°p»s{š”Is¡Ç³¥Åz~¨—xáP¿7[Ýõ¡ãÕ.ÏL¾ë½õ<‰I7½x=¯MÚÝõʪòHë÷˚]µØx«»ódÍ^Ì ùõ@|¸%6h‚}é1‰Ä°€Dœ¬N, søÅ9[:++ͳGÕ+%{ˆ ÜË'tRëÆ¬“ç.Щ¯Ö@X ×9Âáü` ƒX"%Öà)ž,˜{bº–;dÑÐùÁøÆˆÇr².2÷Õ¿>XëÒ_¸ýçØ™•ra‰nX‡(*mTš/paVЇ˜IJ¡a€)¬(YÔÅ,lI•›ŒsyXmï´| EÙ»½3Ñy0»Èœ‹ÉÆ0iaÍAüP´ZZK=Õa®{$¶·.¯ß !Ȧ7š¤)›s Zä¼gq?‘m©R –õbèd^U“Æn ±:€˜’“šÕÓցï‰dýƕ ;˜­ÖrAË~~° 3Ñ, rÇÌpK(Ç ï!\®ÂCxëäìBû€&)€™0CX^ýîUà,¨‚ÀôÕjðTÎDÃB(Â¥`Î¥ýžV¤¬r™oL­Õpš‹Å!+^‚èœÒV÷ËOY¢*oüPÄ©=Pƒ¬s'Z"V²_ 3æql‘ˆƒÍtV¤ÉN6- Ðy!Œv´JŠÄ÷Tf_À¤Ñ0oÌp +4ÛSm—¸…‚ô"ãÚÛ÷T@¡.æ2#ð*ê]J唎G^}³™µº8‹å›/± ÓºÊ6fá=¤šü®^hl%lÀþ˜Ž;Õë—‘šç`¹zVñ> @Ð 4$ý7ÏM’ <º£ÍD?´ºÒzëˆAÚ¢¨š YŠN&r¼WiÝr“fõîVa’@{θKØQPxÉÁÍ1*ˆ×`±„aÍ·ÌbS­n¼“5›s6*‘K}8à¼Ûp$Æó9IÇ¢´@0Í :Â4f0žÐg:'(©ïX¡Ã1ÝjŽ»¬ðÇ,"JNxç²7€–­<àðS0øJ„ŽŽÞrA¾)Ti†Ñ#k(šÑâœœ‘$žu섌®4¤Ú|k| V´—´@ìÌà2¯怚àf5¡‚ñ–ȉéÕfP b„èu_¹e::¡ÀÔØ™hÔÈrr!ÐÒg֛Y úπ›«Wù°×؜zjÁ\@4b%ñŠÈÎË®6îxÕö„`³)â—+Ee¶šóåžmÙÏ…_iøt²9õ•àK0F3PØ66[½zª@JIVsM´;•Œ<š. +=©ð’rðëÖau¥K9_nî‘D²¨ +ÂM;E“©çÀ'2¬8jŸš!¬d%ä@ Ħ'/ÀP¦¹“µ¢IÛ©Ø+W±p A‰‚tÆAãU•û È8î2Ìá @9RJ¡s{«4ß=göѺsD¡2ÃC y(oÌׄ·DP¦ k\'B”øH´ÄÂQ+äïUJeùuڐf=\Œa>N1 Ñ4ËЦ(»Ÿ–nïE¬lšò.° ƒªªbúF¬˜K \»3è×¶?¦lÄô`1wá˜pÈóiú@Õ ŠÁUDæµîrT˜(“؉ò»c´$œÈ<'ƒBhKw)úí¨ÌÓò¥Ë5`³mX›£ÚÎG346÷ Nhñ yEó Y‘Äê_Äߑçwr2A½q¨ +PFhÜQ®Eê!F訆.æêyÓUW·C‚UÖx@æ‚é —²ªSX%XÃè Æ,ô‘ãDTYôùü`ݸæ#_¸ôDÉ%ò³êë„ç$‘¸Ðc„ý ó‰ÇEË §l |}°„ ® +׃ñÞS0XbñåÓ + %=ˆuØÑE|V2ETE{,e$ö“HƤbä7£ú{ú‰ê£©V± ¦40iŸ×gÆ9Àq<¯£ð6‡™‘—uú’¡œèÊ/x~°Q8GN1‰' Ôâ|._Ø!ȁÓ'Ñëæ3O6 bÑë~¾nžç+1_©ùZÅ$ *G•˜}”"@œ[€ Ïæ0É9Šrey˜Qá‰Ê¶ +X©## ÙÅýLÔ4w7½QÄcÔó»@4·´Šyœc"g¨I®4U¾¢7„\ü»HuÐ'ڃ‰9r ´ƒx$tÊ=ðøb£:ŠOæ ÷áesØ!öA“zYAx Xúà‚Âhð¦¨&¢“ƒ eéa°>ÏÇTÐdˆ³áÏççœÀ#l“b¸E¯ØÛŽ2#È0ß¹—ë ̆†^õ0òõÁ9¹Š«œá.O“ôaP\pz¨“ª¹×@aˆË¸’è ˜"XÚqá¬Á«Ì!- ÌËs^¬‚¯õ˜Ãd€à] T|úä õ8麳á 3pî”dŽY"ñ‚ &EŽRÇL¬$\´Á/& +—Ñ¿½:p‡Ÿ£0ä^L‹•_Ê`´u†!ñ:u˜~‰t\Ž7æc…MD•áÐ0»•³R–Ðóƒ%Pt –tÄ[3ÐàV¸€žÙ&Ó †Ä¨®e5ƒzá¥l›A³ðY…o-^‹ ‰ïÙŦž­'Þéi?!"X%péa]@–ðÎ*ªi{Z‡Z‡ Z¢¬fð˜óƒ5 š%ÐfÆ!†GJ"A'P‚cWÑ|eàX‚<æÀ‘Êe'%uRý¡Ã/¹™Ö`¨¯ÍKÔÁ› xšYz=ŽÀuêNm~áæ[K§õÒ±=sgŠ?zæô\ç]uÚP™_¸vÖ:€VÝDj¶ÄÜAž¢K!붃»„ýÒ͢3fé°Yºu¾Ÿ…whÕ# ã<{µÝ±t"Г·°™Ë+s»úÜð¾j›ç;u ™PNl]>CÝ0XäåÜTÌõš™“לW-|Iøc҃U/"̓ +–s[_™™ãæöº™%‰~flZcŽZ5ðt 4œfú¢i\ 3V$-í +[±̍ 3ó,IË·Õ¸ExØùÁ\¯¿:X«ûÏì #x£Æ ¸RSL'„UšéªŽ<סgz$Øö"êk¶ª–áZUÜæŠÝ\%|³ª´Ìtš™è|NYÛ]T¬thøÊ¨>«¹¬{~°”†çÒòª¨Ha%Ðg´.ThL46Z‰F"ȞÂCÝ&2!„¼&_Y䚚'£Z•€bü·¿@üúôÅAG¬*uu™„DԎa¨ó«4túh 2¯Ûd¢°«rÞ qbDqzª?}‰íã‰Á‡™”þف.<„mð%Q”€ë^B¬¬A±†=]ÈSeY]XHÔ°ÂbÝX¡>CÕî”Ö58 0‰á”8[OƒôP,ÉWw4˜iV ý”¶XBMì² )Gìû^"v@ªÛ²@U„À…Óƒ†À‹=u:òÔ  +$IEù9`šAH=UZ›JyНã^,ú¦Š@Tcë³½€ý±„È‘&?"a Ò1&qcXÊ ]d>Âf:'ó#±3d¸=爱Spq\¶qrñdÄǪ8‚ !©0o–®Þ»Aړ%h.æ¨kˆ= ò)º Šm"ÖS +V™Þk4 •Z"p™Ž×''+ԇ@sœFÞÍ7*4À¿0 ᳃þð׿9üú?5 Ë©rðÙ¡ĨWGL-¤«÷ ñ+L³Vªæ¤0~E|wN<׍€›+\·[„DÚë'Ò(”&3uæöPÝ~|ÆZiýoH¡àò L&¤@F{\3#±KÉ:líÌF$pè*"öœ 5ŽÖ‰Ê‘`åÆüÔ{Q4¹z°2q •ÕøAÃO$ÊæÇA9R@}ŒæámŽ#6Ù¾•~}(è±´Vaœ£Q­‘SZ9r 9™ #᪔5’õ¸54gˆ\ö'ØM‚ÛA63 DNVŠcIaþt| aEU9i$õ*5N^lOµöO×|Ç%Ð ++È@øÄcçù´=ƒùˆÌnÕi4R’Þ—ã[öLl±óo‰Á¦>T¸äŽ8‘k° /*i`ŒÀk@óbOê…œÒäû³5{ºü>MÒI¬! C/9dŒ©B{i·Ž= Sbq½Æ‰b<¥Q¶vӗÇçÚWN×~›}òvR‰ÍeX8(ˆ˜¢¨ !ètòlbw†oj⦠IìèÓWí1ûÂ隯ž +~>)6§^Ñ |~ÎâÔ®q:yÌ«–7SïyWhU§ï‡•wÛsú‰ÓåWµ+Aä^‡Á®¸±ŽBF{ +×Tˆ„A‡))ètN^´§ü8Kó/j7$ç¥_ˆß Z³w‹=åde…琛’¢J×+/ÊSÖüéò‹ì{Êü bÊzáÊ4mCŽÎi{P„¥ âæ”"¶óñ-{&´Ó=ÿ–|ßKB__© ҙ*òŸÓà±Óñ1¯p}´ï¼†ˆ¤dÜÌ^lOµöO×|S„±A¥°¿üê›ß~zw¿’ýWß|Rÿiόùª%ÓôšÜÓ¼ºzu}ysvñìð‹»³›ï.VÒP75è‹7g¤vÝjJjÀà÷ŽØiÆg£U9”sø/®w¡×¦ô>1„G)GóW–í FEˆöúøƒý©¤‚[[¯¤Eë>óÙ·u>~ý÷dvøÝÝٳˋ›ûÃèÉ0G2KöïϾ;ªÃìË®²=_xƒ¶?Áú"ŸË@!UÿúzúfÞàͺ¿Žyg~v>yQÚð lôÑÏ®!íWIfõ·¿ AÖ«‡ï !%D¥w¼R¸ÓñÊÇV¹¤ÆÏ>ûî3×=©}ÓÆ‡‡l3pp™âí{ÅÓ[õÓl3†œï—·ëŠlº£wíº#ÛvGë¦(òV½!fùôÊÆ;²åyÇË9ÂÆ_°>Í'Þ·é¹…`;Ir'¿ý%È U°—†@Ü·¿þö¾„1Šbkûûü‡ ;bBWUW/zQIXDA âåɑ$'‰Û¯ÿêyΩêêžÉ¢âUïËë}59©®õÔÙê,ˆæò¦yŒ +‹GtAÇòâàãSnL¼X oñ†,êµb¯á?ðÊë³r‰<Ôô1Uã41Añ¿Ë^^†:@BæôÐǎª±|^—^n1´þ$.ǽ?.¿^^4ÄòÜD–ç暭díÌmy?ï®ÀΙùK³àbÍ_Œµ3ó·tpÓ _;3¸ûÃ/u?7‰¹ë›-c-_Ó=1VÓD·RågÚ³Øu¦ìÑ#ztŽþRáxºÓ4pP‡¢ۄÿÒ³†ŸÛèɍ>ÚXH~£ûÿËôp?llp‡[záÙ¢…wГ—~áÙï[|øî·.ÿ³߷ží‚#ÜØE‘è£uŽXP)hîáøà`2Û½õóÞtvðX‹ñ\xVŒ®­N§Ûý6»(`xçpkSJývååálº1Ùß=šlÕe{¨»¿Ywab¸wÂCÛx­UÓàN!UIš]ßö~·mÌIì+I/aÅ”AÒ7tbÈ:•Ü) +X;CHáä!mÛAØ«÷©×üwÎ$â<²ßµ=û뺫Õ1Mf0܋{GŠ¥§”Ja”•^²½*ôAoý \L<‚û2)ÞÃĎÿ²(àiZdR wì“>ÕA£îãÊþCÇ~âà°_ë7pL°åIK ŸÐØ´úÛ×Vœóö·hú;ÐÔþÝð´ˆS>=zžê7Ô|N‹d躯øøŒn¾Eº.ÊÙ«¯“ÉöJ&ˆwèvhèò%ªbÎ Òæà0qZ>ëb­ôíÙü¾UZ³%IX^tŒÆÀ¥ 4Pkõîðm…¼þ¾Rµ¶ ŝøM¼°CU3ôsâ·®‚ßËðãSN6¤ª¹R—Ì B§ÂÆyEngàmCÞ¶ñœgð&0TDsÌa™´ìd>ƃí–3TÉû¸§j`ö¥ÞŽô¥¼ጫ¶ŠVFh"j[8ìåteÉ'éöÚuWÀ÷Ù9 6ojý½)j£·ì÷xQ4J·üˆ_°¿åÔa¾kÍÉôÉx!æµÉ/†âôP1‚Ô ‘ÿ&tƒÞBCš;Å ´ÜÁæNrØ×½\=™Úÿ-U”G[ϟíi¡^ò菺÷ßX¬Ø «È‚J¡¼Lûkà 'yöærNüp4Ճhøj?Gɖƒà‘’Q-°fՕ\Pe´xç»Òïö`!T€}!–Â3ÂÉ!Šk˜ÿ9$œæ-ē-_RHhß3{Ûï—qôžaz|[fÏB°yá£S"VM<¯ jݶ®%Dy.Cr?%Bˀ¥ßëH¬Lá‘óÁð~ÔšÍ]kJqóOj€ðð w6$·f‹Ë!Oªp©«//»xÚəlæÒº)˜K_^±m¶’4òš²ÎuwE#XP±Âá™Sž' `ÔsÁ,+e“Jq_R'yg×FҚâ`QãFãf*ñk¶ð®×”•¾lÅá¬Õ˜oVmÕ?ÁöpJ¦Ç9âÕ~±âØ#Ç}`ì+ ïêe8ªcó¯tE|WWollî<šŒÑTîâåÕ¬Åú«ñÞdu{²»îî«»7µÉ§G6énþå÷î-lv|°ñêñtuòb:›d÷߬„«Éܙê%¹C;×p,¤Ú0³z¡…™V¤EžÆiP b½•Dar“’1G´kù˜öZª°¨9P¢Ñ,oÈ*Îú)z F$àh~^ÌLo‰4 $g§EF3 àDf¯‘¥¿$ Õ²ÈÊÚZïXQYLÞg<+ÞðñHŠLÏ%½ü‘g›ÂÐOÆ£º¢ };CWiz¨ 9 aç{’?lZ!Q֔ŽŠ,ԁlô¸D(#ªÆÈEªê† +$¯"vtAÉje¯5euíõ‘ "VÓzØ-„–"&-aʸËÛJo‘s{ï‘ñ;ôÜ2á'¯֖-2NÐ .øôƒƒUҞgád$ïŸÔŒÃöµ^ÂÙJ«·¨ör.?A ÒJ@K+…YI˜NŒ}ÄÃ%BX¯#%•0€ \ dÇI$œ}¥ö "GK©¡U:+y`Öà™YX’2HHQ:©ÑXY[¤¡Ó\>”‰Œ-¼óŠ‚ ƒ-WÁ‚{†M4xäӈhfnDvâ½Nñ„³ynÒB¼$Ó£Þ †¦d¹šÚS”2Þ²&CÎái\Á VÛc–8Ë.®’,lŠmDr^l,s9)}!9_"ÑRñ€€àr*ðI,™J$ð)!³ êa…ÖÁ¦Æp[#¨è7«­¤‘sܐ‡F0·—þ+JÖ¤¶cÅ8 ¶çHõŠK1ïc£ïPrX-Ñ^B”؁…¶¸Áš`è–Y$¯)(*Ò5—P"Œ Q+v +£d_¾‘\Z¯Ð0ñËh퀋ȝokA¼²Gø ²j3ÃWZ·ÎĤ@FŠFYËõ"›NQª.I–Ù´%“¦qÜÄÂWÝz."'’¦¹±dîáÀ]õ„0IçW+aƒ8(ÐâJS=á±Í·RYib,²â†ÞYÎOâ9 aã(Õ?I¦dt¬9Q Õã礰±«d;Y1Y4bœ=Þ¬H6Iæ»j‰|^0vi±ÌÊH€iX[-ÃA)ÛZ +#8͚güЉHZn/÷ÌñžP8ÁðE‰~á­<OJ%Ñh!‰t%Ó¢1•¤€nÔEÛ¦I™\…¿aßl›  ‚A€Õší•ˆ V‹wPѬ +æÄ³•Uºdœ$à-¤X] R§G²Q²‹«A×ßBcï"“éxdDÀ А$,'5’ZWóö0%'óx¦TÌ­äN‘<°HˆÉœ9’¥B6]ªu³4H©W/78%/i1=+k­QO}Fã0O7}& IÀS#øγ’ÎF*ZÀÇEäɁ–©Dr`©ÚHþw2õ@?YäŠYĬ6D• -ðx +¥¥g4ŒA VÍl ̗e%ˆ(AӆsÁ†á¿Âm-,Ø1F®K‡ùÁ5ã•U·s¤¤qÌp i»ln&En„T®ê\ .²`pt•$2r$q§d–íF¼ü <3C’M“…ò2k¾íÊKúÐ@º$ b‰Jeî´b8Å(ÝèUËJum)¡u]i=ø2â@¶ˆ‰×A±©¼FòÅÌaP‘I"˜—1AWò‘©0®ÅÁªµ5=yKŠ-`*l¯Æ*J¹)Ñ¡ ¢ãŒæÎ²U8Ï0 /#jT´£‹¥¸]3¿4+WyúD2 ³,.!1´L-QŠJ†AÜÀ.oð)¨Š01в É\øEEØwF†U–X°F¢(+ÉìR ڊj&õY$ah‘¦ +œ!0LwkIä+É+²¬²J”›˜OrÅôەák;RLò/5®5©\3JòâÒÅói^8&•dF¨XŸÃhÒFá/Ò|@)I+ÍH8É:V—"‘ÛTº4È>Š•dθ Ò-íý.516,܉ø+嬧&¹¬¤þé…’ÂÈCÿ+vo%egl¡¦$ɱ (‰¯¡šÙÆüú†‘¦VÈ7Ó¶ b¨l•;Þé 'K^òڈøæû'Š cº'%¤W¨ZãU($""ÕmiÀ ¡³h²fêëÃT^D*‰·ÕH©pK ‹+EBer’ÊʼL‡Eàp–Ð2×vL”ÌR¤&Ê|,3¥’B©ñòN™¦hµ˜†‡C|ù9YcE-{#:ØVБÑÌȞÒ*þV+šÝFÂâ[I‡;ÏÄÆdýL‰LŠ‹>(N°æhܽ”®''.šJ bÀe¾ÿEãt I!×Jˆ œi5±4x«°df´NKë}ñ^ݍº¸ çŽÖ?Ð:îW"³b1`e Ii†,ù¥$x¨„7d9ì£qÑB½ùØÃmiç S?A<‚FUZfK¬EƒǴ³’çLÏ +°ÐªRR*‹ô^1{¤„Ìá>E¬{ÁÐ~Çz\q‹*o|ÃHDF$²2P”©ÂˆXµ­¤ìpCŒ+QÊ2ºŽŒÝ¢8½•Ú"½†±¨¼{)¯Õ¸VX>eLD— Ô8-‰¤ È*يKê.•n·R¯ƒ…ˆEØ2Ȅ™kÑJD“b¬XA[SÅLDuÓD¢S#·U,‰‰ƒb™FkmQžoMI·c–î²3‰Ô-¼øÁk."¦¯¯âMI%,ÂbJ"\@.áĕՊîž4ÓêwNt" S;2‘=S3ӑgÐâÂT]²V +ß*~• )›ýh¸‹¢‡õñŽÈÒâE¥b2¸€Œ­È8¬AÍ´{.â2‚ˆD-5°W +6"ÑB¥FŒÀ6hÕ ¯@„*.—üRð[0FMµä19 £ÿ%$å^/õK„ÿג” ifÀ‚›—ÄtLŬP-ñ!™bªm«VT[w̸‘<^P2$w«ò9Ê7”[ȤЭ~rVrßPv·zp"K!”W@=ø\²¿¦:êj€m™IlC+\;Dk½ÜUÏR–švßIÁœ‘Õj"‚ˆcˆzµUe·Ö[Cœ¯h֚e…¦=¦ØPñ`™[ô£%¬[K5fM›ÜÌHÐÃþ¶\j*%Òb£YµÄ %5>ëŠVØs •/ìaKîZÐV„SôPx¨–ÑVžÊ ‰îœÃ|%Áõhé0jHz ¯Ó¼X(+6EÕFæmóRc^ï2ÍÌÂýc¦±Î `281ÏGC³„ ¹®ndë)¨A½ž3„ÐB/ fñ šèØ¸™™•Š4çUJõNšè£4‹lÚè¦Ù—:‘Ôx æÑÞÎ ¢•¾©»‚3ÝZÉsÊ[֔Œ>÷¼G4¥Ô0ÐZIY‰Ô¦Ì¤š ¥If½ã;‡Vý2% d^ÅL|ՒZÃÈ ë|)¦YºçÒ8Ïê:Ñ\¿!ù;QÔPŒõšÔ™Ùº‹-Î )u9‹´‡Ë¦ê£YÞ eCsµÊÃÜ,Ùüäz9+–èuµÉCí×ês˜w´q:cÐ:›ó'Õo¼8˜ÌbÓ7cǧm>¾Nu×ý4ÿ~ùF"§϶vF÷dz×û£§—Ú:x5j—×··6&O¯ôžûÔùö´ÁSE1j™VÒKg¿Þ“_ù¯{g?vv5@¿ö…$"­[ƛÌiYn5ÈÅU©Ó¹üÍ£°¨ýƒîÛ+ܹ'¿žY–Jð¤ARÜ­AæyŠ(ð£è]ݏÌ.ÀAK’'öRFµ6Ä|p)¶í‘C¯\ªŸpðØwD6È~LƒW|ӊYÌlàä t´²5²Õ‘é‡"#ǎûñAöc7²/å%×7¬‡+ßVÌ‚©ÍÑ;¾âtpŠô2xì»?"d?¦Áƒ˜a%œ—~@RúoÔô¼ÔÁIƒÇ¾û#:Óÿ±ÜԒ ‡K±"ý&ýäÈÁ½n:ls¶e#š¶ÿc¼Dz3&¢ DïæÎ;£™Z¤×Ç%PÄBCTÊÛy=f,$gnÔÞRñh¢H"µ9 µðZŽAŸ·rm~ú©=¡Ú™:(I,dÐ2^Þ6MWj§‚ÌËŽÕ“#¨ueŸ:T­+»;ãÊ^3d…¶2h•è6ß2… óQãOy\é`{“Š¿sLTsB‚¬*=ÚB˜u!Ï1Yîë]å +ÛÉ%Ì/ޓXÒ¥N’@öcL³ý†å’ß<…7-—”ÊŸj+{»“ŸF‹ˆÉ¶é`ârÌþÜ6aA`ÀÙ¶£k${µ‹å~Hê`ïHÜ(úÔ( +×v@JÉ7ÞÇòÈÍ!œÒ?a‚œJ“¦‚ ˆ:åHxøÔÃuÕíâÛD±ÌFž)å?*”!S !L/W.u@(">i$¸UŠ”Î¶®Ƶ“‡ãË_Vó zŠD LXR£¾U”ÇÄðPâ}NJeH7a‘ƒSÉ: ±ðÄLËÕñ¬Èñ.‘fy@Ð5&ž‚öÅm5yׁ"rµ(¢*˜½O›ºmýÓ¿UæašN4ªVùHÂXYkr͔¯½V>JºC4aːVOª°i»åý®w,z×òãfŵK½ÖþɋQ;y`ÝVÚ¬c¨G˜Q¼ñR& ¾£$Ùö,Žd3)!GRÏÃP +%ƒ’H¹C€ +eVR°2‚ôS©÷ÜkgÍ /+K°é½CD·v05> Ê*]€mw¹Ð(|z¥?ùŽH}ÃÞޕrqç€|ËNrQåõÌÊ$ëå*2Öï +û+»g¤FAd3Ù5#Ú¡·¢ê!'5f€ÃQZÈp½Ô¢‘ٍ(Å«™Jy;è_§²ÃÚîãtMÒRW¯w«KuÎç参ýj¹¬(ôGH¾ú«tÃÅa?£IH*R iW)>ÛùeŠ¢Pïø”q嗩”ډóg­«> F‚¢žJñ茪õ¬{¤__Qú,"éÐÔq’´å»ÉA‰+å@e^èLÙRäp´L9“QS&瘥„dl¥+èxrº99O.Åóªÿ±hÞۗ\zñ „ëFOŠ(EYÍe’ ñæ–ß—^î%0Ü£™2œe‚Ò‘$«cq¨N¬ê$€©¨EÏTŸ¤®ìǪþSdÀß<…7o›B5½å +.;¶Ž" ˆl( q8)͓bºÊøYÕòiÇ÷Xc– j’ g X4MÔãbg|sëJ•-RtrRQTìJA¶‰RK‹DPD¿*oÑÙæ-„è…| °ìϤ\‘ú4ٌKÕ¤²ue “]ÉXÅ/cgq/KVˆêoy©Î¼Ùєâý`)å¨(窶݇UuÙÑ<ŠWK“€HŒ<$‰@!#”(Š”FòóÀ߬êˆåSÛÈ…rUêÌ>e,¯ªfYYU&r ¡ÇÙ¤cK”`V„èéäÄÈ*3 Á–¨«—d²C cÍɼG)‚IP$¿Rê“ÓëpÂ292—骔´äb#Ñï@Ù¦tÀ´yô@éo±˜GÁüòù‰$Ó;TfäO DË«y41VP‘¥Ô&¢DjÏ!°ñuoèhIÓC†ß¢,ÂI±µ|±ÕMoKrP®$`¢Dâ®Ïƒˆ& +–Š&È™Ðô6[A<~§8=„ŠÊsw`³kÊ9 U½¥PoXQ“‰OšÂ„\…ëiU:å lO:`Ú»ØY·ÁiÌü ÒÜâq•í€D8qSîcS¶ö›Jò[ÑØÑ±cKÒAÛ¾vÂEMò䆏ÛRJàán”ªBàI/’|/®c±®Ä–#ßVK—˜uö£÷Šèð›§ðæÍG‚(—Ë6{ÖBùµZ`úªUÆäÜmzÕ*¥ê.AéU ±¡ÎŸÄU:¾0N'"d8H¿]畱'ÇiDŠÅP|N×FY“âzÙ¦—­”·2`éӗF .®“Å€t/\ñµ@}á*¥"6@ªØÚn‹: ¾paˆZV`§§¥™ù2ÛÄ®DÀøÂ…]+d׊$gËÓJ¥siÛA»J77>p•j¿Ã¢ÒJ×X9¬øÀP+“‹\à¤:ßî þoµ ¸¢â>p•+’gPv–èFòÃ·é… YOuËãÓU|wŠ ~êÅW·ßNjrpy€‚Á\º{ã»§kuµÔ!7N߸¨ÉÞ¸2`|ãbo„軄g•[Bº'.ž0>qéû"AútåÅ:@QUnûͤ‚‘€Ò#]Ãç$€l&¨9™H|á‚ÌхÓpñL)”^¸¢ÈT6酫T¡ ›Þ%]ï¤-ÊڀéW©ÞÓØ¢"^OÑ<‚âWÍ è¡è­Mªi¥Û–¸ÊxÌMzà‚Zʆ87I\0>p•+eÚ]ŸDõàî6Ajµ]E-Ä«d:êFA ôÀUj¨hI ¦÷;Aé­TŠßd«ìÊ8™p÷ÀÅ8Þå²NW^ušŠW†Ïνv,ÓÍÞÔðãõ··V.t­{§/\^=‡(¾pe î…+ÛøÂåõ-¯lÓ —WYW·Mó (¾ŠÔ^͆éÓUFò'.)û—µ+YI@‰pÓcU˜QÑÙ[h'ëã­)co.ªm}†ªO\k‹ØdEóÇ!À XÙcÉ0=ÖHÌW%?8Ÿ (5¢©Ík +¡8uÙ0«)v"ˆŸ"v9nl2 Yõgè}YbU-Ë|éLâ #€çdôËÈu¢¨šA’Y(ƒ©ñL +{*U7qÄÚ)‹hº¥àÑ`g‘y@ jÕ³ªF~)nÆ¥S&ÊG‹b ðåe:ä]$Æ^GªGÆaèV-£¨ªá„Vªù4‡¤“΀ñµ†U?•4Ôñ°‹JP2ìZ=9ÕlUêk’‘ØFFßôžkŠD{º÷Æëæß"n h{8‰¯•‰tJ‰5±]z°‘À(.+>Ø$Pþ`Ó£QŠåXH†+6“ï \&RÙîÁÆtÄ-j_Ü®Ò}cL[ÿðúšPªé4ÚDHþh“`Q´g«Œ4aD½c¹$ÊÐõüB• $ëmv¤ú©Ì±wø0X; ÆeÇ×r )Jß#ïxShêÀWC^QJþ Œ¥¤=o³G›”¿Z$`²ß™ÈŸºGC·ÏKŒaùëTãZÆ^K=¥oNW§í9R0 +(ÿXóõÙ¿DץšBlOœB¼=¡£¶QmÎ\)úbL÷jS”%«1²dÐÀ¢qª’ëšNÇm ‹R¨¯@fº!ä.Hv™Ò%£ˆš?$¿U²„d?–îO±Ëüæ)¼i»LL1ãªLRŒ¨«3InaÀA“j¯µßëìA®fv€²û؂¶Kï{R3  „L+’@I=b椺÷„(—{;ZN9Dzz—^uï^8>frÊñþ0‰,,Þ²”ÝÆ˜n­8ʯ6}QN:#N‚ëŒPhʂ:#'òÌAI#µ,®žúg8²¾ën÷Èr˜&Pl@ýtF Gg[ù0#ÇÔÛJ4;ArʁQR,%‡ uç%XÉ\sf" çLL'0Im—X*jw ˆ^´hD`zeg$\þqCסÞâRédoD4˜Ü'$×,¨çސ€ña®¡¾ +Hz˜“§}ny÷2×ÐvÕ;½qùù1V<¢2O38{1 ¸ºçÊ"™Q\Õóî‘RÝeE¤(ö2rǼúlº*“´Xj;•î¼fç ¨PEÝŸôS†OÚ5ŠÃ]obÙਮ3#HnŒ|vb`â*]ƒOâZ£ùŒ¯µ½]AÔd1Ü?èþE;¤ÓHv"ž%õÜÊd¬j=ßÎö!â7ñ@¤Eß]½(-æ ›™î"0"Ÿ×àÐ E1ªk¨ŒÙ×Cy¸ü×¾w1uaÍàVÁlⳫ¦P·û¸»-iˆVòÀä<­Ñþ’¥§*X%q1åÐ+Ýuy×Ë(T˜-½=B€uÓönU4õÎPùX~«P9sîø%кG޽DÏ©Ðgô=Œkê²Ç0e©·ðš<»ã)iÓ;ƓƒƒÊÊȼ¾”gìùÖLäЙL²muìÓ«GOÆd½:>õ8tº=9‡öÐûX2!xç#‡î[üw2¡‰©"ƒN&nhëïË2÷ú&1c³óÜÉ-X*8M:! Tqkˆ…Ô…Jƒ:cJ)F2¦tÌ˜’€ñ‰$묨dk²AéUM"qrZœKPڕYDL‘q¾$…×Y»$ÕnðqCzˆt‡ò©h„nÊN=겅e žÿkFáÔYçGyRîn,!JÙÙĀ™Þ ¢^ýà2«y¡w›;­‡ +km‰™Q”¼* MH1Š“Â:DEÔ»FäOj¸Óv)ÌCT8 s¯:ï|p:`][E©ï ´¢˜_#™2sYž÷zb4ëN÷ox·)¹BX!EÝPÊ(י–èɲ²[ï”E÷n½“ Éù­wÊݹØèZсҦäÀ„P—mq rê…SÃfvdѪ“¬ëD)‚Ò…àœäv6ȜMv=G G« H{‡Àœ–õ¸[2”4ȆÆìUY3€?ÈY -&Ea!0 ›Ì:UvH×C».ÚtÐُîωÇþÍSø³W¬Ÿw\±~ÎqÅú9Ç›‡cGÇ뇎+ÖÏ9®X¿Àq¥ß®ˆsë;®X¿ÀqÅú9ÇëçW¬_à¸býÐqÅú¡ã +4®¶sÇۅfG‡ëçW¬_à¸býœãŠõCÇ*—™¿9W¬Ÿs\±~ÎqÅúŽ+½v•nîÐq…ž~à¸býœãŠõsŽ+Ö/p\±~ÎqÅú9Çë8®X?ç¸býœãŠõ WzíÄqÅú9Çë8®X?ç¸býœãŠ-8®Ø.8[Wl9t\±åÇ[Î9®ØrÎq%‚¢5¦í7‹Ž+¶œs\±yl¶:®ØrÎqŖsŽ+¶\ฒ¬\‚HÄ­rÎqŖóŽ+¶œs\±åœãJ%įšA;q\IÖÇÎphËyÇ[Î9®Ørè¸bËŽ+¶œs\±åœãŠí‡+‹ãŠ-çW §ÖÉ1®)¶\à¸bË9Ç[Î9®ØrãŠ-çW¬›s\±nãJ¯¼uÚrÎq¥·Öè¸bË9Ç[Î9®ØrãŠõCÇëçW¬_à¸býœãŠõsŽ+Ö/p\±~ÎqÅú9Çë8®Ø.6;:®X?ç¸býBÇÊ1¶\ ¥Gàr§ó÷µôˆŠµ-ç´têRÕ2§¥Û©ßël¨¥Ûr–à@K'>öµôêiéØÓÒ{‹–ÞB´ôÁTD±Î¦µïlah^Kïö)ël ¥÷öä(Nzzó!÷!ééÝSwRÀ+õ7¶÷JÛÖ²û™>ßÊmÍ B{Jz:)å>%EÝkÂ4)¢¢gZòÇLQ÷ª‡0…|¼“1²7)ê^ãªJŠºWÁ@ÕÔáX ïðIB7MJˆ/^ Y»Ès’¦î¥lpz?/µl@TÔ½–[ÈÍA’¢ž£¢Ž¾twUOLj:¯\wÕº^6éé~E™Žz¡J™’¢+Î?II×úÃ%kO-{œéè±²€Eœ™$ô@ê{eëUŒ«7™Ž^Å+œ·c]Bö¦:z¥f¨Þ:‘n]ñ#êèÕJC^b=ª&e NGO@uôJ͸{ª£WQlsBõ˲ÔÛuô*‡KºwF:=l -¤Y;¸\4BðªD²%¹ÙP‘°^ÌXÆ%ÝÇlå.éèCVÚÓÑKu 1¶ç2¨¥ê\Ïe°ÍvY:õs`:³M?Õ Ä +{Lš«T°Ë“yµÜϦu†û™ÀD\ì}\Q6y&0É jú™À4t:Ï–8N ݁2Ö˜’iÁÊ,X‹ÌäÉÀªF™•Ø™¸.«”¾Ë&nÞׯø—'c•AûÜõ=Ï (6“g”ª”*v +}U”ažj»™} zcuF„’«•ØeSæ“%«ŠB¦‘gcjr“7¼J|yN¯øbÒó,|•µKnÞÊÄ:¯A£Ø‘y š¸G¹× D€˜<é’¢˜<5Så^ƒ0z ŠŽflæ5(¾åÆö¼M¤´×`ÑQ¸dB ×›±=cK«XÔ;ýV¯bî4(ɳL?%Xä%YJ0Ûêùûd‡M2AžL çi¼¤F§ÉS}•E›’µZ÷ kWë1v½IbJÓO +–„˜nvò¢fò¬`Ñ£°—¬‰BW¾+’"Ä ’@y;KÂG:•Nó¤`J)úYÁ¢nŸ½˜UA%î¡ÊP*;ԋ:v† ‘â÷¹òÞ ¾Jˆœ®…Xv{w*=Ïõ\×ƒì\»«’\©Vôo·OHÙØ£’’¹ &Pî2Ø£p÷:s4Ê>{¨©mÛ»Rxtý+7×ü¨õÓ¢tC* _Ú²Ðcß±·°V×9 £õw"ÐzÍ}váYò.ç*iÛ]æ4؁r§¹LNƒÆ}†çEºë3F/¥\sЇ×FÕíä÷WTI¹Î®”Üž~f0‰—Ì>Fª5£¼¼‹ÐíìX­,ÖI¢R䢇¤Úî-(Ìô|m'&§×«O¥.XÍГa DíˆÙk«ƒå\1&±:Hö‘€ÝkDê¬{HƒvOÙäâSUOáìFZMHÚ»ÍñÕ¢wã»E½Í-“½F˜Ji|þ!¥Â²);–ê-,åBŒ‚Dꬓ6Lg2¡Ä”QRI‹Ä7÷$œ"r‚<S {·9æïò3 EÝPËÌǪÆ ¶1¾3+ïs™ý8™‹:ûqÊìǰ‰Ñ•’â«'ԖÌG4~µ&l/]. PõDi-œØ—ÃÓ®ä¦â6~z@«f˜Î€,É ³‹o£n˜ß|‹ZPý›-·\m´ w Ì‚ÜÓåk¼Êë ¹‰„:³ 7mÎõȬ¾‘fk¥fdÅ;Up±äD¨î=ÂÐDZ`~¬ÕšÙ«õûòÙ)è¯B =拕üè½-é@ÙÖuÀD$-¢‰½%.=HX)UÝ?Ø´†îø%…T¡,ëîÌáŽÄ‘ €INFŽ–-L´È¦ç˜âDT2ú›!SJ;’uçºÎºíMcæÇ1"V'¤#5bv½Çˆ´ò’ÈØ=FdÀœ’õ˜[zŒ¨ÚZÊUAÀ‘Z‡‡ö)-újY‘Et+Bú)¯ºL•)Q% ûKß¿.ÿ9)3ß<Þ¼¡Q¾ÙÀ¬&±å&hÒ¶ A%¨À˜åX’6Fo/ƒBªœ&…A†‹L_`1r@@ç݆‚²Y˜²@‹6yö™FJ"UòÄ m…¡î|à„“2Ÿj‘R3£í2Ë ÚV•5Ç*‚ ¥7Ú¤4ð?ü¾q~8ŒõÔLMGŠ‚UÖÆ·z™åú’ë¥BúûÙ†ÅÞºm•¤Ãíoœ1Ãsb-­ÁyJl‚Åm ‚2ćJ–·ˆdw®¶óχ@>lF LRlÛ 8©V Y0Ÿï\à„Ý2eŸËöKÒú $õù"I`ÝØ´Ò<’†DeTŽÍ0iH÷¥˜äìÀÇ  ¦‚¢OĊÀx•ˆ½Uä#èa4s6™1ÇK&%û”ûÁDqß(_~vN"‚6d1Ÿ‚˜ÃÉÒ",ä{'cGÖ;?•µ´‘S˜ÁáG²Ó´TÖ£;‘¨^yS§qbC }L@­ÜÍ–¤ªéÍÛiL)֝$ZÜD0ARG-Sb•Yñºk9(ßÔ7'éMO×$kp«˜Ñ¤‹gwâ°ë‰G¼ÐBG=œJœ<Ç)ÝmóoՍ C[csì†|-ÛTuI?„wW¥ƒt‹ï`/’:J<Ä26¥7v€P)›x~0^w-;>ñ6ï!”‹éqû%¼Hm]—¹p +µjŽæ“<6’r…È„âÀT·¨‡‘\èðP©•¦zO¾ˆõÆ,*´ó÷ f< >mt’$<§·Ø/#0㣳LY(K-ò*[RôƒI”¶Hæ|¦Z.¢‚–`ç蠉àCaÓR+â€c¹tY;Þ“ìä,Щw|Ÿ…:©K?`¡N<úŸËc3™¦JrL3}þ´Gñ]@Æê®"üT°Z|¬}&nWÈXÍué×õp#jK¾³éŠïÖIϕàá‚×Êud§’éøJí‹Y[xcUFc$܂ #Ea;™É…]#¥V©2-Ž…TE¼€ŽVK •¾O\(Csû€º*¢E úˆ°nôÓ¨Ý?£b}‹Çj‘Åõ3”œnX*ôñ$Íí ‡ÿك|S´à‚¿ãúgD.u”íh‘v´õõØ«NîÁïrf=ü±Ò‚ý¦ßrƒ5áÙÇ.ˆ!UÖÞEüé£T‘˹LÞÄä}ä+H̦·&Ót¿'Š˜ä-¥ŠÆù^‹r°/eD’º‡moÞm6ï„ © ‘!õÁßò)q䦤Ï]o—&Ñ5){}”ýy“2È[¤™Cš7*±ü!ßï•hæ·aîH¬ë‰Íõ¬Ž1f=åÈ6‹lÇçÝ{ˆ$Œ2aÙ<ðt“{˜Þ›ud›½eTýý`è‚6´‡ó(3@ªy´ë¡eïp„!&d˜G–:Í#\!{ó~ÃòÒ[´x£ÒÕÿzýNéknåÃèèÔ™úâ̅g×nÌnnm ÿñì—Ñ{äG×îîŒ.߸kÜÃñÁÁd¶›Oãñ/{“+£wCCÓÖb8´.LÌâÆ¶ s¿öh2Þ¾?>˜mýšözk×··6&ëãí­Ý—wf[›ŸN~‘Ãg«Óé6[û‡[?O¶Nf/&ë¿ì<ŸnßÚ?ߞ¼Ž­ÍüDoý¼7dSÌ:LmØËÃ­Íɾ´z?üÿ™vtùÊèÉWg.„¦Å³[»›2&/Ÿ­†ØUÈå/̦³Q˜úÎäJ8³áÿŸütæ0½V^žaõJþóä—ðË'á‡ïˆÆÄÑ7ߣ̀½OåkISÁ*&‰B\Ǜ”ÑÚk’‡õÔ됖ýøÕøzÞX[ªŸµ—ĉÍp´µ3/ÂDnòkQªFJÎQY±5l¼U ï›Àn[>5¶Bü*ÜmEb¥sø†PUHýfT3@Ͱ•mX¦rE^*ºó3øË³øl…DÌÀ±ât´˜xNâg\i¶õ5¤¡æƒÇ+}RßzÃ$ù¦€Ô"@*T(±ø†)5XøºÀDêSÀ°´‘È ÄL5¬Àk¤ôáڙ +*¬Bë%µ6ùŠSWÈêЌ†H³vÝ +1];cY‡I ~;žZž¥[)*yTµªß”┃Ãd†ÏVÍ6…i%¥ Ûӊ‹9!¶›ÈÌ· K½…¸OØ»† wBs–mÄP6rñ=£A¡–r k¤ër€x¦âh˜ÁôÆk ÅÙø*cÔE6ì$WŽ®=Ëu#h¸FÔj¹¾°u’”À ˆví~ãüÎÓð—g…^/ßïñÀŽÅY§XR!¾ÐwŒ9T’—p.gMÝ:p´±ôZ<#́Õ"Y ‰܈g +±Fx¦ ·†f ÛÂèÂÒêC~ƒ÷Ýpæeô햋Á¥\|#Nüe¬ R£Ì@Í^úÓ܁zRtW#Ä ®‘±2#?木J;ê> +Ø®Óڙ°1âïDH˜Y«‚á„5á5ËG¶á¬Vy-¯Ã|*'ߢI@™Êj¨>vþ ázM'Sµ’€5PŒ…OZߎ|³"c4­1á ßh’—0> ÊÃï¡÷¨ L¯›äðÈëF–²o^k¶Wx_.,~çû–~‚·?`{eäõµ|S´ŽË|ùXT[ZùˆÞH(dșY Ç©€vÖàcéײ”©yÐJ¢ÎÊkÞ*_IJDÈ¡, +¤á‹Z|‡<žÀ|è³^©K â­Dg†®„y#OšüFV"uFÂWAûœ¦âµ¨y‡N}Aâ'–¥†ãñ~VúDnQý¼àýL eQpH„¼b`~y8pðL¡”ähˆˆG± ôKÏ–=mæâ8ø/D3âGv‰[á&@uLˆ\8Ì0[‹×Ї«omÉ1:ä˜4²•@ ‡_æ‡E‰@¡”V„OÊBÊÄcSÖ£*s±o4L޵H„–KøŽK?’£tr\,"Â:'pÙ 7µ¬ÅÕâ\ÉJe@ê v€¯–ØI ™–”¢ôRoŸ´Ö]":ã`RpE(+¹x0‚1tV€æ4n²Œ £½f¿ ½‰ûU¸xŒ>’jsä}¾Zì^KÚÀÖ謏‚L¤ƒëVø¦ª$gŒ¡A¨‚˜~w "'Ql04¾ W b˜×º˜•ä ”'( Nnîîµ/ä'¦«RÐð0Œ¤G¦C‚'>*„õԔ¨„¶‘P@&â½AòÖð¶¥nc‡À‡H *¡?µU‡öðÈT³´QÁKÆá9óxMk)ÍR#‡9& €2!Œß ˜9ìK¸ +Þ7BGK8S°ž³•Æ5³èÉ@…«‡JúÎ9à-:\HA_™l¤²’LêX•†j+ú­XgÆËŽeãs!ÎÖH ÆR<¥à'»u¼MÝE Dwם$µE”’^´#Վ×µ_|@X,P’2ÜÐfÉQÝHWu)¥Òär3Ҟ´¹u¿ÇÓIß>'ʬÿáê‚+š)ž%5“¸„W²BÝ6Ä6B‚À_J¦\%.âuÑÕa@=ŽÐg)òŸ+EXªÊ•½V’K«Ò(é8 x2h9¾qM\0ÝW£‚†ΰÔ_Ö>C‹Úë7L‰QiPŠÓ¢•…l·šHDAXI!®`œpšAR,(U@¸@°IYE!€ðe%Ê„a Q,)ˆ¥úŒ‹@‡#œ§É#€³¥s²Õ:äÔf3¢JžƒV’ŠB±ª)‡,ۂžW“˜9¦¹¡Gj…ô_Ì\:ˆ£»[¨ø˜É±pˆ"ÎSŒ¨­Öê'sÂæ«Vre4…DpâSÜQH·PÈ…[ºãÕÔ© Û3Ñôêº5| kRiÎ ´¸Ö°k|¢V@jæb¨‘ æÔm`¶?Ò)ÃûV#g¢c*ɸ5 X+Ö 6€ˆPI;¤vJß@R䨓5ðä/!'ÈïÌ1Æ6„߃†D($•A ù¡ôC +ýð[Ul €1ó Ì¦An[¨) R 2H£,#ú[5˜(´]+bV$£1ɪfÙhVK«ŒJ?‚Ɔc`ÜCHã’MØ·“Œpü{gíw>h,ð7ô‰€YAæN5¿<¼Ó -{«uãåbðúiMñØ °, O}‹ÊT6äßä‹hÁ¢a»«.mx˜¥ÃUõŒ…sš –ùs) úqÃÚ8•&˜.±aø{ócÚZÒa¬Ô$ɾ¡„«‰ °-ðvL«.ž RT²mKƒ‰ì´FãÀòބy”, ãEæYJD2‹s„šX +~6%‹oEmX;cÚHˆCNEÒ³„©e˜aHu *%á §ABؖ ƏŒ‘èL8•–N–³) +k«eà\+©|Áú#¶˜@'ê+GX2z+lu˜²TÔՔd¿¥JvÀՕV‹Ö(»Ã- X%mH¼-KS€>¬†d¥d·%A5À8ŠŒ¥aˆë’r”0&5#]ʁÈÊÈ +\RÚ  ÑÒQIÒ¦Ò ·ƒ½«`Ò]ÓÍuR·\»dRÚGx%¨®¶Z)+^-1×I˜m@¥°mŽö‰øûGñjÙ ¤a!B9D|ÖÆºØÑÐ çÚ'æèæ²L%a¡àÉpŒÄ.D|Ñ<­PŠˆ–6Ö9öØ’/ÀœÖd@s¸±¤mH7D;`Üù е”½ˆüËɏŸ‚è¦ÈšqôÃu|ô©T:JôaÛa8Cˆ–C©V4r«UÆá4ýï2# +k!Œ¦#𗕐q•Ysî¯rU¬dn¬¨ïO˜.¸““(>’[ÁÒb/ƒ&ök¸2\nI¬ê S¨Bögñ'¶I9a`Ïr%öHSI~X‘÷4“N%J8 b 0±æsÔ³–M-7“´Ñ·ÜÇB›…& 78­BtºVòƒ!‰±š°§¤Iƒ·KRT5¢GBÍ»á|̈IáЊSϤ­W’ã:Õ̓@(…Ôl!D¸o‡ˆ=Åwµ†…!± 栋¦“,a f ¹¬N‘œWÒq Zf3 œÒp3j§ïP?êÒêf¶ŒÂ‡0A«ß@uÚW »‡Ù“)UÀ„k'‡×j¡¸ +µhçj”ÆCëgæ ëÆW*T0[[ʶÚ²‡?Ð6j¨6;'Õ4ñI+o ø‹Xfµ(tèÞ;l¤­%=1“H”$úLä 2º‘”´$}6Þg«¹¼³=°b*±1'ÚÂN Ù\R‘)#ßDra +/J>"´Èù‰ß Swâf„cAޝ–4íçËŒËÞÍV„‚†CÅÖYyL„ɋæðÖRËóåÙ;غ !9«%Ýj(©bs±¡E®TŒ¢ìì3ÈOÀwϺ”çvË'‘R^1ÂTã+9ø3lxYw5ì'°µxFo­ +Y Œ6Šg[ãå°¢âYƒðM=\ÅfEbãDœh@]K¸?ÑÌˇcŠa¾u#r™aœl&5LH1el(VÔa¦ +¿3‘ÒÑÂÙ@-lAí¬— P ‡‰þ0µ.¨URFÀj÷dZèÓu#·¿ÃK‹փ$U™¥Ì"Ô5,VG HLxS†í¯í»þ­¼›ÂöVdº&Ø3ñk¾‡…öÈ쏓A ¡Y6´Š¼ ¶×¢ªkg $—ú4ؐ.ô tÄë¿ÓšÔ•6¢Å„[ˆ‡¾pT%)®F›pÚ°ËP6Ä…¨º¥f ÇÃ6MkñïքeÃæEÎ"%ï*4I¼°ái¸á‹:uÇJÓ+Â(Á››.*ìH0¨Hp n¡ãJ-FrsáÄJJGWÉ»Q¥) ]Ž_´%ètà§¾Înµ“™T0ԇ³q^öȳx{ëi7„» DÊÔI ¢!ï¸ÓÒ L˜»CiÍ G{V6Á^ÍÙV„%V0 ‹‡I+Lz%_iÞ¶È(@5Wž÷„¹àY:ì?ˆ-X½.ö6.‚Ïg°Qz®i(KnO“f…Z¶ÉJÌ2d&xѹB +p•RÍÚÏ ™¥Á&†BN8 +±¤+éÛàWdÕuP#HƐ(Z0+øOù"Ž' «Uí±5‡˜-²lä7“8 f4çäýŽF7Žéu µ²V žF,ŸxbjzùÂ\¦ø +¯Sþo z¥œ'áÑÛ V)3ÇBG5ùèrQ 5ÉÜ °Ù¸¥i F6«¦æ +¹èh5­1ÓXîý"l!/ƒü²~½(å­”+ -l(°áW:ÂĔÃtum^CÃÄøˆŽq‘,'üÎää%ÊüHzB¢ó3% P¯D€Ä¸¾¨iž´"QCÀéّ˜b©&Á,QQփj +®f¼ÈPzq +Æ ã†@AæÐVbõm…&¾”ŽøìÏZҐD+6Ì«Žˆ×¼²VêÆŠA0 S 9©‰Å(‹Ü 0'‹L†×€2ë2'SP"kihe¡¡´f §›%ñŠn q Lñ9Ãjáçn ýÌYóõŽÏV¢Ètj좒وٿ„ÜÏ_’R|? ¢–NÔ"Ú£xÍÅâk4íc¤äPï)®s=Tªi +¢äWjZ1«õ»¡ðxµõå$‹(¬úˆy %šÆ +®@ԟ`ˆóÑ¡H¥z¼ÝÁfÌ£Ðð¾Qk­rKÏ@|ÓjR`¦ MÀƒL#fÁ>WüJ5ãX+"N´ŠáÆâ靸¬ƒ…<×VŠÕ4[zšŸ’”IÏi° û­TP›{´Ycö¦›A¤j S%¢¶sf.Óâ7£–|$+܍VòtD3Ð8ž«©oPŽ (Ï »çÓU#YRâÛ9cՁ)@jÐAüÞ©A‰E`!äÚòäÉ´2Q˜©u1Ox˜«á“O5a¿H¾»âÈÕ.Er<Õ’Ê o ±61Ux~­–Y:)^õ3ª  JÄ"WwvÒÞHòŠ+Â+<Žìß­µæ‘a~aúaµÙt*8§ñr6 :Ç0¯:¤¡B´†­Iڃ…>ÝEç*]Œ6¦;{ÓÃÝÍÑþ«ñÞd´3ݜd~ÐÔ+\¹lF@/P¤Š2Œò÷q/ވ{¸Ç¯Ï>›î>œmí„I// ˜NãùÎ|¶‡¿4ò—‡Û‡áßžVpæòÍéóÉhuv¸ÿjt¼;~9™Ì6'³+Çÿm$\ooo½œ÷^mmhËÇai×F~´w°2z„¿6ßöÊhùÌåþæø/úÝh]„ü8Þ>±½ô=lÊ.Ži{{|ÛÔ|°ÎêU¯Ý»x5žmLÇÛ£åÑíIh1™ÿÑÍ­Ã)§FìbSäÍîO÷bőE8<}[…»»=á—÷¶ž‡kþlm=´ôÏpð²Ïnwÿ[+9cÂJr|į@PüÙK + ±0òÿÇÍõw í¶rà ®†4‚5™SЏ7>l‡ô6hs\eËÿé?Ò i­ÔpÀå +z ûgìñðteàîlO±Þ7‰‡‹(E˜×Úi @;º6úbww¼3ÙU×FñìÔµ·ËŒº8 “~ +?ÿÎm}ÿÌèÚÃñì`A/ë³éëÉégaù‡í3ý0ô˜‹«a§&Ó "mâÒL÷q$‰ÁàdrHÞá>€=µ8(4bOq/À?ù_üÍÖŒcOn,ì³Hˆ•û +ö¡Õ“Í0±É‹Ñû£3£ËÙ$ W¾?âœGù¶üñl¬\$Ý¥/^ìO®pþG|¯ÜÝÞ>¤d?­Œ÷‚„wM0?|4QܼÜëtt/àéèÖ ã¡õ㭃ßsN—ïîîoAÁ…K3 +„mo{ü‹üz刣Ìn­9ò„‚2ÿÛÏ(… +\Ö'¹ø°º= ŠÖéÏïX4fgÝÒz.1Ej¶|™ÝúºŽ˜ÿŸŠÀ…7´IsûbrëÇÉîƒÍM¢†èvèÁÑa¸Ã=bDùæ™Õçi/G–Í­IP"™érÛ1‡øïUÄú®®f›œæð—ã<ê?GþgNØW¢ýæOøŸ»-¥}ƒÛòÑÉSnÄoºg®Ýúy²qˆ9ðüv‘472µÿ¿ Ñý_]üÙ5”+8ÀÌíDÑG"–º*Qò¡”ÚÒȱ`à*±H¼1¡%%HÐî~“|Sü­å›HpÞJ76ï«ÞŠ7o‘$C’¨R­¾ZŒ/í•Lçê°öæ¿;¾ø?Cøü¬y+/Bý·âðï‡W'?N±O_ü£âÿ¶qòÔxúÛ틿_Ô?v ÿSæ?—fx „lÃ\gè@S8¦ƒã×&­¢Ý>üõ×_F÷Çû¯ß”Î_½: éØ-6êâ1ºü(ìÂáþ_!kÉâTËÃқڋ^—§Û«Î(ßïìa/ê¸=Óû”°³½µó?ÏF}©GÉÛ`ß,7ý¿ÆXoΦ{£õWãÍéOo9ë?³þî÷ïÝ ? é +ÕíaðqD ¥ÝÊxk1uî߆Óq+¥ÎÏ·w7¯d¿oìÏ6ð»‹Äùùöá¬÷0x¸?y¸~oUÁt±Š„}oÌom¼šÎ~À'Ö¸9ž½^Leÿhñ×ßJ¦»£Üߨžõ¦ýãdvÐ[òÞxKö Š–cuy:FðöÅìM2Ks…UxÔ v¨8€Ã@|í[vù–*¾e—oã¯FŒ¿ž]þ͸¥ûSŒoY%ø +¬ ÎÜÅ1½0L$ôBe÷¦¶¢`¶ÍŸõfö–0¾%Œÿ5Úbxô–¼ü÷}וđq’¸aäߊi÷–°¼%,ÿ„å­Sì_@XʞÄâjëHXò ýs|ªéÅkÿTüù;œ~¡GÁÑ?ò^úž¾ÿ'Ÿ;oO··Æ/'Ï}ôü'?zþõ—4¢Ò•tU‹ôÏ7´dƒÎ‚Õ-Û²mV +$Ë6ÎÙf¥®|õíhïO¼Öƒýaé!äFcµ¶Ê#MAÛVȌÎu£n]UaÞ¸7Hà.øHDÄѓ·Dî-‘ûúÛýõ*©Y¤’º’JjÞª¤{bý0ÐñæôpöVý‡“꿳ÑÁœV¢Mè¸P¦ÍŒÿ]áõÏ´FýSÃmO{¦‹2ºa{‹bc³ÝæfbÊÞJü¸üDîûÊÖþ­Lþ&É<³GŽÖ¦³ÝÉldG{j„éB‰ª7…7%U :ýÏè³cŸÑÿñ,ëÑ “8*SÜ”ý=Éüþ7T”·ÆÒ?‘n} ãÃíƒo3rµ¾µ³·ÈÕðßÅ}9ҁJdka:Ó[»›]2Ó3¢> QPJ¸¢‡Ï.…‚gXB[5Ž?¨qÉú›UôT½üMžjþÛ+܋'¿žÂÏ<ܘ߬Ë_½Ú:˜ÈßþhXU8ø@"µ¯¢(K_ÑèfJ‹l¡mí,òÛS(ù'ۖË1E‹Ê¼á‡Ò ¸9:[»ÿõ§£G“Í؟k£ùG]˜æ—Fu£2铯'ÛÛӟô«&%F(ª²f¦¨Ö× §SՍÐa3þJ^©Ô՝ q%'mJîӝ\©ëĸ(“>^ûe¿ [à +[å¥Lbáʖ™S‹Â‡ÿ¡Û¦p-÷¢ ‹½÷uÚXv¸º}8I›[E‹f!(:©˜s»ŠÏøRŽIÜ¿ ªöXû0uƒú»ÜCÃ(ãe PSnк%&¦ÚâeÖ®‡‘î_‡2ÿõõ¶}~ŒØ…ê;Ž_6% +•ÝÎ —êÑԕîÕõp¡ÐË×׺êzªÛ†_µõJ9±¢àµqvÈþU¦hfJڮÆsË:Äר™‚r=¾`FÛ¶)ŀVR<‡-Kǐá{ôèkÎçˆc¬,WëQ¤ºnQ¯(ƒ¬d\7¦Ûuåü`µ(>£3iÚ0qneËó{")©¥'œA:Ø‘iko± jŽb:á¿Úw˜˜Ã*›p¾¦»Ìҟ-´ÃÞ"Ãvñ­–uM¤¿–³ÂfÅí¯ãLmY¾\Üa]L•Ú¶.z'k»„nJ¬l¢ôXû…=6•©x +¦bY^ˆ@$œ•iÆ3UuCúj‡Sg‡mµwÉ9Ö¤ãA°/ Šk/SîcJ<“–Ç›pÏ¥5ûåaˆÖé,éGL,Ž&á $Ûr‡)i±uŽ)u‚CšÉ +Yü¦hd›Æ+AӋv:ŒW\Ä—½á2Gyu!k&mU´FÎ]{çP6Ž4ßc.eì*eé!½uŽv<^®¼«6ÜznMëBOä>;Ñ]U˜|ûÖø€†E\.Žõ>ÎáëëÝr©r£ÌQ)_jNì6ºa¨ÏjNnqޕ<‹Î¬OÈì-éw‹ÚÄr ­²‹|Ù+eG<1AN9;`é4_º_²Ë°—nÊ +$—ÚTkȎÉçÐ ;Ûæl-à]C„+š¶ð‚)D㌯;Á4éÒusu>¿-áÞWfwwF)PØcfØ˜0Áå³5Ýl}ŸºڊõŠgûV©k< #g3ÄLGnó•[ö—µô5)EàQ®‘ë˜Î<ÑÍk®d+·è²ìmfk„ƒ—e@.¼5ž?U8/7Êò£û¸§% ¯t\b®¥ËŽåMXs±…­u-¦rŠçJ·K!³‚\.'>±ªªÈñ4ìV®fŋ®cÛÊVÔD&¹sÇ·xaµgìCށeÚÛ@&¹Ú°#%è„FÔK-´ˆ8vX/jBL,76Ûá2õœv¸( Ym˜: 1*Ú®XA)ýšw¥»d8’RÅÚ´ui]Xº—*<…•‰D$TS“”$#QJù}àn4½}ÆúʆÛk[yÓT‰¢ó%jäftжàL£øB¼¨|äì.v]šFD±*àDzZMÆVÂÏ£s‰G’X 1®îXžO$'®Vó¨ÜÏ¥;‰/­iˆjºü$£ƒvdϧ¾¹!µt- n¨c¼;õ Ó@’A7óúê7îúx0ï¾ pïOêeмëçöxùg×_ÿrbYSý>ªOâä¶~¸Tkdl“ÙŽ¾Üz¹ îЏþëÚ10ƒ§¶üð7YгÖÂ/ߙ¡uîáË7  +1ŽL(`\Ô¤êÚÓ\™¦J×^¤Ÿª"7뽄=J”wÛ¦^]ƒúªJ½!#ó¶2'ӘŽRv”΁»Ý6éf4ÎÒ|}Y{ v•H M! Qe§"w)rö|·uê6P +W-iäÉZ¸‡uB$§1ð%e#óýVIXm#‡m8ï@) Å#·×'Q$ª)>W*ò^}'8®Ë6֊ V)U—‰š‘WÅÉ»ë8F8䊔¤ ž:uÐðZÑYëˆQI­Eƙï0Iצj9“ (4‚ŽA”A½‰‚MÏ©‘sšïÐ&¡¦)E:òa:¥üP:U¯ã±´¨y"ÆžÏ"œývey +b’*ÜôªzÆuª%Cÿ»à8â5]m½|uÐ]Ô?nj¹Þ‰`}Í*œ•°^T[õ/œžÈ¢…É7^¦T/ID´®çÚÏw0ªòd"Aø`7UËãç,)(NŸ©Ié)ö Du*­y#ˆ¢(X9Y@¤¼*^Nl„iråÃ̯» â1½©]Ák[zQ?LI×Ä-DJ¥›žö1'Ü·AvÛ æQÃN‘Š¢<`£|×»›Õ‚®&»b4þ–K÷¶örCk??Ô§£9¯^êRÍèÓót8̙F9‰ßS/Êò')6‰nþ_k6ݘìï‡ n`U°¾œÀÉetg¶µƒ_ñ¸´³µ;>˜lŽDP¸­Ñýñìõþèé埶^ÚeÖÚ|z±õüùt7üpg2{>™¯ K]ÊèG¯B7þætãpg²{ps|0F)Ñø;«ˆöÌòR€SÞªV·'“Í{“_Ža½›-] vc6ËCžüíڍY`å û¬‘Œ†ÿbßt$bÑG‡Û“Ùƒ@Z¶vûh¦þûšŽë³ËáàžOdzMäû½öÅîÖÆtsóúÃP/͒§ÑÏ‚ªÃËøW7ô£Éöãé#–Óx8ÝßÂ|ùWgRœú“—ç›»ûq¶ŠäÝß×§õp×tŸÜ¿÷YXÖÂ= Ÿü¼³½þ¼<>ë~~x«¡æ;ÿ'wñúÏZm¼ÚÚޜMôìcBÎøWüë †½|qwÿُãÙþûYA‡¼éš¾D»Ýì,bÃwÿñ»³;ݝœbc¶§¯'›§Ù™Øò !æï]×ó­](Dæk ȱ>Ñ«vòúòÖoèøÿàN˜cwâTëßB¡äÓ þ‰§úOºèïýx꫎¦1Fcy‡ûӝ¿–’ýyxøÞþæ7Â;-:þé÷båŠþ6Sù_¸¥û/~úsã¿øìCŽÿ‡ŸrRŽ<ÚSë_Ms;ùÿè•ürš•¼9Aýw®$,äÄ3ùik“YðO\6ükWT6ʼn+z5ñé4KŠ-ÿÚ5%Eð¨=Ÿþå:*¿'/mþ›¿¯'‘[ŸÎ6&«0ÛüåÌ>°¤¿z +;“ƒñf}þè<Ú?8s›jç9 ve{„ŸV ÇÓ½¾(ûÛ#\¸ì¯)Ûúíéóñö£ÉÞávL8&õÍýÉæÖáÎèÑdº}¨ÎƒC{΍»ÆŒ’•*K‡{£Û۞ڝÌFgÔúȌ>]þöwÛÑýÉþ«Ñ£ñþÁd¶õ+ý³Ñä Wô¾xpx°wxpÂ7Ñ4µhr÷Æ»/Ç/'£‡Ó½Ã=½~Šãª8äÞxs3õ)„b‡9Þz´coz0h5ÞÞÚÏÀélîm­(%)ò§’/^ÌLwG7¦im“A—\M<ûÑëÝ õOÃV¼œMã:Žhºvg|0=‡ã­–Óì5nG{c¼8îoín»}´iÛ#ãöÆå7~ cnm†ÖqŠÞ–¶Éڎ£0¬o:Ù0òá¤c盝²«—tº<]ÛY´ŠTÞâyTK“MðĦÙNl›&`*¸“Ä–%ׯ»?Ž÷×Ó>šÞùñòÌ~œŒO~>ÝÚÜ:?ßÚÞ:PÉÆVÖDc"ö¤¾|°>Ùþx|( =™Ý½¹Ÿ¦·¼7Ýoƒ çmó¡ëbT%þ¦\)VŠŒ½¾q÷öáövD]­Mþ:Ozªlyã݃­Q،q¢†ÇÂúBª·h»RcŸ­J¼†Ëwº99é8) õNóH!ë\”t¢akŽgasÃiì?¼yÁAŠæ—õ8¤fßÙ¥Š êu{kçùdóálúbk{òé䗓–Æ>{k[<[L5™ŽëŸxûº‹jÍó«W[¯ææÙ{·~>È¥™£7iu!•^Ø´#G´zœ©føØ5l¼Žhôã'ˆ…<ÜïNFã_Gœúñ_qKþ¬©j3jL{âU´ÛÝÚnk +ÿ?f?»ç¼»»›“ŸooÍöõŽ/ÍS ÊɯRáɆ­[úp¦:©´m¸þ9"œz©‡¹Iœví듍éîf6lÝþ–Å‘;_9\ Nsdò^;b§žAZxY…ÞÍ\?|¸ñíéîÁþ#Èxévřö¢ü1ýq2ÛÃkµÒpÆâžæp»=žn݉M½1g”}—”ù ”Œw7Gù'Û[{Aà‚ûç p½ ¤l?žÿ²/Š'9Èûã„Wñ7]¡´º£®|¦{ ræÊ×Ñ4‘ç»UÝöË­ÉOaº7·öº­:õÝÁtãËøñ‹ jßAGz¡‰ð¾ÁSÔà@¦v\ï^À€øà~÷æ­ÑØQДîÄ́¨—%jäqŠ£|„,'£Ð9?¢T=ü¨?’Ýz¸þ›‡’¯Në·j©G(ä™&ÎE£}÷…4蛐În@:Kja~ÍØßîךޯGùýškú@…³õ\–-Žjõ8‰p95`Q¯©_Îê€ ôš>§“wIÎçÔۄÆ'ì“ôxº’¶'îT¿Ù⭒6ÇïU§âïN;B>ÚÚ%ɄgÌü¾ê؃=åý½ÖÙ6¯}?}¾Â.ÆÛÛQ7ÞÚÄæ>h/NW§ê÷øVû¯·öž‡yÝ¿rÃf³ §Íö'XÍìø–A³ßN$þò¼=lØ>.;[ÑûI¿ÇI|2}~w÷ÅtÔé^'lôQ3{¾u°3Ï!Lyó½—;¯Wžƒ-M_¼Xkµ÷#›ïÀõmØ|Ѷ÷;?ܟÒF˜.h·}Ìîa§'܈žÏØÜxûÛ+›Ò#q"žà ‡ƒÏ´}g]=Í7{›;áÏÛ»§žÔÞæ©;gƒôÅ¢£Þۛi³cŽ ´ÑÑõX»Gµa»ìe Á"G´Êk£Th´µ®îÊöäÅéL÷Nœ´œuƒ3Gi›£çå€i|nŽžÿ2º9 RÊìø#@/»9˜hc°gG7:qˤ«if$;¦³A³¹#g+Úh§_›“ý­—» l¼ éës}(:‘Sß?~d!ØûB¦NM?{Ç1¿êíÙÊN²ôÕ"hw¨Ã ++ý1»ƒ–‰A>—X$bœ]Øz¶¹2A,ÏKtÆ/‚d ØòÙea«=õS=8ê˕c‘OÛü8§[1Ç^ìëÄv?¿Æý½í_ŽFi³±»‡6AÊž(ŽX_8§íñÞÉû íŽ™;ÙÕdæÏã¨.Zíǜ%'b.› •î.Æi¾ (€4E:“ëdȁÀC6ìÓ¢c¸ñ m6fÓ½š@2Û +²Ê ÍfYZ‘“…©öùx¶Ì9ö剓¸K¯ñA¶¤“Úf<æBP7S4îÝÉm³i,ºE/vV6·'yÒfoöbº{½C³ýÃçñ>ºEg´š^0žâ~;!©ÛdwòrÜEÑhchŠ>²]`7»Ç÷µm6hƒŸSÏíö_ƒÄ?9f—ÐhrkÓn˜[:˜…½õ[ՋèüÏ{+=£V÷8‹Ug¶:I1ØØÉÄ¥Ë_¬¬¯Œ¾š<­MëôôòúW>½2úў šíi.ùɐ¡ ”«Î,½¸M42oìürŒŽž5œJQ¼yEúFlž©Ò¹EÅw6¶‡[?O¶Nf/&Iç^݊úöõµ»ws‚ÕãKKK·ۇŸ¬>[úúƒÜÍk>nß¿=¾0»¾ºþâþ¹{îýϖ–f_Kˏ}ôރÚ­Û÷ŸþÚ<øúðÕí‹wîíýúë¯KKWþssiéKg—–.rö̅Æß»õà×îÿÂ(Kö£ÙçwMøáü ¿>¾Qûr;üpáóð¯³ÍÕ&w8Ÿ‹¯ðwÿїßþp%üpé½õŸ»Ÿà×÷ùëªkÞÿ¿>Æÿ½ñ~Ýà¯7šÏÝ^øáòYôý¯ÍÃï_„Ÿ®\ǯÏ\¸si寻áçwÐèì£;^æÂOï~†¯o­mí?¾†_9QsåÑò~øaÙð¯·×&³ðëøuùÖ>øá2~‡µ~Õ¾z>ã¯\KfVùîï·×^|{ý×êßÕÞ«[ÏgoÿëæáwïÃwÜêµå‡7ÿ°áö­ÕwlØëËßÞz~þ½on¾¸ôñ…›Ÿºï¸eÜLwæ7ÿêsK¯ìͻyþ›÷Šÿ|iýúëŽ󳏪ꓭ—Õãå¯ÿmo--¯^{µóÁÕxg.àß{òÃÒ;ïµïÇy®¡…ÞØËßâ·s·/O›â×ê«åí«í_yÙàOËÀí¥‹Kg/~ûÞÒ¹wo~¶tÞ^}¾t¡W÷âõ>àþ¥÷Š;K—?ÜþféÊ­õéÒ;Ÿ¾¿²tõó³«Kï~ùݗKËOo}¿´ò|ùÊÒµ—[חŠ‡Ÿ/™ýz²äΜ_r‡_TKþâ¿>YªÞ=÷ÝRmžÍ–šî»¥övùñÒ{_,}·ôþÆF8¡¥ë¿ª—>øà“K~yýåÒG»æêÒê{ïÜ\ZûæÜ³¥[gç—n?üᣥ/ì=]ºû`ïÜҧˇ7–î/<[úìëW–^¬î.}þüÆÖÒúÝûåÒœ/–¾<üþìғ黷–þýìú«0ÊÓ'_ÔKß}¾ýté?ý»KÏ¿|´¾´ùdïüҋÍî-½ + féõÅâ㥝÷¾þaiú`åÎÒ_ý°tð®ýøìÒÝñáÙs{«÷Ï^\=wñìåWO¾8{uíÃâìòþ…ÿœ-îß?ëÌý3ÎúïßûälóÙ¥Ëgßo÷éÙ.ÿuö£Ù×?œ]{õhýìíï>-ÏÞýöîöÙ{O?~pöÁæýòì£íÏwÏ~qðåã³_¡Ÿ§7¶Ïž}¶¾ôììó0ò‹÷ïÚ³[_„vÎí}{vïas7Œrpé‹êÜÙõÙùsË_»²õü«sËëÕÇçŒûº9ç/º«çšñþ¹ýçýç>zôý¿ÏÝüì“ç>^/nŸ»÷Õëëç>ý¼<÷øûëËç¾>wåÒ¹oÛ½³çÆdzs“—ë;ç¾·Ÿ~æÂ¹ÝGk¯Îí_¼ñòüÙ¾8éݵ—ç¯~wçÕùâýO¿?Ø9ß>}öÃù>Ý[:¿vÓ\:ÿ±»±|þþÕ¯üùGïî_?ÿÕÊ{wÎ?½öåÃóã÷Î}sþÅýO_ýŸýÃó{wV.,½xý̅ Ÿ|vïÂÕÃKO/˜ÏÆ»ªƒW/ü볋\X-^¬_¸óêóWîzýʅõzå£ _Ÿ=xrá»í×?\Øü~«ºðý³ÿ<¼°÷bcçâÒæ¸¼xéõæçW.îì],ë³ï_|ï¡ùæâG[7.Ÿ¹pñNõå§ï?y½{ññÅw¯_ü÷çwž_[åŗÿÍÅݛ_­\<\¾òÕ¥‹û_-_Zž\{r©üòەKïþþÓK«ŸNËKw¬o^zøôƒ/}µuyïÒw‡¯î_zQ}}õÒν»Ï.¼þèÃ@ÿ.}p}éòʋöÉ媭޻|ýûæàò­Ûï?¹|?PÅˏw×/^~út¼qyó“½{—·W‹êòÁê§g¯\Zl\¹¶võá•úÞ½®|øÝþʕ;?ÜÜ¿òpåõæ•'Ÿ¬}uå?Ó¥O¯l}ð8Œrå‡íÆ¿sáæWßY¹øÍ¹wªooþð·—¯ßù؝Ÿ¼óùÅéø¯§“ïÞy¾=~úÎë­o¿yç`úì›ÿOޛo%Ï,ÂWÀ=<ˆÈ ™H™gP@&'áüÎþç\ûWݙC¸×·Ö9û]:¡ª»ºººÆnŸÇóÞ÷Q‘åÐw]ºûr¯Ä›ïΟûö=ÝvÖ¾ÑÅÆéûº}ۋÎæô»‡ŽŒŸ*”ïüñÀòٟß>ý÷“Ãßí×iÿä•ÎûÆó§ÀÅ¢9œI_€‹ҁôÝïS úý¶ ´Ã/tàõåé60>|vï="èË<ßÙ«ñw0õ±,ÁjÛýl×â—ÁQµU +~Wß¡‹ +Æ¡ÈÔew¥Aè>¶¥C½VeF ‡~ëƒ1áv§ãÝr̉›ð¨@T¶uÑ~Ï=ã&€—t–Ý5›“$ï«©¯¨ã>EE©YµÍ\µWÑFþ#}]ÂzÄý1ïg·‹.ì ³nбîìcûl&r6çõeõ{yÍd‹…ë\ε¹næúµëéSÅu½OqÂíÇSÙ¯ÏxýcRŽ"/žøï[ï5¸éfIïԓ¸}LÃöe5±ª„餿X]'¹q?yWõ–“ÃÞ-Ì~rõ¹ºº ²ó›äݺs¿ªÕoFîf½ES¡ûb(•æhWêÑí´§¦?óUÚ>èÏÓôèù3ŸvßÓOïOoé/×è#ãŠÏ¿2ÑÆî'S]ëÌ StdVë‰ÏæÌï¼t6MՒÙÇí¶’}Û¹ËÎnšãîï6¹Ê}0˜ë?}¤s«×ÛÇ|è*ù™ÏD¼ž|ëŞÎzº×ÓצpúˆîfóVa|¿Ýí1O¢DŲç°ûÎÉmñ×çY—ˆh5[ÊÕ×óRç#Ÿ,ýx¿ßËþf5YN{<_åÖó$[þŠ×ώº«$g_å±ùѯ|´gɪûþySMôí*˜fQ—ŸÛš;²îÖC*csÖ]ioí£ýüuë!ííÛäg&{Ûl}R·_™kû{ÿ¸K³ùç»§°ãîî'þ’»Þ®ïs‚º¾ØùïósWú9ê囗]}¸löþÛ®),/÷Q·Óæl¼ùXσ;T'nè/î¡ Ý<üܵ*¡ÙUë±z?î=«¦ýâÅ׌4oâÍzÌ}ß|ß¾[ÞIÛÑÊ¿Øú¤üõøâûùZ½—óèÕ÷tÞÎ¥¹ùæk5úŽç‘ïý\t~’?©øãÏπ*T.wԵȻȗÅ$D$–~.¸]VJôÓòcœŒ¯(âÞ±ª?_WKŸ½bsþF^“áß§òèbm§ƒ³u*Øo¯‡^®¸ñ8ߢÿ')Ùµ”Â^åí9\ª‚ýFèHNE"ÄÞ«r&íp²ûYq–þ¿¿ Í"뼞+ ÅLv&”Îp³£ŸÔþ93s›•%¦÷k +uƒ¯AIӋ­@'ÔÿúòûSŒ\èûãÄqÜ.ËÉÇzù3Ë-ÿgÁ—Nïe™tàq;ZLGkه´ï QIGº˜BeЫb|ÝØ}"âo®G«Õ1vœB‘üòfs+¥‰~•Ó§Y2†øjføi6FÙm‚³ªù<ôo´žýÛ~Ìþ Ñí›Ù±Ñæßÿ|Ìÿ6£ÿ…xu´PÞñ¯‡Ñ5ó—G©8&ø¯µÁ á¯Ø–»+à¬Ëſϭ5îÝzñ©BäÿȤŸ.`¬ÿ¶Kb2û÷‰SnFÿ¾GÿA5;0 Às|ñÒf7ù@Ý+/r86+ƒá±-€Evл囌þsóo·˜£Óðƒæ+Uœy=Y®„Uõ`‰Y…wÛ§×&=ñå‡Ù;>BÉj2Š`þᷛf,IÞgeÓ –øfsýù£îí!¹¤Sœ ëµW-3cQb·°\g6mè,GEò¿P°b¦’Ö;ND(€„ÿŸåzž9d¥ÞÅLh +’º¼˜ÀJÃɪ²¸¦Âì!ò6á·ª +«£¤{õsaA\Öù<"Ä,ʲã1ážeq E;¤ãˆ/ï‚"fá·ÿÜYÍyRHí'Ÿ8rpÓ×þ@9>‹èxG×¾(s" âáÚû¤H½aLW šsy¶Ë(ƒ(=^þ/ Ü¢Y»2£(Rˆµ«ÖB¹ëñÑ+i˔ÊÏø„Vy–®… ЌÃT~­YKÛ?CÊSØÍ?ß>ÅàÐqëÈòf§¦–JlR”êªC0-§1–ä’þX§«_ϳg‘¯ËôcÀ±àûÐMw6gôËí›ä'á†;ûÁ ¯ãi'}åËÜù_Q ¯UÈÎvÞd»âø¸žLFsôéӗ«}ð˜I"4â֟—¯±ÏAešùvÞ¸kßË.]{¼úEý÷¤®+´ÍÉ^·û©ôbâúñ%n¯CÜÏKâSSŒ‘ÄI®²iÙ8׌{¢‰iì3Áü’· wÀ?Ë|sõ~ݚ3•-ÇOy4¼y)?³Ž$—]|ñöô9F} 6¹p€’¬×¦ä™}b D§dfîak¶§5‚ì;ns¡Qüª`÷õÖ ‹ 0üŠÍIŒ/Ê þìKâ§øS¾Ê¿žõç_y`T—*ëv_2™÷S¹›÷„ç)¿ž~Ý ðLJx÷™°€^ÊT¤ôåîÄziÆà¶°=“bR£°/ÃöدIº™ûòåÞBÕßühäºÌ°ãV#^Ê “éæÇd›®_NnÓMІÙOsý®~3íå;¯7;‰D<תØt0—E¾ƒë’8aÝeîí1?Åô°#/é¸~âgA¶9óCÒ×Î0J!µ^´˜ØíÓ ž¡HøsÍÂäyý¾Ì2:ВR=p%ÝE:ñ‹@ٜ׾ÄÎ]È}“¢ŽÁŸ"ñÉÃI²ãe꺹½H7+ÛÝ>)53© »8ñµµ5AŽý?ÓZ:í¢³‚ûjåÉ~°½ü˜ˆ{s³õÚOÌê‰k©#<9$bԊéa…ÄܼÐJ­så/nį}~B#¿?Õôý s[ȾU"YO ÙéO O9(f¾Ùē ›ÝÖ½L©éHhú`sB/f÷¹âÜ9T8÷o±§å~oµïMà“[\]Œ£Qß5s§¡Èuy³|Ë~n>Y$-ÏuÊã(—äQ]ÏbW?°’<ˆ½n}‰J¯""}9FÃSgÍ[ܧ?éÇ×J.ô™pxo®›nÞ.ßSífyTÈG›3î#ò/9VyÿòŽ*\±±Ìù.šŸÌ¯Dx|xÁ|õ쪁xL¸Òß+¯ò½Æ¨âÏÅpÞ`ºÚ}\؜ +.>¦šÜÕ}¶öÛ$U[†÷*÷–v T{ÀC¡0ôØ?ð0@æ.f°¤ÂcÍSaöÑó¹j§QüÚ ›hq™÷7'  bã vçҗL°4~*¤„|6¦hhvôJ3W­–…x>ìÁOÑXÞ½ þõæmʙù®A4WÏòúä"7Ÿ^&՞\¸·hU÷OþL3D•œ¦ùOtñIÕÝIBÛ(¥l#ß3 -åßoŽ„VÝïYñ‡_ðÉ­ã߈¿à6þ{U€÷nàÓW޽Œ°«¼²{è%%Œå'§¡è¼ô‹Ê|šzÃw u `,¸+x˜"úêÉ<òm0<*ŒýZK"¡ËûHkqL„Ct?ß(~]ÙÞÇá¥Ö üyN+IÉ¿à±Hs©‹•)Á#à?‰£ž*¿#Æ8Ä={M9*™Uöya1$OoL ‘Š1£—u‰ŠyC1æUAädaò¿ðI Ô½Qþ÷9©BŠàRÃÅVÁ,¨CŸ^Öú°·Ù1ÝsÜsé"îŽçÇ¡ÞJ­yó=‹4¯. CÇÕ#ŒÏ÷’|m'عOÏâ6?ÎxÝ6gìÖG?§›Í+»ŠYnÊؚà¥Ø¢Æ añ닃”…lº*bªÜ9–ó7ÒϐïmtžÎ7Ó\ôá=ʼf~`Â𴌐©ä ,üMI=KÐ`%ÝÌSñäê U?-ˆ+³Ìܵ­d˜îE«”xa\–F*¨y*(îà Â2/߁ù‘_*×›Z¢Ý°‚ é`ýÒ0zQDŒŒØï +žn}›®vÉ©i¢z7ÍM¢~eÌzæ)?—å//„—¯aÅJ•¢¼ÀõÝ-¿roÑÊwnìýtFk¯ëx!ý½¸ÀîP ¿Àì£P^ì.zÉU«ñ¯ªQÇ@!O¾¹ ±ôÅ8¡OnüÍ›(¤“Ö¹ +çÊ£oçžüù®{€6ý$Kƒ¹jù" ÒR½€âþ]½[HÛ!Ìùb\°{ý$˜°-ô›(+‡~…exQ€¥½no\rMn Æ®RNuôM ÂuÁ]þIG?^î…\ýö±à\1 \žfï):Ócäµ(¨AðIV°p /Í=:²iøWJÅA.ôÒU9‹_à¥<½¿Æó4ãδòî͸ ©%±ñ÷ð À t ±<Ö2”ç­© ‚tU¦Èd®¦—÷^¥åd¶R1ۋŸ)ãKÎ÷g@sEåFÅ—¢³Ø¿ÌwŠ—·µBf?u‰U£Dz2›ºÍï?â +®M²þeÁëñ³ 1N0%Rß8Øx=‹NÚBŽ­´”#Uº n¨ÂµÿB6à÷xL¹m¯¦owµUN2æÕƋ=øN?ŽWo¼µH±‹È—BSJ•V¿âª”÷Œå‰Ž¸ëÆ}=ý¸kQûJx+ÿ|n`ÛÊü@¿ÙÂë­3j¬ÜÇâ@±ÛiÍ¡?Ý¢N‰.C“üxY +x¯yõÔϏ^Ë™ߕbƒyL¡}ÜÜu`¦?q{ 0źÛ)ÚPކ0‰%ï/¨Üå;qGÆâókíê®v«Y†ÙeÀÒK[a“ãW~ܐ Áüwæë«žÊ•§m®âvP´ÌǍÒߣ¬å·We»ˆ¹²m|_y­éi°‚»vLßùÓ ïvÈÉ©Ǖݖ(?ãšõ Œ”I3v7ï +¯êñ-Ó{JVJÌ2 +ñÖ9O'1†Í¡ãν]­춺M†ßÁ +ËçÀÿ³±ñr±ïŃ|Úy¡= f”f\®e”|ª†Ò‘âf‹Ò@¡+:©§s‘«Vú¿¹Y|p!OÖù_Ø¢ßV >^Bll|eõ×è·Q0®J¥ÂpÛR®YSŒcñBá%ŒhÔakN>"€Ï_,ö"͗ü¸™~ʽ‡¯>5ÒK\¢Ì’vi^N S’Çsasâdöã9þ[H×S«Øíf·T»Yö—Œ>ä&ÙÑ<çý M¸8Ÿå{oå¼äžÄ¯<Š, ½i$VD?±ØÂ«÷¸æk)TÈíÒ8,ٍÃÈé[Ø?›žÌü: Äwp»æTNÜॡ´q‘ { +!cÓXî]!-…çM‡@ev­ôòöÊ&=s¥ÉŒhœqÅky?ö>KýÈÎYL,Ø{_>bÉ_o%7îÌ`µ%KÅîpõŠe¤´| (/MŽà'L€ìºQºÕçDtõ7ƒ»$zG©†{‹ø)ζêÓ¬Ô–¿à$Ý`77ü¹ŠýPŽ€yE²íß·4Þ +ÎÓÀ–^Þ¡3 +zï‹ÜÛ²ïî#]ÿµ ê3änwÁÕ ]íy"òì£W~²»DîKt3Jû+ׅ¡¿ӌE‚ÓÌ/5Û¶Îköý£àBQË€[L/7!”ÝqŸëvÊhµ,b•QûV¿ÊŒn€þ{[p…ҏdôtÌU|ްó÷ö2?û§(‹à‰ºZ.®ÐÄ‘¾Wyºû\êzØ¥›YnVç,ìP`”^¦g¹s<ڝ¾N]÷[nQn’¹þ{Ÿ{ÿñ;¼¨Oaý}ÆaÀ*U4Ï˜Ó‘‚ö«h{ï\‰Ått}ZC_Kè<è ™ý´?»`½ø¼“ßqXàí=lÏzI° ~.@Ýo‹Èsê$iUUXe9þw+96Š‚0é¨×½#žâi{U9¬$g&ºå>;I¶ä_Ӟ6¬„°ŸŽ2ž5ǯF ñ4©N9ý\Ì¿7ÛàD¾ªC<¦¼˜ÿC7lëý²Gåÿ”>h‰'Ä<Žþ×ìv÷½ý\}ÏÒêÓj¯÷;x-ÝS®¾³õ‡¿ËÚ+>³á$Je‹nÒ¢/~åÀö‡ˆï6ÛЖFŸ(&ވÑ҃†ô ?¸¦ošÛ ˜MÅyÉñÁbè&¥§”/ñÀ~Ø=t)a„\  hÇힻ^Ôîÿø„G¯oA»o{´ûo;9{€¸¥ˆP¢ëÆè%= fCmn¡s¹9°ék’ÎDèì ?=œH„£eòS¢4œÙ´^'ã´uWIU£›d¤ +–=¦_¿ôˆ\¯ÐméĄô¦¹…€…¾lø²ï૱FÃå¤kÑK¤Òj_ªmÖëëMøËDˆyä‡!÷l)lÛÔ`9¿"¦W$Æ|/ƒ]÷‰M`Gv¾dÑ~…Žç%7†6‘"ù½þ‚¯Åoøu7§Fú²îß¾4ô‘¹A8Vu‘.ï@©Ñ •‘²ŸÕ¢SiÜî^oHçZi|a.¨˜WFjsÊh7.ÿmÀiøÃ=ruóúHϋ/N½ëô¢0`lNGkõ]Ó+QÈTSHYÇåbíI íˆÂÛÝ£Œ'ùJh‹öøY6u‘KTӐ¼T/Ù|ÅHÇyõœ>'¿ì’5„Ö³?«î.ýüMz)³Üc¥‘Ö]. Òpøg¸’‘ʜ̣®û‹¦ÒԈå +—¤.ÒÁÍëƒÒ¨´´ûúE¬q{ãø˜=è#md=Éß˟šRßõw,)#…yQ³’÷¦—º×GÊt»D!JÜé"½(¼s—?Ô½R›“(ôûƒ±²ç|q›5B:"Šþ×¶>Ò"‘vÍÜ\#µ9µÞ:ü7ÒnÀ­!ðÍ“ț™TH{q¢ÆH„Ô«Ajsn.J³%û0 +P€–[iù·öÜ eÜ|Z!Í·Þ~#ÅõXË¿±Ô×úîAé㵋6DZ=҄R$ù™çñ8ô\èusQ-Íîž{·.Ò¶kñnˆôñ£ñ:ÆHmÎý±>‰vu×GZ£­B*žÐGºª\è!™ŒÐ¶‡Å‹­Ÿï‰§›jNém2?4ú}]¤ýûy#EûËþX¿ºáiÁéK„èo¾úHï¾V?÷Ñ­A +X0Úa9°0$ðÚùè³ í¶ˆüçOEiä.paOõ ÇmìW»hvCn( ÓÍ¢ñôj#/FJ¹’î’z¤5âÕK#¤~)`Ahìׯ(ôk-ÒÍò*! ÝÞø4#µ¿Œž=<ÒL—,«¡½i%í€Ð÷¥R9€Ç +H³Û=QXº`y¤7d5 „þsÇï4ôe,[ÅHíåz=/RBƒt½Nϖ"ÿV줛ðWLØinb †¼ËÙkÓ&è³ÑUwªÔº,c†O» ò§môôƒ(½:wòÓ=É¢7weðk˜ƒ+_Vì×׌ӍPއWã§£K¢Øþó4u՛>­ù7”ñÓñýÛµüTC1Öq1— ~)]•â­ ÿôÍõÕü¶åû•Ó7ò"¶G±Ö¸ò¸Ð{ÎK¹œo¾6|úä‡ìÆO_r±„H1ç¯Îwiøôk[_• ŸÎÛT¦!?Ý£ØÏ¼ýºÔ¸>­PL²cL1çd1~¬ýúÊ~U~ñ>ͧoÇ3çêæ‚4¦XÚN]zbOÃ%"ŸðŠc޹¯5O}ÍÆæFxš Ƶ«²Ô|-zÓòsfÃøÔX–˜ºž³‚üyu~£§+Á- üèÉ,7wü'•£¶—ÈÂÌÚ•h,̯&úDm»?÷Ež°ý&Yo¼Œð2¢ä[_P®D= Ès°sTúXÒA»à‡•¼6¥£X¡ÛÈÂvlg¢õâ +ð½Å%|ŽÐgbìét‘_ï^ƒ•¸]_؜2Zlé eÈÎyÖGÊt{†Haù"5ú˜r¬ØÒ1Dж¼‰Ò©)ó6²mä.ó¨@:½ºrÈH±ö/!¥5äEÚ¿4Òâ· +©§‹­W%Z”!R¬ý {´ÿŒÆ¢kß)xÃ#EÚ¿!R›éÿúcÛƒfHk.C¤X§‘¢µ¯B‹tЦjVgQ=þ$L„'ۛþXyo°ûY(×¾Á›¬ãwïÜ|/ü!ð -20旴 -÷–î«ûQçAá IvkA¸\=¦4+>ôéˆùå?ɕ{ÚŒu$“x{?¹òÄWD7‘Œ–.¿p/’Ñâs×(0Ó²hÐ'óNáÿv) À*°ˆ@Ò-¡?0¸ÄŠIã}±— }ÌrNéσRc|f÷ÒË9„¥¨îkåFð)A—[uh¸B +íÎ+R‡×Ûq¬AýJM@Éã&*a§ÿA ù¤¶’ô:5–5Rvi¸sëÞú)× ¡ð£i܁˜ä -û»LõÑÑ¡ó¼1¯3>—Ýp|6§»7“%2©É´A–øñÔé^\Y5>$ÝRKäFږºôÒF(讗ÃӔܘ›xšŽœ¼ß•RÀRG4ºåi49°ìámdŸÁõ^B®ëç#lr>(©N2’r{¨þfT8´áSñ|þN Ðí&:Œ®ø0X esµÃæ<¦SŽ€ZZ¢%×ß:Í·e« , «ö¾ñø\Hn³Ft•®p؟¡Õäe_ßWõžþ‚©r[2ßßeɠʅÓ5| lràýÚ* ++3bY_â†f¶’€XG.q±¤%ŽA_Fç!õ¯ ±¨—¸®Õ}Ø»\{aÍCbæK¨h]²Úޘ¹d5’ŸŠZƒ70Š»dahŠ…$ÌþÑn’ +ÊK¸µêސ¬$mW*;õ¶|‚{øà—™*{³e}®4{ªßÇæ4óÒýTPp·{–ߑ尯O# + ü5ˆ:¬%NVÈM•§a¥R¥S;­* |`ìLd²eQ¹ªU¥¡¯áþ8ÍûcÕ¿@ß´8—†#¶ØQaU£ Ÿ¶^b ùÐóyUÞü¤ýåoôªªÝ÷Œdsšp:ðŽzÓ;EÜ´œaہ9·F˜á'½M³Õé²@ÍFwhRê²üX[ +V¹”ùhTÐf… W‚“³ÐŸàq>ïý1wõv;uTÔr€ù[õ¼­¼eaäoEÀŽX|úö,›óì ž5ó-ÏfŽÚ<®7BLœ‡sî +ä¡HÖ¤ E”ÉÇÀ9~ߓì}`ªáq›¨:>èÂڅ߭Ö8³8MõO" Yœ|js^†¶Œ +ã3P"P.§×)êgìWµ‹i%Úfîٓh›¹6€gA¢ézH²@˜Ôï¹­%K4Ñz=Fƒ×;,Ñl#HØéMZ•Åöò$̚žD;zíœã%ڞs¾DCPΏ½b8&Ñ Æ-EqB6§ž6 Ú„ÚK3 Z:Ô×Qÿƒ:ßlž=ß8j;7+î/o®_c1dQ3ËÂ:¿ßê-fÞœ˜`mûQBÖæ4³'f?¨sÛÒ*KüfM“Ôd$añ¦ÚBÁ~€s~ +†b`Pk"ï‡á¨ƒîÝË:Ñ ì/|Õü^ãó!íB½Bkàý^Á¤£‹‡ÍÙ_çɪ7Ká»0Ü ŸŽÒïÍ}°Øùúý˯Þ^xì.†fíx—Öþ.†àœ£ß+ H{á黆££ßëA‘¬W8VwCó½K˜—ß³wCÕ^8ÔÆ‰1hý“t$$t󰄽R•<%§aêõɔ(Ié·}ëtÎñUküüìÜÕ­è—ÎÚ6ϵ6¡˜%uWœI„ÅÈ"‚¹ ZZç&ÑÓ,г2ñ\YH§Ótɐ#pnÏÁå¥Ý˜²ÁÀÞ¶” †,ٕ6&*ә¦çg®ØûÐ3Ê)-,®ñæï²m˜aìFòöXM¨`ôåuµö wœŠaƒˆfr´äƒå,ö®iò-Ï6Ño©S9boq ;2¿tåý,¾]èZÂàj¹Í»=°h íþö o¤éª›ËëUÐñ'·œ_C§ÜÅö+è4C'×ЙWÐa™ü5t†Hqaµà‘5tætÊjÁsjèÌ+èTZß5tætªjÁ3jèÌ+èLªª¡3¯ ÃՂPCgþžP[}v ÝÞÂUUÐI–Å™5tætX;\C§JH6©0«» +zÚ¶q¼q%&ÙÅB—t=½¹Ã‰Û^kõR|r2lN«ýê8¬zzŸsêÝþ¸©SÄørڄ“étíU±«ºVTÚãÝVŠÁf_³ö!'Š:ÆgÌ<ËÚø°¯ïPåœåñiL7äx·±‘ÓŸ v¶¿ªp˜Íf±ØM y¬cs2Ìù¹c¾ØÍ(l£¶’»Û§æ…´Ì›&ƒ¨LÓCfH^SÍ ª¶L‚EîGlÆÔï¡ÊGk2kT8ÊèÅ«ÒÈìÓÆ)”G•˜âÚ·[‹U‡‡m{ –^,[ÒÇö]g‡‡óÈJã&ß¶t“fOˆX Õ.Ã*0…¦¤­;¨vY®ãÛʁ?¢Žo|¨þÅ¡rZ—¦Á˜«Òû9ð®Ä‡Ã¨S)½Mãù;˜o9‹`ZT{0uçÏj_d}¨&ƌÔÙé؟Uˆ®åȇQeÊ1Às¼uŠ©¬gRì`™¨õAÊí$Š©¿T¦Ó ¨JšÄzJ.kºìžÏwß̒–úƒ¾ßÒ¼^NÂÀüB½#ë€x¥$úójººKŒ=Éâ;`콗,{F´9Š'€8t4 +̳tª†µR¹“fhHÞ_D•FY ·ÃN›©KU¥q{loV#g;Pæl!ä‰d~ä‰mϼ2Ñ#c›½T~wnkäŠÈˆ'•sïè˜J¼¦t @nOêWDmuwóô±²Õ/¯wC}ì«|œ{ǸÌN›At2>xlS˜ŽôȨº¤ªG†NQǸ?Lº¤^̇w1:1V»dž~¸(άKÚ³;‚ÿ/_’ô™ +öȜ™¥šð¥Œã;Pžs ^ã‘QØû•ó=2Àm’ÝqDÚ)™½jÁó=2¨ Mã‘1ªH=TŸÇå‘ÑõóW,”çX+ÎA%z°às²µô=tU¡V–«²²lœ7nEY¦oZ>‡f0¯I\Uÿ&“ÍK¬áú§ -æ>Ók¥ íÄvåþ‚ +Ȍ½KG”í¥.èV ª«;:iv?C×ÕYÌ×3­«S”ŽšT +v‚VM©R¬^…nišªWß?‹µYÜèĚw£Ä¤¿©‡CXþ"§Î¼îøóÇN©‡Ó˂®ÿüu=ÜuGÔÙe¨þ]=òZŸ¹-ÔÃéœjXÄuz=œ*Jüë¯ëá´çŽòq]wð”€?©‡SE¬,¤ZžV§µÅŒÂ:¨’íüÊz´ÁýYN$€RçDé–Vr"ÛKK9‘‡ÖþfNŸ«dq‚ÄùÕèŽÿÐì[„c¥ŽÄ +¯a8Pɵ—É`’X¢¡â:c‡Ø~¾³â.ƒŒgׯw/ãÙõ{`"4‹ÐÐÛÓiŸ³ åâ#…WáÜeÀL•Ñ“c†Ë°»²º M´qDïãìE]Fû›Ó€1œã–A=2Àù“BÈ\ÈÚ.vŽñ‘À§i¥Yï |ð44µWZsZ£Ç¿ïÃBÅgæ;4¨¥ŠTòâÔ؍>©"ut1´PDj±"ut1¶â28Pê÷'©/¿S‘ŠàüEE*ª;¿"Aù‹ŠTÇÚ1ГX/¯/ãCSN2ò„ÙW/ÃÎÙËPS +§/Çþºçó›fôüE)œî¼üy)Üé~K5ÅÌm÷#ìÊ3Já”gáb¸ÿJ)œŽWá¿P +§ï³hŸuÍC¥(PžŸlVøôa˜«jåDxµ>– 0‹¬&z!PaKE dÌød»#u˜½C† .(ªÑ»C8f§ó‚(×Ûòd,‡‹›µuu/†Çáh7Ñ;ª³=ÈëÝç×Ã'̾â2yÿQün†9Çt—/D/SƒB3YϧB[HþBó†ëâkÃs½ü:•.±ÍJ6œd³™P]Bð¸·#緺˂ÇI]‹¥Wu†¬$¡FéÙ¸î,҈Օì¥.v»žÜß*Ï +¤á¯3n_UØ1ݎY±Û4dˆ”(43fvÎûÏۑÒW¤Å@TT[‹óm^8m±Óù¨I7jJÀ.ÜfÅndPƒT}ßõQ…ëpü²»£b·g³ª³ó +»e³iˆôª6û˜!™ßÇ×è#Íß= É{¹ ¯‡FHê +;<«°`…QãOŸÇ,¾w­÷ïUP½É¼Ô,Adw êá<ÆExëÝkŒTËdMá5ªýc—܃§oT„÷bˆÆrQXцc%ŠŽ^Ë©«<¾ÝÃæ‘‘J•\2ëaJT]š¶qqWò=‚´¦ÊÑã¾yþÖCjs"kïœS•፴µJòVãu¤¬ÃÉÜå^e¬¶"nh‚´xÉ#-6==¤øÞ·HIUZ©Eú`v`µmŒ4ŸoT™]€ö=÷KŸ„"̝7RϾÁ{t–0|OY_I¼zci }±å6/o“0æ.£U:¥`àíQožY?±´ÑYL›¢†=8¤ºÅìp⤅½`'´…M=$Æ%Iû©U†]BœlÜ©¬•ҦÅM›¿º™;tÜÌbՓ”3O­2œº½›YÁã1)hfUwš“'ϨJ;¡ÉSÉfŸ4A¯cÇ'y­QÝÝÑ·,ti/KK»^,ý¨,-›Ó¬SÆ~âãºÒÒ8OKèÏ^n¬F\å_’^uð:¿gÊi¦À.[8úú€vÿ«Ã»»µ-T#™º—­FyùsN¢•k÷ŽŒ;©ØM?d}Թփü‰žeõ)š¨ +ðÜChõΊ3¬;dµìŸgbéûÇÔI#:!ÖQá¨ûŒ%LáÏläQA+aNzówFëG¬__§ê™ÖÏØe‡ïã3ôª0¿{ óÈúx}Äàî'W¢c<®lï>‹3®e3¯d:ªÆ*zÔ9Š.iê_¦E3ßñAm\Õ%Eª¾­V¬Ú#Kç—J9•ç\™”ºÒøÀüɑ÷iñp¡ŽefÐÜk¬{ËÌÀÝ¢ãÒVךÓì*çQì`-õAª#—gRìà}:GQ¬Æ¼Û+ÖÓŠXhµÐò9$Fb–jM²Ó-TZ­Ü÷'ShµPyÂáñU€Vk±×úä*@«˜X˜Ú<Øãª­Ö"Š^(ÓÓ\n¨k¬Ž­´Z(ÙÈ'Uti¯P¯äû³?ªó/å³~#Û9—ò)Æò_¼”oÏ«ð_¹”ïЍls)_3b® œ)ŸÍ©£þù¥|û÷#ÿ7.å3¾ù//å³tå9—ò)½ +¨S¬a§* 6¾Õïü³¡*q6”Å{ý, uö½~Š¡ýÁÙPF÷ú—§tê½~æ·út6”ν~æ^!}Küø{ýô™Ïôl¨îõ;ÌÉq¯Ÿyfˆä¹:ó^¿C•\äÐ5½ÕÏæ<Ê¡kx¯ŸùÐ4¾‹“ïõSudïV¿nѽ×Ï|@zª§Üë§[Žhvª¹uÂX®”Õ= ú„{ýÌOþ’bâgÞëgºÑeñ.ö÷ú™»…:Êä^?sSW7 ú„{ýôÊ$å¥wÞ}|Pó~Ô½~æPŸÿ/îõ3¨Ø,Ã9§ð][‘zê½~:ª¦âV?åí Ä÷úi–!¡¾ÕOuf×Ñå)„t¯ßÁº×?¹×ÏüV?‰“ϼ×Ï<áZQ‘zÖ½~rý–/jι:ù^?sb öîõ3Yk›9ýG÷ñyÍ¡X¾ïÀur–ïã;ë^? Šîò9¶šcï^?“º‡ƒÙ¶³cïõ3×äщq¯ŸÑÞޏ$žV¿eA#‰‡–á¡{ýÌãÍê,‚ÓïõSS[k-žzßqIÆ÷ñýÁò‘nõ;ÿ>>+EL‡NoØÏÕ8î*>mEêy÷ú©Û{·úñCçßë'•J™Ý+zö½~æjŽ}¯Ÿù­~gŸÚ$Üëw¦¯Ïâ½~ê^ÿà^?ó[ý޾ï¤*\´Ü¿×ïôbxÅ­~ +,gÝë·ïJVÞêgtÊÙ±÷ú™§wiv±“ïõ3OtÒø”N¾×Og^·ú™Ÿ gý^¿Óý–jŠ_ód`Wžq¯Ÿ,¸ônõ;9{Ps¯Ÿ)G(n9ï^?sŐ·^Ï¿×ϼ VؑϾ×O=Hí­~{ú˜å“¬Ô÷ú+A¼sà$+‹÷úYÒaξ×O9“û“êZƒõ©¯Ÿùæ`ZÅùg±ü¾ÒÙzf:Ú}K?ãC{®Ô¢¢f¯„Vc×®y⽦lQÅM"Éћdb¥¬ƒç}S*·j‡ .e¡û+ÑóNe‰Ö6¨öÚ|Øa[©Ø}Ïw—D¨3çø—P=•ýò6Yî…=4y^1ôú£RH~÷£–×øñ¸2¿¢ô~—vüî2¬ýe4¥áÓkÊŽ\—®nï¿óî³ÍɅƒÌ$r[è«Áµ=\+2¯™‡yëfúxË>}4gwáß¶{övù”ö0¹¯‹æCuûŽw–³÷âwÈý:ש{gº»q]Òî"ë|{.—=»Ç3³|™Å„µk;“­æcÛô Rvêý·í‹Ó®QÈT3DámR!ŠìÕÃzýu¯7‘§òÆ1`Ǜðø¹.UZ6}‰Pà)H×¢bÙÛWh½yY¢Ë梾¶z_†¨êK¯{µa4=i¬A-]‰î“ܽ’No:U«è †»½BóB_Ú ÇŠ+Ý#׬îh÷šÉËÅ:T¸¢˜÷ã{jŸ¢JҊXjßùWÌÊW»]àšD{ºÐl:‰ËÙÛûõ¥Ze_i– ­žUÍÉþVÅÐ@¬éÑ!É:³;›3×+Ì:øÍl¿øÐaï²Ó‹Th¯¤B›éu!ê˜×óO)zd[$‹ßíÎKºÄÚǧý+‚å¯Ït“¾9‡J»ƒÔu;ƣJÿ,'§«OOC_¾Ý)¡O0àúwíúy³>î®±åD„¶n”0Üò’8ºÄO¤ûށ"ܾr^\õ §¼‚¯ ?–0ìbÏkhÈÅB…~V3Á†Í/‚¡Ï‹ú}ýÙ„;¸äHKœŽý­ð•ñà2g2ÿ’B_c>vŽ$„ÈF'þ~ÓF"¥ÄzJ½ bOBÈÓP +ø”J„Îì£U7Ê}ýEuÄâUœÐª——!þ¬s,µù…¶‰xº +¼ÁµKÙ×yzª’ª5‚«h"ª¤Rf~Y¬'¿ß#ÙºK¼µ ¡¿¤=«˜õómünQ,ó¯ b}e¾/²(€véæɶ†ëÊh‚¾þ§ÔÃZwмK«÷pÌR¾Äc~JL‹Ò.“+¥ú‚ﺎWŸ$í¢De›cFÖ7qºÈøƒ¯N-€Ý¸þ JRd'œwa¿êQ… +5J{¢‹äæÃiž-Õ µ :Ÿ .ƒ°_…—-ºü,xïŒâ/½„ ¼0tQžŸ ‡”`70Ú;øÜ#´~½BÛüÂ+z–Øuª¢ûÅ_ð¨ñYòÅÙ©'ïßW€Á^MûgMˆ"Lº'ZR5û²–é»þnÝ!É?»@ºê£7Üò¼tìËPžWî֙ׁ:8¾|xæcŠÚÛª‘E RlgÇ‹Úyb2›ç+D'»xÈHÔ!÷GiýÀ ’ EûTw‡¿Š$`B2 lNԟ¹â)|\O„ÜæQ"‹’»ç{‰š#Oüz$@œ¬"j¸ÝF7÷û‰éˆR»rJÌH UÖã[,0÷gX؇´4녒/Oá/æJ‘b‡w"}Èk•+¥¥—Êtɲâk«È_éËX¶Êff_³6R•Ær…*ў= ôÀ~ñM‚%»ÿÞãÇþÖO¼Å'.†L”ÆéÌlÙ¹WE#´¾]v+ÒÿþžÄŽ!†7¸±wB4¸Cø+JSp Ÿ¾f謐ï×CèXø’Oøs#ͳ¾ÖÀ[+¶µ9Eë½LÈE¢4.w°3FkA+<˜j3Zñ EJ^¸j?°9…Gèõ¬)ðÑ7íUF L1†uÉnwLlKɞЙÄâ⃂ìàsáZkh­‰.˜â=–€§]¨Ø¢lXš£mTQÏúÐ+~Á2¬—¢áºó +ÓY¯ñ+ø€Äcõ )þLÁv¨wx° 4ü\QžË GtT–±ùïSÎ~÷>ˆ±Ð™¹ž ÈIGòž5iÙáns*çw\óKS6‚µ›}üÀ;äQZ–‡ÿ4ºhð' ú£—ÿ”éÑ%äüèRý]¼Œ? ;~óø€àٚ·‚Hg+°Ónþr¥ ½™dêXéò™¿3âªìÉæÿ¥U@ëWxÄö¹Ð(~{_¸Z…xžùÚó´; !¯†ÿ#$MH endstream endobj 361 0 obj <>stream +®š¸’·Ï!ÔCÐ-¡ßi<ê ô»âã?)ú½}§qˆ5_^Ó¶÷Súν97ÍTü¦Ã¤«ša_²Øp žÎO異ö±,³ŒցmKpV~„…3̋°ÑEϐO|¥ý‹v© rv#gÄË= Éþ=,ÇВºÅq]Á1 +"Œwº¿XvÁو‚+¨%¶&Ö#,Á³œþ?I¥ÃÿðŸÐÃî{¶¾_¾.þùm×¶PºL’­ÅtYXÏfÍÙÿÞæ–“ÝÏl±ýûJ?fËåH87›,§³8{)üÊIl„ @”1l•‹{Ç3¹·hq^r<$F¹7¢›TÈ^UY5íþ¯¿ƒ:íþáôÙî§ +vwiãG_»¼ÿ…wiêFR1§{¹Ù:³ËûnkOš°v¼D_›Åð÷Sfö +mÞã¡RºWÍõ +íÇThK,yÖæ˜ªtE˜['*ŠÀöÊî‰ß1ö@ÈÕFÑñŒå2 ÙýžT +µVì¾ÆÅßzpc¤é©ÝÛ)Ù½¿Ž5ò.F”²Øšr`sjԃÿŠr€²ÉUꁾr ¬#b—räÒæ4Œ]*WÖõ{Z|pOÊ»¼ à‹ ¯B%P`.fýЏï@‰yÞAV.Øyññ‹®¿ùÚÁƒÙn‡¯õ” {(„3꼋{eA‰äSçáÕ" Äîajë÷!^QÈt~/ák‹äõ~“ª?ÓRÄÈïˆ;° öÀnMVe^E,‚X·9­m3RZÞÞ6….²æÛo;Y†(ž€!z*‘F4R,¤\³f®=“Â5PÉh™‚¹P–ŒðyÊ`ÂÔμš€RçàkGÔçτøi@*T×M-)ªSZñ``§‡0>byû+êÑóöx=LñG«…m;AÅz™̲d‘L¹áӈ?MeUf"ì&Û/f¯7ám»àõ$¯¹vàâ¶ðzëä5Ðl®†ލ}(ÚÛg…-)æ) b„%f´9âßÛ/Àì£  c÷·yŠO»ç®çäæ.VG",+ÏMÓîùüNÚ‹Æ ’¥Q´/\*¢¦8?Ÿ°D—u’†ç•£˜+á¥Ño@Ìô`Ür¦‡”œáÂ!C$-}‚´¬_ý(¥¥ÙsQ®”½§IËlЏS¬‘†>;Û ‰üôÇ|8Nr,_Ñ«2ø®ª™}ô %¨K¢hååX_X¹ŠŠ RQϰ#lÎ+#þ'¼«„ÔÔZ²2‚} >|O[îˆÔ"¤ÅwQì.(h$—)^%Â6/<[6´^}Š2)oUNJa.ï¾¼5­­Èþš;Tù<´ü ,ýoº”qÃI¤ºxܺ7ˆú~àÑ[ 2¥ôÞ\Šw5©"¤[E„ÔíÒª)ë°;3—9„Nˆ5R "‰CºBƒ°ìÓqD+ô™lå±r€-‰ù\lkÿŠmÝuèó~á“3+0Ë©âÿBÐKù³öRŠ0>ò—  ‚Ÿ8¬.Eþ4a/Ù;u¼£{é,EþÌŸäJ"Â@IìdHÐS’z£®êŸGVG…?µÁOÉ]jù3sŽ$"H…ô><%HØâ[>> ]gò((îóx¬Æe†ý> ‚ú¤D}À™%g̃+Þ¬(ky;o6VkNJ¼¿˜ £(·6öúÀÖH9«ì¤µQºy ôa ‘йÄlƒ­¸Äxà¥üÚh¥…Ìâ0ÉçSÈ·“á¾Fö “»ñ ;¹Ý¨XËö+¸^…÷0„S¢ã‰T~ÔyìÆ¥ ++¤(æé¥ ++`,ªÒ +É{ªõôK5 Zw¿TíPUV;¨ÌèË*û.=Òä#ë2V +òUŠ•Þ)c¥ ô¤X)2­Á¤9bˆO©GÒ1þ)XÝRN° ¢lC°Óãc‚iâ¿]ò`bÄwPbqSæýÉ ,0K+œ’¥áÚ)„2 bΦ‚0”ç&um!E_Ì`Ó´÷.U’Œ~ÊS*ďNúWÞ<´±QKÈ¡‰ð¶~9+ö{‘÷ôãîò3ߛÖQÖy“”ù—êï)1@; %¿%£ò[æn8‰YžBUE#‹ÄÐSHdü'€=î#ûô‰]QO8¤€BO´ô‰áä¯XøÚÃV.²˜à‰ïIu6=BúD* *¨síÑʹù¥è’ü +K¡Lö´ªù¶†¥”‘ÒWž{DÔ>üé>¹1õIü}¢”oÞ¾3¨Ñ©©i^ÛÝlÎñ +ùÛvDô„þ„‰Ù8Æâ¸§äÔèñxΪkðDÇ ’cG¸Ot ڎs žè´9r žè´9-»—ÿ'i»¶9Q˜r˜_L•!J›Ó -³ín…^3³÷ÏEmôŸÙÚFþãÿ#à?ô—‹þ#©È?*†/aÔZÛÜøÝ¤ç_masCéõ6÷9Ù~.£õþÅPSç¶Ö*çþÅþñïáÝënè 1„·á‘ÅE‡Ðáø—†ÿ±íà?â_þÝÛ¡ðà?𥾠éþ‘Ä¿ÛÏ}âßýèÁƐ,<û±EÑÿÕl ŒFˆ0þe!ôgm¨ ^¯ál4HÑð?ñ0Iýƒ×ðÿg1\ü`НâïèŸükþ‰ ãQžoK¯ÿø¾fm™1ÚÝZ,F?³é¿÷õhú‰BÇ,åÁýŽª9@3ï¶$àêŒF1rµhþý/@ñìüïÓáÈ¿eôÞ塐ÿŽ`ÿe&Ç¡ÈXAïâ/L$‚¼å34W&JÁ¬…ÁpŽÒ4ÿ•BÓæ‚Q‚¥ù/˜®!} ý8ŠçŒÂl ‚A_l釸 æü‰çþ£øùǨE²R¿kF3ÈY™@òà Ôe85ÅàWÅþê½Ë7"lD5–0ìϟþ»Á7ÊÓ# +†åÕùíl’$óÿÓ|†Ùˆb>Éð?:L# ¬šcΘϖ-úÏíù×yÂòW!w©¤IÔ#†ä‚0J&™bÉ`„ "ŠFŠ¡ƒL$ +$¦£zðIѽ 8s/5’.¦"4â†Ò#Á0K‡Q#†£a£D¤#€„®£#$ߍp€„ +¹HTÙ4¾‚NSª÷ÈŒ°ø=Žæñ*šÂT`€›¢‘f`@o2Êiø‰º8ÿ£Hxfh‚O,¢‘…AÈÓaÄŒÑ ÅÒ´1Cã6’áð¸X˜1‚™À|P#¶0|×à_0F[²Š™Ûj6šà‚d4ªø% ô i"ŠºFàE P”fX€ÉÒÜԔâÒôìnåLïs„ávÆ Ò0`º|`‡ Ðì• #&a×£–…m‰¦8¡_â(UK)€9Ýìw0Q¾§Šu4ÒÌqHòPœb™É´#I‚‡ +«Išl©¸„0aÄ9R#ÌRcIŽŸZš%˜Ë)`(ž‚ÆŒÇRBc˜@òÞ%#Hò‘T4¤ˆ`ù \ÉEDš²¨ûA‰üϐAŽÝ@Ñ$¯E# åÞ#iè2¨‚Z³:Å&ø) FèHTùMI< ha“!V Óa~¹Òa&,¬0&J ±a -͊K 7*8Yшd°<"‹Ô† ÷øXl‚¾ÁZK*iD$aUð°-²`“¥eVS6R–ë? +–P@É:\a¼¢H û 0‘àc(ÐÝ$ÅR‡‚ô"aê¤1îoM†?cÑÞ Kœ}*Êý½Êìga"º[–róÚÙ¢`¬ k€%"؇ÑP)墮.hí¼Þ Ñìşbm,„C° –Â2 ŠQ¾b­‡ÿŒõ¡Yèˆf÷ýO­Y“„Ö2€-+þûïE)2blèÍXªc`¢ +ª#lŒ Ñ ßôRƒã¿ñ6-ÙX´B ” +"†Š5H‹} þaÀ¼)á/Yc ӄVI¼ÿ^”ŒFŒí ûó¶ÿÞAýÿÿY<É8u‰a¬ÿk^VëþÇÌ£¡ÞÏ"E´SLE …4o»hŸ–Y”c.‚wÇh&@_W4Áöa@LlŠFT öf´‰…fКA_‡-„…g`ø Õ ìØH‘nÉÁÃCø)hÕA’€­¢†óƒ,‡Ô ‚†ƒE}B“4‘h”!M %C/ß# 1ð +{EVÒ=¨Ç!•ƒ7GĦ ôíÛaVùFÃø—‘ h#ô?؃QŠg_ +L•(þ%ÁN +©ä Íü㈈ ñƒ˜Q¬^“š€j€ +¬‹ˆò½0 +/€¶F: ¤¾£.0¨ð#¡‹‚°e‘2ÄD°ÚDòê + :[„¤Ð[a¤7²4FB»:6}8& +}Bôæ^}!Ã=GÆMkœdE*aD˜!XlÁ0 ¶ü<…W€“}9há=‡ô±ÍGXP†Ä¶h‚ÐW„ž‘ —þ‹ îàµtŠr°x&9 +FÇFy8‘ù5Š`±ÅÂ4°ÐE—³øIÙÈV,…äF +f•ŠpÀ<@·0  ë$²ò"Œ5?Æ¥‘àà`©QôMƒI <àdÇ"pŠ6¤‚býXl‹À/Y +‰#¸PÑEQ˜Lr#²# ˜8˜´eœRSVoïRGXkÈ€–.¦#)mÐÇH”:+ΩJÞñžF³ßEX’à{ªµÖŽAš9©LY8*&d/š°ÇÀÅK(¡ É"0ô°TAö8^BˆXÞ R ¤& zq„ˆß¾ýÈOa¯‡B¦“°€Ÿ§Ž4š}ÏìgQ’`÷à±(÷õA³Ÿñ«ÞnÅ{¨o‡IH#‹0ŒšP¤ŒaxX֏i)f1hÄX!‡6П¢ËێaظÔmlÎüž§l%y¹¦jEáMjŒ‡6"$VIdƒàx ´¡N²ühm¶B¤E€ˆè Û)Aªq„CԍšD© ÑÔÔ¨ºÓ¨K㙕 ä¡ H5ª64ažDŠVš€Š .€á ®¥(6È"]O,¨›ØyÂññ(Ô!XÑa–L6á™Q‹@ÑPe+òôÅiE+°)(> öb„Y>¤¥l՞ŽraÌãr+ÌP˜„O +ˆÀ#8”¦@-6¡yDŽà[¹M#¬Љ(~K#Ë.¯…Eàgª6™£±É¡leuIÄBÄL‚¡ Äi¤ä Ó­î(æ{£bXû’¢°°x ÖC0‚ch Faû‚ßc‡‰n +[ϑ4 K÷‡æÉ„:‘SaÖGòPPh‰PHP($5Ñ$’'ß¹‘;…à{#5‚K ƒݐÁö?‹H¢6PõÃ$^íÈÆ@AwÔ”Z@‘X :q´°@°‹N!÷¥èůÃ,ƒhÊf8¢ð1(æ…G%N¹jÃáC-&?‹b·êç~ôÚ2ÊÌQ(ÒДRqD^Z>ëø¦ŒeÐöƒ6` ¼Ž‘;I`<È®@Ò:!—H"¥9la3ÂÒ9m4Ž-ƒe +<̯Våþ?òÞIŽœ‰Ö\Aïò5#-ðF¨ÅS´p¥gÿƒï8^‘™•UşTº…n«t"<þ<֎Kn  /™íý`¶È¶Ÿ’Em·«`ë±ýuÈB‰zoçnÏIûya"ƒ +iü³kûóyX:kðÎöõNۙȢÂab{M2¶´½{И#v³E½ ªî¶ÖÍÅæ3wùŠ5Ð9l3ß#Svðß6öÆG¯´'/jjºæ©[X/X-.ôÎå×}0hÌܺ;•µj!0ëyöB'µRk²›0ym£¶|¥d +S„*®Óº9 eh+íû=¨K-Æ°Óæ)Žçïo×ۅڶ©0(ì×v]3k‡.öÆ$ei¼È·AÚ= +³ +mgR}ìì2.Ü ƒò·]¢•[{oז+cô>ìܒH“J_chpäŸv]V‚ +Dõاnýõð2¨‡…Ž8…'a]4Á ¨„öW6)Ý f¢Š=J.™ÞªqÙ.ãylÅï¤]\ÄÔ:kså4 “”!µMÛ$?Hł@ø¶£M%|^ïóÁc:jíŒ{д"®dWK¤³Rõæwñ_CÊÎ Y’yº`ÏÓÙð!ÛíiwP@qn'»ŠÝµˆýV»mDۙ!ž +ma¼Wž+ò‘‘þý;â=ˆHóJÔÍÆãpWieæü<ê;/ž:›ÎÐs÷ƨ/¼ïQzñ”ñ×>c‰:ÛN•%*o–¨„«[¢®–ŸaÖ¡¡Þ‘ÆófbÊÁOK/ë–(i³DùCÚ×è¤ÿì¡®õ,ØUä>žÕE©}ǟ²D%\SWKTcp²8=iˆmÎÊ5û}ûL¿ÏLQšÞn³HmCm6‹”.†ûٍ{i÷ÒÅæ0»À¡ÎÍf¡¥3›Åy†e³ð‡âxúóöë´eóul‘þ÷ÊêAUßÝf1¿ç™¢÷ãÕb1füICL€þS¶¨ÙïãJ>iø±-ê¿·®ÿ«-ê«+ëÚ­ûc”š_Q_ZٝáþŸÿï>%çÿþÕ.ôá7Ge¨M„cÑkˆ-TuR›46'vqpýVšØ@¼@›îÊMɕßV8Ÿ3‚d§âw*úÊAu@¸")3  ; 㑘íú_TIq‡x~ƽzv™3à¸l4 IN¦ÜsŠ¡µtª3—ìÑrïÍ` "/Õ½ÒV΢^Ú$…&7( "Zpx›MŒWç¹HŠHÏ?b춅ޮIµÎ(o§¸þECüi“¢¹œTüåÔ`¥Í“8i'BŒdÆNsg“½«7S^09y‘Ы ¾ÌÆkù°Õ×Z“õÎI»Œn_Ӎ:vŕºöOF…C£ÝöÙãŽüÙ¶³ûöÿì;«å?Z薳ö¶‚µôHé2o÷Oÿ–HŠÐÞ »£ÏãHÕ`+žþìs;VþÂÌkôòÁ3·EÑÜÛ¾ôÚ·/¾¶O}ØYÉÿùƒüßË<ÝX¬;¶QvÛisK_©èÝë@MÅ"$?Þ¦Iã4…Ãb°ö–̆²kj¨‚ØÚ‰mz«WlÌÅ*6êyŒÈ–õñ'öRã=h§ÛÂF[×\îÔԎœí›ëL/9³å’xÒhÍÏÓÎDyO^ÓfLý +{œD9…·vÄ%Û6cŽqêúнÊTB”‚¹ú> ÚM² J¥ž¼ ³w´ üN’Òå¥"ÝQk{·€5 èò/OqRÈ®žƒ¼ÜUmq¢rg4ê\“Ô£üÃ%.o˜ƒ>aš¿9ø XɱÛ'¥þIáÊ 8üœÂwžlA,… |âÅo_}ñ³8™¼ÄYÚ!û´ˆÓøÜw¨âmBådz~݆“òwßÂA|h¶ƒS¤¤KÑq­¸KnYp=ÖKÿñ°…^)§•íPmÄÆûK5O~í‡ï,ãŒF¥\HÛaÞ¨žmOÂ=Ç␩rF%ì/^Q ÇÙ¢<ÁUwQ]u^ªè 9â= ]×Å?eZlD\ÄÊË = >‰¸ QÙ6¸u€6[çöwœàrX{B¼›èY}íÛ85UéÏ䃴ã2Ǚ’riÚ$äE›Xžƒ{¼:Åmv8Å¿WËDJŽ9eÏ|À•-e¤½D±NÛî:5Xø‘Ø ‚Šøš‡sÐÄÞØøùÚ2˜DvXE\Ùhó¶æBبýf¿]¨ºx;&ôü´Z° +ÁsS*ˆmk šK‡"7³8à)u¿2–éã ½Ä&u[ðÆålÁáÙÆº9 3Ç£Ô5h ˆ{Ò+ eµ$·±»àÛ´ºê/´MâÛ¨$ b%k´öáyê!#žƒzF±qä} Þ}å'ÁÐeÔb¤áå»Þ9öŠ:ð‘ø,çÕjI€‡`‚lƒ‰+ ñª"¹%êRlS)Ž/ë£ÛÅ܄"®ð&aŽ›Ç¸ÅNw7ׅªûì¶Se˜=}4NâeC> UWé#÷üÁngåÇi•­Ð“ðƒ©Š¼|‰ð2á3o}¢½~ëçãÚ)3:íé£M-˜Æ¨;ãO^ÚhÞ´Ñ«i>oV&í´nŒâeÝÕ.ž³:é?¥]ÛßÒ®;¹guÑFjßñ§ŒQ)Õ{cTùf&§' ÓÍ/éžõûö™~Ÿ™¢ì ›Á"»¸,R½Z êf߫˾WwƒÃêc„:7ƒ…–N‹v_lxfAY­ãyûuÚ²¥ MÒÿCÙzÐ@Õw7XÌïùC¦(2MïÌcƟ4tÄ~Ê5û}\É' ?6Dý÷Öõ5D}ueAýŒJͯv¨/­ìGq¾*ÿЬž–нà3™üéºèaXwÄ>€‰ErNVHÐ]ÈÒWo:Z[KJvZ›ãŽ~±Sx±ŸØ{Òà” ]5œsÀ‡ ãn²¶Oñ¼´,Á2}åzZ„' d֊`ë³ß•5# +šŽ$%ê•Á>(¨é0\S!ÏMóĝ'Ìg`mnéÒ (Æ0ñ5æxmyŒhj–Ué,¨€bÑ!54u£h‚ YåAúù ΃WÆ_Å0 ;< –º C‚ÿèA*?yš ³Ê´g’Ó»-:Y6%h{œÜž=iÚ±õ¶–ø™³{Ž&$» :¢ •ß‘ã+g­m—ÌÔG v_’ºQ,J"˜Ò¹Ñ¤à$øNíÁ· U¸@¦±íäÆ SNm!Ì,A†]1Úa襧¡WK‚iŸL‰Ø˜Àv1‚Dôof"ú)`@ú`¦ƒªf¾xSB«YÚ§aÔ|Ç^Út Áʕ¦w•ztCoYfËó4ÇþFyÑ2Õ/ÄÒV¨ñNrÌ> È ÿˆÍRI[÷£‡MOÕDêTËyiÙx„TÅÝóžÆ„ws÷NM6·Š‘[ æ„á¥,Ïi{2Á¿ÅVHÉKf»-˜¶©BßTƒýí\w|¾|$õžtvoûÒ{ß¾øÞµAŸ…Ò´›„\@! …6n6+ GL7Š3ƒé—÷D €a·f”5VsÀgy¢©Z7â¸=⮉l‰ˆ‚¼Àª¬W—ž¦V‘‚ÈÚv!wÇ[ŠÐ´¾§}ÉñҒÀ *LŽ „ã®Äš+eÉ)z°¼ªÀ(㰌çl·7rŒÝžƒ’Z›·îaÜ ý:%!GaIRº»Ó ®yx3]­†§ ã’Äñ%ÇÁFÛ¯ÓEüT`³Àí£ŒëĚà±ÒKú%‰ϋ>²Zv­"’xN»¼mbÚv¬wĤhm].Tm»šo˜»ëã+Ó÷!jÞ6UwÌ@î0ŸIráv™{J{s§ ©‰=µQ»„uÛ©d«œ„×Xv/æTWñòù|Ç4*ïÃ!Ê3+n”èF pŒu#åµË#<^ƒ¦k氬ѭå‰;Êî-vš\mÜpÜ{µß†·ŠëJ_Þ;Z†,Ï*°ÐÇÿwTjÅzÚ՛Kc»‚k; qXZeù ”QF- “\yÐ$´Å×ÖRN?ñyÌ[èémÞýLÝÝ· 5äÎKùò¤¼¼÷7× é*μղ `¸Þ#ËF·fçN× ö¶ÉúÖ½Uäy푠Of÷7XΰÜâVòþrpbßÝs=*e¯kÚYc~÷7ÖWßù¨°½|§8Cý\W@6Än°‘K}±¸ÛÍîíTe)ÏeSž¯&¯ù¼Äd{7]@/v³¶î»ÝÌBg'öÓìfúÛìfFã™]´‘Úwü»™7½÷b¶jŸxÛªÙÇZþPþ|ãëå¾õuçoŸèüÛã™Í±YB{l3²„ã¼Z6>¿Ð’—=rGóߺÀ€bΓc®ŸY’ß@@ƒ€ØçóúeûDö}bÏ¡¬4PõmF–õ=ÿ»ñ¬ÏøÅÂÑ>÷tÍøC˹œéÕõuçO–óIK]nç Úpu¿`Bû}ë›ãÚkÔ£Ï:¿ÚѾ¶¾ïÆst¶’OÙÊ,=p‡Á ­µnĊ¢%]P&@"üNks=%”ìTܨd|/7·7)I 0Gñ)kRòCÔJùtt@ë5ÖVš¦bÀ…%Y²<… dS ÊNmB¬Ð5ȨH.ǓLñ6Ò ü¢:è +¶¿ïB%µ¢•·W»YA–>kÄ6œè«}Æz8Æ<ô`kb“³vš€ä¥“íTÅK4i¦ÑBëP8MJ6_ˆáìÑF óH\oã!ÓÝ´ÉÏ5Ø\bÀ)1+2'äë™ÓeÁwÆïÐ×ٜ‡XyäÈgSýmŸVû玹ºœ¦îzÿI2~¸íÂþµ¿}éņȚ̹ݒkG°ÒêøŸË¾Tö-v¯6áÇ6kÚAߍMü’£w§íûvQ[ï +T†â©‚$:ëՃÆF!¥MK=© ˆýÐk¬)QÛvF­!Û¬B°Èmw sp–ºq¡m cQÁØ!µ'x2±Ð»•÷u¿#'§1Çé<¬–h#¡‰öMj睄}00¿“­Ÿ›¤¯#‹YÓP†›ªå³@\µtc†wбÛ;æQô£²ÓöC»¨`×ß0çq`­í“½ñð)¹ cÓ!ºïTÛ7¡ï9OOîª÷L‡6&Xà²>ÜaT~éµOn±—öù‰ŸpÊ7Ô`*›®l0•m—N˜Ê{a¾.±¢nbÅU/˜Ï›Öë„©ÔËF©¸#í0•Qð«Ôœý”˜dKLêäQ/nvq|ëßñ§” îä«r‘šôaúÃCË.­x>€U¾îüí?U.4Ç]ülL`?óÖ¿ÿ4ñ3SiË{…€­ DKunuÆ´~Vh숪a<ʖ‰n¿¬Ö˜þìÅÆìïYmlõ rc껋Ÿó{þr!ÿÕEø\3þÐr.gy€¬|Ýù“å|Òòcåâ¿·ºÿ«rñKëëÒråSå"÷ȕ_\ߏ¼ô¡ZþMµºgmÕå#Mæ›ëÔP)g2³¢Äòi±u +-o÷+å,†T ;m`E€ˆˈHÏ Ías*×´S{¶ÛN%ºÌ!>·®›ò ÎÌo@7¡-~æpaÓεûyzŸèAï=gÆS®ÉÁßñOÔ£WÏ.ŸtŠGì%Ø­šÊa –QA=f·º·Kc=7õjršÏ›AʝÔR/v«”wPËhõg'öÓìVúÛìVFã™]´‘Úwü!»UT´ÆÕnÀÅ4õÐr(Âõx@¶|ÝùÛ':f·²96ËF¤8ײlDw)ÑÚ¼:7ín¯¦±uÕÑÖÏ,)mˆ1Õ BÃ~Ù>џ}ŸØßs(« ÔjáŠé¬ïù3v«ö¹ñÞ®1gü¡åXÎRà-_wþd9Ÿ´üÐnõ\ÝÿÑnõj}µšï®1 Ÿ°]Ù ®¶«×/øûUDµ-ç%Ç$R$œiÏ1‰Ô>0è9L~Œä!KTÀ:Þ´¿ÿŠo©Q¡p„”"ê5Zw7 +Ál;-u…OOOª2¹½½ÅâƒbÛ݉²6'Ö¤ñpíè{KŒ^1'“Tr…°Ìá“nÏJ±Ga¯ òެ_ÅOޘ ʬäj–R¨!ºžÅnpœÔ¶‹ +šVIBÕ=0âڗà³hm˜ YÏKKDå*èrÂý€= üK4•ˆ£ +“F²nGrr°`ÂF«fG<:æªHɀì ÷œ*9ÞW—=»ØLÞº‰$ùZáDVÁÆ6ðԁ<'W;m±ø³¥b 5½G1˜úˆËÓIRÑlkÓnl¥û +›DV¨š(‹ó™)ÙiÇi^RÖf£V›¼ÛN%¿å$&Zï1 Ðq·³×ÎK±¦d•,Í3ZÝY-k*e moÑæ³J&™™G'«-ÿl'`­ݵ¥h«qzŸ +ÔfýôÛÃM“%“Å37 ªô@Yw"õ״ӀT/” l±SO‹ ¾]¨ ˜Ò®÷¨¤bÛQ§´-tt´6‚*‹0"—:¦ò #`¶}âa x`Ã*.˜5Fâ9L£lH;5béèe"K÷´GbdUu9ÃØiR;•>$3y;‰ç(%!àˆ¼“<±Iü…Z-äv¡RܓD0½&y¤‰a°µOàg¥Ê$3!ÚÈ-R6d ďÒÅü¨U© gí—bXƒÆÓԑêÒÖ²ÖQôÁ“¿^…vd;”|ÏFMÒån;ÑÕdÅz#±ÅR ֔ß/ÍoËK‰OóCÚ^<ßËK – )ï? ð/vé÷S>ýâ·/½øÃ̔Ìt6º«#UaP£€%UÆÔñ¯DpD¢>”Nð݁D"|ˆT®¢Ú¬Ôm’bB›Î×*)#HD‹69 |q£ž#—c§EΈ8*m/W{—õÄ>w(§†µ³£‹È6ÒTå¨Z&&躻;bÐt=‹wÛ[¢¯Äaæn‚s~P`\ãi³;‰Q9ºÜ(š†ÁwªE«-«m~Òkä%3%+XF—[ÇÄH=–)‚-âzå·üx+šNx°ðœ½%röٍÛV[ +…ÑÃáT.œ…¨¤UF#údgT–@¹„€M9a·¢Æ!5 ”4téJU‘«ö ã «è˜êœo-œ Md + o£íâÕ¢f/;“6`’‚ˆFíè%º…„ñ¡ì]™¹ço² ‘Ä"qÐÙ-!Üß+½$;Uª¡êŽv1Ï´H¸¢>mÞol‹ÚïÂÛN%KT=b·´;'w|òR¨Š¦ª¤h£ÐT‡%"¯öt§yŸù‘š²ózv \]÷Þ’&U,Bu‚¾ º'êH£BÇ5úbì€|W$áÒ֒ÆÍEÌU†­o´qÇI„ ÷÷ám§"]ø,CB\´ – ¸v»’ß°‘/ØæˆµØ|ń_F;’x…1WJ†¹»hE‚ÒaÞå­]-Þ..˜NŒÚ¸áÄ âýex»PUr^r2iwºÅ׌?®ÍoÊlIO²L"×ú{™-K3ï9Mn[—ðnjËg_úÄðê¹¾§?gÆK”8–¯PÜÔª P|g6ö´aZë +ü½.íÅ귛ñô²nÆKGÙŠ“ÕQôŸ2HØß2HtrÏêâøÖ¿ãO™ñòqPœò73Ô=4ì&vœ0Š_÷ýöqßOxšánæ¡*ÄfæÉ—Ú!ýg7ŽúeÝːl]`ÂQç2óØêÉ̓޼áØ&wlð#ö봕;&rPÿ{ e끁ZßÝÌ3¿çñ„”p5òŒ h8ӟ ůû~\Ì' ?6áý÷Öö5áýÊêR£ó3Ö;õ}µÞ}iu?4ÜÕÜAZ/¦;Òß½"Á—ÞNZz@öŠŽi# SE2(|´ÊqõæÅ ¸8j“ž ‚í<í*ßHíf-|q!²—Öo,MF½g*רj­Ã6ÉY>T±»1ŽZ:È ˜0 +Jãݼ6m.DϘo³ÍÊ$ÏjüF»ó¼u'‰±©-øQ%ÁpG 3ò0R¼Œf$ðAÚ"õòw@ÓâÛHøŒ‡ÝW‹¨}¾~ãAÇo®ÞGýå®ÂiæäT ëÃ&€P ÃYaÉpXGÐJ øn-ì“-0M2ëß&| Û±( ^sPcÅਪ”º–¾‰Ž²iDÆv×JæTöÚ¦´œXÑF³>¡Pvˆ¶fèBÕÙåԍDu´Š.CÑÆ’G…Ep¤ªÜéµ²¸·•(Ò>î4;ÊfW]{d·ÀvÐ«í®–x{-^Tå4Û±ŒBPm$øh`¼‚ã4n3~6F,í÷&ò*žd§måBe6B  í°FóVÎø;e©Ú‘ê¹(›ƒ²^E(‡mÔ®×"eñLö!NÂZäÇíð{ Au/ˆ”v°aϧf <<—ï>FmÌÆ>>°}üη/¼óCóω»ILÓ¥úގ10V¬¼E"DαT¸Õ¦I¶ÍMTiÞ©Qˆ!–<Å¡DHì¥Î‚é{0ÊöwPjZœ‹"Ò óv(Ÿ”tçï¿mcÞv"ib†wFڐ*à†ÙÙ8ÁNͤMpf°ú³µ—ÎjVCl +ÿƯ6ӓeŸ»Z2©&|Ðc®bã*ìÕÕl1œEæ…Tb3¦À}NJ®çMfíÞH6ÛïΟn;‘ÐU~Ô»[8] &ùlL‹ÀÆm† ¦‹KBÎÉeYªÀLO¤rgù—±=n† +¢\Ý!ŸÖÑËGkã$KƋÖy#¬Ü¨¾ÆV£ý‹Àà?>*b¶cu€hmV¬wÅxˆï—– ¡[€š×,(›pLßÕ³¥¢º-µ³õ˜ª.:’ +pI`íXgF+Ñ0\ݍm“¤Á9AÓ—j§õ¥Þ s³oÔڗ3}T‹O>ѹ ©v¹Y)º["Fî[›µË“UVÁr]ãÇÝðmí&¿T:Ä4–ã¹ bˆžïʺ/žú’ñí!é8öv-³XTŽÙ*h¯¦Ù´¹ä~m?{»8ñkOÄ¥™1&^¬Ì[¿]ñ߆öâ׋v Ä·1¾w/U—>³Â¦ú£Ì›¾25úï|ã\ÏÆ¿UwÆg ³­¨Ü[Þëúí3][k½À™Ä ”:ˆ¨ê”~Û~õ +UßFyªoKñëÐ¾¸jzԆýE¤ÇÐUQ_ܱLuµGoúcö· +ñ¨™TVçûjd¨ŸV#QY.ÓB!Hz\›g-ð]é&÷6‚w»~\›§-eJxÏ:ðoYª/hü¿i©àe÷ +ÿó®]¨¿¶VïW$âòå&ɘ¡þš7g(6¡È0×n²EQ½!t N4…Ë `ýGú×W ¹ƒñ›^äjàÀ ªå'º=Ž©Iù›ÒsæÜœ4`ñ$i ìꍋ’pÓDmÑ@ã#¨×/‚ùI’h•l€y?¨0¤÷·ò")h!«¦‚Òû‘^и§Í&6ã Ì¼jRlXH)á,”Ÿkâ'MÀL¦ªOAνÌ\²…ê4!ê‡ÑæjÜ6ÚX3 »$ëÌe½_ú÷o–˜¿RU¥ãªFÐþݬWH±1ÍÏ»œ»N^=×v‹³+ª|þ¥o_{阝 ú|.ÝчzäXâAÚhÓ¼Ø.ƒFy•xf9s€Q[![/ª‘¬*˜(D‹£òRÛ«‡á˜6¿ª7š6Hp–Ê8üØë‡å—,Ê:‹†CÔ 3¡‘oÊý Âhú±î³ö£Œ-¥Lžt"$d 3Ç7%—¶o Ú¶c ¾tx9Tô “ÚuÃN +ЎÅ£7NšDkíüÞÏ",f5ióÝ6šj$Pò§¯B¥æ>,ýû‡ÆçÏ‚Ðîå|ž~´ƒúš‡­ÔüºÇ›åݧ2W ‰Mwæ‹o|¼o^<5§åc¬ RLLÞÆe×ýp).Éø" + ØdåsŠÊC’NÞtÏ{ƒÇ;ëĜ£‚Å|D?$“YR‰ý9^:Õ;ûx›ü½ÄÞ䎋ìÝ.¹ZŽüØè»ÈÏ$îûÎÞ>îì*i3m&¿å +h/žšÇöcuÔÅxt}Ô9t…”&K#½j‡Smìä¹È©bæ ž¨N‘ˆõ"$bÏ X蒲%úcü0ÍTdÓLõç|÷|Vãcÿº©ƒº‰Ù±ïvŒë“VßE­öîÞ>ÑÝU?ÕüIûiÂVê;âÒ@ô£«ôq©ôñ¢ÆŒ‡;zæÑ• Í¡iA'¸M bdëyý²EçO[tþšƒ˜O3R›IˆU™ Æ^VZy¥<îTj“8ÚÌn“f±¤E`ld7¡D®V*™¬¿(øG{¢qT[Iµ’b;²rzpkIcv‚âA»Wa?ÒËw%튷ˆ|l²ÊØ;±´ ç,Á9–¬‰“ÜépL)r”ˆ/2åô (ÂAEª›™ÎڑL§ —#[Ų&‰N=ƒz5Ãm2ƒS]‡@¯ZÆÇ…¼v´IYDAÖ|ÞÐTOÑI+ؤ:• 3ß#)½<2v0ô%G‰cÃûވ~©ú$:ö¨P«ÁÚ×6ÚHM¼o:KÒþÄ\Á¬ÞðJɝ³Þ:I¬&Šâ¶v¬q˜±nϪ66N>ž¶3ÒF’s(K†ßˆJ^C3â¹0ȹç*ˆÃæ°ÂŽô˜íA¿Gëc Ô/TíòŠéÈK‚FJv*Dôy¯‘`¼¤€ö +@NÚRTY«­î˜+ìî-E~QˆK5 §F&æiÃè4rÊrÿ„lèbð—%Ú*E8œóëQà³F'!¥þl{Õv?6ªÅÞî™àïr“v4«è¯áKNÕ·ñ¥Œå½Ü&d½xìÌ䇪z÷ƒ“ôÓ¯|ûÚ+ûÌlҚ(T ‘P½3Èê +ÍÕE-(b8‚^H̬ +N:ÐçS [ES-bÊ$ž;N/'¢ÔØB¶jl±³n@7vx5kÜFÚOÂ$Þ †Ãg*ø´Yþ|;~ƒôsc“{hÜPêñz˜:©ýض7ÒÎ&–cZ½qœŒÙ,¦4HÌÊ01ƒ¨[‰šzÙÂÇ.îZõøÒCÎÚÎ5Áel¤»N"r‡îÍ8нF7xõäéƒÄTMî?ˆ ¥ö(Óõ° +½Aiw@ ’Ý`ɳU‰»©sª°Y£!‡8ƝEÒw-P }iÜsâ_þîF¼íDÒA,Ç÷”YJ†S×p»\„¬Ae …Uéîé®í<ϒÉWLÈ)šøõâ„¿íæ«Ú¨«•î“&é8ÊHåïT-4U¶…¯þ´KN€Á…‰|ë7Ÿg5+·±ÂœÂY¬1¨“#8K|ÉW©´N…ÞIDr×:EÙ¥³AË=PÂ)žïç#%ÂCI° ¸¡ptù +0líô£pñkçÚ­„EêÊ}'I³ïºåq¶#)¾í°Wt N ¡ œláŠW% §½œ£]wv{ )ÔsQæÃþ™´~Ý6ÛÒ¸Vwö'fû‘ ¾Ÿû¥x1r27CV¬E:õGŸ—Gõâý‡šjxKiˆøìûµ÷šœòƙ3ùaœÉÁãL*u3Î\ $Ãrҍ(粡L+K™êT/:[sLT>OmŽñ˜~ôPFÉ`ÌȟãÝëYkŒýOgRˆãLcÉM&?ž´ú.úÆëîíÝÝg˜?SôØaCÑOiÓ±ùÑ­ZiYµÒEQK‰ÏÁEŸ9ìŠþy†¥èûÃ_Â<}틮?­â)ÍA̧½š¢ßÇÿ'Œ3‰KìÙ=6kkä«J<ïïq‘›½6Îüë×ì׍3_Z³t>VŠxÒðjœùì¢}”¤ÛnÖîœ=ñÏ/ȑE£0ÃAs”®ÞRA¾l¤@ùV¡ýlDàн`µ›Ü3âv¢ª@ó]ƒèð§«LµL¤7n$œùYÐ[‹ˆÌ¦4G*¸ë‘ìŸÐHWƄŒÃš##‰sÞ4ñÏ^êµäSh}”“AL-w²#qYhBh9ŠÞu*´òÈ$)^¸‰?±+â½yBu„áR~#I Qbì"â•òNA0“3k’N×au:ɝ¾ç´y œÒN!VÙãGÛH5á\Œ~ÖÌ·MÒ>ª}ýq,ÿ…¸¶ i̤­½t¿ãFFðÚ=ýÃþÙI +Ïz0ÏUxMÓÝ£¿Ç/n¹J²SÚUÿGnev•òÇ*_N»]—/t‡üréIþè—ÞûöÅ÷Ži–Aºm7Œ%@Ö¦4Òm#ÍÍ{!¢¯\èT¾ôØû#3HN£2ýV;&“ +¸–B›Ú™¬V°<¿>K°ÎèýQ…•SƒÅ\Î^¥°çC1͘¶Oòdd¢îoc$äy»´“. g+uSP³Œ\¤ ”4Ø×dsƒÄّ‚åÜ"Þvâ~v&±q_‡Ó\Ӓºšrwv&‰ÙK(~=†¹·k±u6I;¿žÄ}x“ lD’»±>øt®ïd¼"…q’ß$ô5³‘;úŽzØueŸØ‡íЧ};ŽyB±öÅÖv×½ô}ŽðyÅÉٹĜ¼Ÿ.tûrô-2ÖàñòõØwPú­Â͝òô•w>ʯ›‡íSù>æØu(ïbì:”§žîÔ¡îõ˜¸D³8E³‹2tNx&uz((x“OnB"ù”Wž¤~˜%²éPús¾{>«q±ÿª}P¾èP\­2Í¾Û?¼Ö¢z‡oŸéðªFi +%’7­Ùoit¹n‰tyêŸyéŸy©ç÷éÔDrM£‰ä>iÉSÜÒñ역;Úºó×Ä|šáÑ«Dò1þ? FùCe.Ÿ-Óc;–É?œ?ïñÉ:=¶{©Iýû—í—5©¯.ÈÀ¯u)µ¼êRŸ^·÷³ å}Å ¼<ݞÊ;íjŽ“æÑDìž$ÂWñhˆ ÊȘN…ÿy¼{Iøxqh®²€Ê̘zU°”‹åUéÑA}x¥kEI9Åì‘ïfÉ5/ÙY’ ÒތÂE(I^ñsÄë +êÐs.xEÿµõǰ/RˌTAeO½a6Ëý,ë<ðœÊÈ^k͛DºÍ»íƒ§prٛTº×ú¤ß"½¨’âm ±˜Mø¶½7UÎLZ0Óã0ȤëyÐ|èQ“¤„5 +!GÎvè!Š»ý²ml>«©8ª1$M³/„PP ª–u÷°”¸Øîbòˆ '_Õ ªa“ÔBE•¶v@„²Ey…|<ŒhAßjݜ%…BlWT&Ý¡˜Wj‚ìòÈ +('.‘vø3ötoònR´\–¦G-:–@ÔjyvL¸Ê9á,ƪö“"'§ÐËÅÃ>ÝÜÑè]ÍûæŽöøÉ8V¹S°&×áÞHÄÍ·ïd¦1ôK҈Ô×SÉx]/> Ó{-nÒø.‚0Øä‚æö­uÄô»^ßȓ1(_„ðé™c>*„9ìaúÅ ¹µ"””ÍD&­üˆ^`4˜äÓ:­å‰ðð+Þ¯¬Œà(«*XčYwÊÑQëáó;R¨çµuUӃw’M$< NŸO}Ö`3¹ÍŽÂ‹¸<`âàMvöÀô~·g{‹Û*Æyrõ-O|ۆeäLûâɦ ‚ ôÚ¿ý‰¿}õŏNnÏV<»[·?þ!½ý´"p&úG˜Aã +°&Ìè²åáï¾WäZ­èW)0Ý/¶‘;Zi.É-<;ŠßŠâèÇa›F ø*qè‡K@÷œÀUfq£luÏÃJ\hï˜ì¦gcË]¾1’å.÷ +ò¸øÚ=ÜÝ«LeC½¹®*âM²±yÔÿAé±eôçzÉ + +ÂYÙҘ2 ¬8ažj*}‹Î¥bãóÔJÓR“Âr–9>¼É\¡ +å÷øi)p/lÛ;æ?H¬"ðË`›oí¨–åô=O›Û%£ÖÓ‚¹ÿm7®3bµ¨ñ4¢Qø†û{nÄ­¢ÁníRMã&Q,ÿF·+,}û=|ۈN÷B…ʐÈl0<×Ûå¿<ܞ¸ è™í”´‚ É4@‘J†éÁê(ŠfqwXiNo ۘ–yHȒÓo·Q¸{yh’ áˆäIlíŽcHW”hC +X¤M +[Dòë0y@¡°MLÓcÑ;^=÷/w;J‚J;¡[h(J¾,4wV’¼T¾Ñߝ}† 4E?» æ(Õ]ǮӶU—m«îŠú|XJ<vEŸI4E¿±ù ã¨Ý©[·ýr¶:©£!è¯1ˆõ4ãWSôûøÿ„}|ÿl‘›±Há9:Õc‡«ôØìµuæ_¿h¿nùÚ¢e÷§ê®åÕ8óÙUûÈÑí«¬€8Fa_ðWy5hx¤PŽˆèµTÔҘ~SŒ z+CÜîÌ[T¤8u­ 9ôùìE T••ŒîEB"‹–—ºOÃó½íDRܨ}£W(“/¨žö€B}¢ÑC.–ƒÍPH?œ9ÏLt¤¯Â9'\l»B€l]„ö r_IþßZ!N‘ + »B÷8™²¡]å°7-0ØÈ ak×" +Fãæé<¨ ëºCn‘pZvþFD ÄÎ`¯ÐŽÇfÄåâ4@¡Ab¼M˜µ¢×«8Ý$“×ñ’=ç0(¡ÁRËʈ„§e•ºñˆäâúh["5¶õi”N֞¨ç™«‰Ù>U_zA6{°§ õê¶vG}e •FàIq.Š6ðÕкYB0OŠ +ÁåÄz’ßUÊF+ƒ«z gíàT¾½ÙVX<$ßÊTÑÞz* +›…RO=ÎTÅÑN’–?šqkk‡W§'ê¥J yP½%L·¹þA±-bíeۇ +4ö@˜ ¸Ü,ٍ„¾`Û;±ç6Þ6¢Q"R%ß'éß:ó€š:$x0‡˜©= RÀQ \„ö]Á"Áç¡~8ú#â@ÿ"k‘Jµ½ Uf¤¼ ¢fYHÅXýšŽ§"ZĔ1 We!+ð´Á|å½]í\¯oµ‘f-™m«Þ6¢›!ŒDà^³\Z[ݣǸC4Yíȕàèћ^±HŒd˜s7b¶ï¿íDádŔ+â5Oóù{lBEh·O*£yо`þ`bûmÔ幗:Úÿ»8ޟ}íÛ_;ÀŸ„a´‹€ê  °ÂÓٗu B£p´«€ù&‡Þ Èä¼?ë“$S(е+ Ëٍãº!¹ËQÅ¥ŠqF6¦R}ÀC8°Bq㓪gê¾}*8̉$ågC‹Õ)h@á4xUa‡ ¸á•.bm^¹ö·vÜ!UhGwgT‘!0¶êt²yAOÄ(mØ`L½$ƒ‡¨'ûT`ý×_´úZXÜîo¢A‚ÿª†Ëlâ¾]k¸ld_¤ýú›D°”˜âÖÙiqû˜¿TBýÛµ†ý„ÄF}!úÅ"b¢I¥>gRMìpwÏ/øò¶È;Q+-®.ðòâd k“¨Â'pÛ7®˜É!ÑâÈCPqص‘†@öYÄ.úÜ6")ºÊôå;æMßv|c+ÊͨfhgÄ÷å¤Ì7‹Ó7þ‹iiÂÒ/>¿á×·l#Ï%níN¼):úì%3†Ò¼–¸«±_`·¢EÖAS-_¸6+'œ¿‡< ØÛé©BþPâê¿Ñjâ2ݑãFºâى0µÞ1×AÒ-î¬ÆÖN.*X5Ž$T¥4Xz?*Wæۈ\ÅÆÀò n–HÛ®œUKÍSEΧÕæa˜z u#͋®3™ËxÛiΊ©6JX)lˆ,œÚ>÷“ù;ŒHÂ,KÖ¶oìÛwl¥GÍçÅS¨@ñ‚ù§Þø¨½xjÁž&Â' ,›ý(` 6ûQ 0ø´ÝÛpÊRJËTJwCÐ|úø¦NQIõ"ُšŠ1íGH{ó1~˜ýHd³éÏùîù¬Æ5ÆþìGíƒ.øŠE çÇf?¬“þñµ©wúö‰Nï¬HšF$‚þ?`Ej_xõ[³úÐn.Uü~qôúd­Û½´%ýû—î—mI¿²tM|ýÀ ¤^¯¥O¯Ý»Ñ>8–B‘R¤˜X3 $èeÅh)&ùm…`n¤ÐTÙCBÁFŒ,,xá5yÜh" Y†L‚&¡§5áû°ôeðªNÔV‘h—0™js‘æ-a ;‘’ïÔÊšÄ —ñ*GêëF¡ÞŒyI4NN؎8”Ž ó31¥ó­“Ä•ãZžôNlC‰¾Zšõplz¿ÉÝf'±‘º,Íf#"KÓHÁ +Z7™Ìð¸šP~Z€JÀ½ÚÔj†‚ÙG¡<I·­mó'Û ƒH"¦†– ÂÖÚÞo€ß¢å"½ªP–`ïÉúœjcû¦jŸ9gèrPú•óþ“Èò·gïôܯ½øíK/Ô«MÒv…Í]Àêª×ö]:ˆìR\¢ +AÄ €í>P0üy!í»t©$MԘzÓ#bͶü|é ±3Hb}'‘‘Ó®cU*Šˆ†<#ݧm@aDt[..ì~Èsƒo¤L" (äP„ rHNÍÝö›$ÅDÅ®_í°âYN9ž©Ž$žƒç°àù`—Veá&*ž u±KWûÑÿ‰ƒh‡èGí´H‡´ÉI¤äàè+ f͵ˆ;àw@ϕixÔ}7òôæô<¹iÞ{.©´sÊîNzÿÒ[Ÿ\D¯ž›³ó±û·)ف®ñ@¨ ºÄ÷;º.9 N9`—ÃçÓÇ7uªªD¼He‰Ž4è"³?¬¶òq޼OûsÖ&šÏ +‡}ŒýOˆïJßJMéàšâøØl¥|„C×;}ûD§÷â;Óh2`;ÖK̶~˜ ˜©þäO{=,ùŽN{ݦ²¾9âj‰ÄX¥oôËjßð§¿á¯Yýf> `½š ØÇÿ'ÄwYSž.ÕC»¹Té#8ºÑ듵zl÷Z|ÿ×/ݯ‹ï¿°t9~„J§^/âûç×î#‡p¨ä8«¹ÓVT¾:Žë *I:‹¥>ŒHˆíúSH•"¨Û} +¹Â]H +hìø+¶cvßH@·…ª""±×þ¹mD¢k +pd"9“è +Ë(ž,o/Ù&I¶ÆS­L¾€;kO†tNíUBH' èÅ·½ªùÞvQ¤‡³ ‰§jÔÿ²&qþjs¡z‰–¡2šœM;LÏìgQúÛÚ6š¡û‹Èð]•H}àJ4;¾1 gÀ¥’4m<’àÎPzÜe:»¿•’Å*H™Å ú58cd:#ƒ¡ìl/­®'aQ Ë'¨Ëòšþ Ý"±v‰8EÞºˆ ¿÷˜Ä Æ 1á'u9A9cÇDŒ|5?;«°x}6•¨ˆÛ:T<²0¶é¾‡csnp/4|i¨T.>O|)ð%blõß<)|ÔiZæNš{tЈz0ÿ¬¤Õ^äÐeE\CxÖ$ÙPe;…Ù„óFèþx€ä§ÇSIއ>~ð èŽä¢Ù€jI¤–”î°Z”1Ê6òÆÇÜi}1%0›ìU׬ìÓÆ|Š´yœôŒßŠ«œD1UÞ¢Æk¦ÊæF‚USûó¯(4&S,‘Ì +¯äŸCRܶB¹mTã—&å°³¾Zài@ŒÜº™¤ñ:Æ0‰c`·¸>€l“·ÏÜgâ÷xv ÉJÀVÂ!–yæbgò’ËíÒå´÷ŸôQxÙž½÷í~éÅo_zq{rÈgÞÝv¬)ì¥00g¥ËÛ®"0ÆbµP¥¢ü|ñìÏ +¢Ã$íÜ{#Nî½h¹ôÂVõ@Ÿ02 ‹}_\eµƒ®&TCµk`v´H‹o´Å¿'Q»T¡; ¾g89Ÿ©2äAp•'i¿ÆJ©õ¡ÚÄÿG/¬|v3ú®ÎNÒ~î7b¿ko;1¦®l +†¦r×ä¥ó—p°ŒÕä”)NؐiÜ“4ؾå¼» nQÓ ×ÔC½ÙlÒù(­ðšèuȉïoÃ`‘4þœû(LL¢îwÖH¥×Æk÷ʅ½ÿ³H Á)71ÅÂ_òÆûXO ý½³ª º½“NÙ.’4.’I£¥€q×Ê#Kç¼ úÞ~¬d¥ +a/V»&¨j–½\-@{»§p¹òºæ£ÆnÐØghî§»Y»éR Z˅µþ³Ùï1ÙýBVN’wzgåã—îÄ?>›È¹­ÙÑ$í¼|7^¾ˆ±ƒ?´Wô !R.^>~éB©Vek2¿qu4Iû­ö0¿l!ƒ–)dã²H°µåq(Ÿhï=vʒ“Á½`Äw~Ø/¼ó‰Jòâ±ÉO?WKzÔ¯ûç¯&÷¼ºHDÄ4åܛSÎ¥žS'Üm2ói$öÓðꢕ¦¦FnžxuQ¥½Æcü0SŽÈfÊџóÝóYkŒý˜r"Ồ‰¹Óûóxl֕LýãkSNïôíÞ™r4²D\5ÃÝ ¯6ÎMS˜Ûñåׯu4Må¨aœ6´éz^¿líùÓ֞¿V!㴠Т!uhD矂­k_x…@[³úÐn.Uù¼nôúd­Û½4åüû—î—M9¿²t.}„a§^¯¦œO¯ÝG¦œˆNÒ$¢Ù¿ojöŠìØ <….-´‚H®¥«‡EãÚþû¯H}]aN)¦M¨ŠÄüÖ(Ñ1XÓFJ½ä²D" ÉlZÂÙÑäĉÂ12Ú ñdõ?B÷vøN"Hìg²ÒÄyvç}V7 +F_ ýíÖWd܍¯ò¨¥ª$VÑOJ3èz”MŠV£8šæ- ½ÈM¯’Á“Ô†'ZC¶šíeWo»Žà_ŸBÂnҔâ§y´Ä‘Y-x5Ó(Xeà… NŠ€ig'äàóG¨Â¦Vw–9w& 󌸧TtË Ñ›jš€ƒex©žéَÎYð«öòˆ„ìÐC¸´`ëz#‰ÜR¡£¢»ÇXz2ñ"áV4)밈Áâäo;80ñõ +á\“0-÷»F‚ ³bŸñ¶•š&÷Ÿr)©>¨õ®ýŒ8nO +.þ™ÕIÉÐ:¯v‚I`±èMa†MzÏÝ5Y£™PÚ£QC²Ë3iJH±hÇàªÁ).~N3±}þFôìzۉ®­ôŠ”T¹Â[¹³å:†ÄÞ#偡“pvÅ«êCíÞÄy¤ïŽý0~EÕ¥6»…$ZøΈá“1Xe1‚‚ñF•+ÃÒD¸«?ÊØL¦T¤„|Tþ…°ÔYÜe‹‚Ñ+J,މÁ¢÷o‘D!Uê :¥Xèô3Û§#ë¡Rî1Ù¶fÀ +v$œ™¨è¨Ð ß ›)BU›¢(!{x u!¹¬vµõ"[öÎEº@µ½³tµÛNóXW¦!í§(Ø{MðÝ2üáT€¶ÝÎ÷R¸kº0øþ“$Y{Šo~-àÉ{ß¾ôÞ’¶c>Â9ÙÐB5>‰Q€„…“:|ˆ +¾Á‡>s!A†º4ª;"!CCgT‡ÙZ7Ò`hp¹Eô#~•ÉTÀ,\(2áf~Ü^eԅ¯[ÎRÖd9@Ìr¿ŠÀ€xeò“¤›¥}wP¤Ùîì_Àâs! *-ï- f%|íhžw©Å‘˜z +ӀäïPÛ÷†eDvˆþøÛ.%ËÙÇ&ͽ —7/Q›ÍûKttzƒ¥TmíH4nRcšÎfkŸgniÙ¿˜u° °fÊdfGÚQuQ—6sµchj—$ö¨æ/0L÷"È ±à9ŸövñòÌa…W6Ò.÷LbdLÿ‹ŽQ˜6½Jý +т< ,]sÙ8>*MÎÆ {y¼zeó[PÆÆ +&ÍV1ϲöoD½/Ò¼”XüEì××m#’E§Þ0ÔÙ}Q-ž.‚ä"á$8Dõ´•ÖÙ3&@y%‘¬“ùx‚G6ÀÆ®ÙpfÝV]€™DwG²¦ ?”󁌫b`D¤âíp7yЎEé%"f~å´]Ù$Í«I¢d¸»Än;†#p^±ÿá+G³,GŒÀ¶›ƒâö±¦Ž÷yÂ̞M¸Þƒ ùöŒ[«xÄ~ãÀ=RºúŤ“ïn°ÛFôª,Q•l%nÜ5¿ëð3 ¢À]žg,µè½ÇÎS*Wu_I%xòÊ'šØ‹Ç¾–K¨cÙ-Xåh¡#mh¡wV¤a^ꖦsš¦)*M´PuŠ"¬¡§£L´Ð¤ ö¢'çÙêÚëÏñîõ¬¬Ccì‚Õ½‹‹´òz|ý.8•a3'°èL Œ ÙˈÃô^ fm°Î +Ô±L&]’»•нóaѯ}¤îu³$Õ°#ϧ֑<w# “€Ä—¦‘_ùö…W~`9ñ‹Àÿ˜ž‰œPua!«*‰ƒÓBZÂûYêXÛħ¥Ú¯v0PŽYò'*%!ªL,p½júJ!’!ԛvøx”4,qÐd9Z‹’t'¯Ÿ}Þ6‘z²hгÒ58»d: +ÐIâýg;ªC«´¥¡§‚<7Ü®H3;úÄՎ9´ÂI,$ñaôy½4˜‚£ÆL`­AXÙ5wö™ ûdQ웷ŸÆpnM¸&*.M(šSM]´v%7>¬õԟfxçÀ Y¶–J¨Ò`*Fiœ¬M.ʎÐULŸ'ŽQöðuÏDóˆ #‘úbn¿ç—-b%¢W‡ìE}ÇÑKð*ÒЊŠMš¶"yZEœ¡tÎßa& ÆÆ?pF­Âvìl§ˆ\¥¾µÞ¤ŽGð +äÐÑ­N¦8êY"”\gH +'MâÀ<q³‘ú’®ßk/"ሑðÖCÐ"Bh›9’“²ß°D2@îۖšÇ”ÿU±rYˇ5ÿºz»v/Uj#Alåxªª!ð‡Lº<Áe¾ôºG™óý‡¾¦¤G‹,†sžý/,>½¾¡)Ö§ +ÝVLJxþlfø4y>Åa>^Jý9`é|hýУþK¢@V$“õÕ4óõÒù¨F3ÇûþMYҗsMëґ¿Û?ÌnLþ[uŠûxhŠg—¸ûï%×çúóÎß>Ó¹·ï\«È´ä©YYõº”W¹Í¤?úDÊê¡,î²jᖝ⠋Î&TØ,« ßÑÕÀù°~híùËV_Êàx÷Rƒ%¬'%ö1¿¯äåãKJÞe’°^«ûÇÅzÖÔm­òs%ýyߏkõ´©¦ì]eý_¹t_ÔÏÇÒ¥ø\Mì;§ã—îý + CqÛb™S´ð@-ˆpҐ£=“Ó@yðEäÙ[™ŠA«J0QÑeåO#¯V9ªs‡Ñ6¤XbÿÚÎ"LÊᬨeRþ¦Ä’9ý&²E„Æ¥]´gðÙ*všHÉEQ=¶…p¥ÒЂŒ@¿*Ýd²ƒ°òm܎7ѤASt3—Ù $ …Pbï”Ó†… ‘ÖßAù¹¦~҄1cJø¤á—Ìš$Ðô“@q±œTÿqÒæjÜ6ÚX3ü  е®«ÿþ TÃWJºñ»ÜdÙÍ*ÇÙ$3}ÎøÀËaù®ýò9 Äõàc™ƒÏ¿ôík/Ó³aÏÕs}< ٍU4a6õ‹3h¾½ +©ëÕÂI¶§ÚŠv_:³vù;˜#D‹bEÕ?ÄZP¸Fɀ£§"T¹œ5åÇv÷fX”u( Õs¬C¤·cϸ;„ƒ" {˃Z­° ´ÁË "4É|MÕ䨅séÜ0&¸E/HŠIÛ6í¢Á‚@ØTZ'£æ\·ì €>ט=UF& =ÄV®÷³‹_Mڕ¹`H/»;1_|ãã­óâ©9-çös‡wIK¼‹êSŽvÃc5ç!O›dmÿUô¾—ÁMjç“Ú­«Q„\/¸¼ÎDýiB‹ý90Ÿ-~¯ä¾„åäŽ;©«¯ù±™q°×Þ´ÑÝÛÇÝÝÉèšE“ô†xÅOý·ºÆ¦Æ6‰m¶”db‹-Ï¦P_oܾ.öç헷µé=ÜìÏÙõ|~ŒÁ„¾1þß&°/I+Q><[£‡fmÊGàÇ5zhöZ6ÿ÷/Ù/;Ò¾´dØ&^»Ðhw•Ë?»dïÊäˆìÚdÐ|³ú7îHÆ=A“ÆE¦²¼™jj^ +ð$eú-Z>,^*ôL…”Là/‘79+‘FÍa…„þü ¼xO=£BüÔ©˜™rö䅄±6Êo–ÈàøÒtnYŸ×O ;1€ñ¬`¿Nï…84©ƒòw{=—nÊ[«hIj•ìDà€@'PÐ:VÅC[”ÞœÚ ,cš,G5Q¼,Ðv'viPÚ,©÷Y·V$‹}Ã_©€¡þH3óÈt‚ Æ¹hR¯§V³7ñ"çní%QNéy¼¤Û&2ɜن‰ M^ŸSµ Ûö'LÓS±§Œâäøªjkq +E½Aã;ÅWòym—’ ÿtR˜üÔ%—A«Xžñª$×vFÁ@UŒp[%«â֞+í°`L¯HbðƒUž¹’‘ >ÿ¢`ß5l܍–mÕo‹ ©Í‘7@d%bvnÛ\rECïyXé.€cž‰68Ça¢«„tˆÈ:Hu$îg¡¦± “³•h8ihqgIßVGãx­· ÊÏ'ó}þôu utm`0ü%’¶ +âx_è Ûú.Fóò¹¢=x¯.}å¥o_{霞ÅìÖtK:ýç/ >±N‚ÃÃT.˜½»*@ù:ð¨ÔÁ"£Óöxï„tNÊÜym7.Zß¡·–œÅ«V0l$ÿêsjìA}V¼ÛN,W?Þo±ÓJù"Â'å<½žÀAuèÃՊ’wœ­ó0€_p¢­G“ +¥E&—S3ªÚ”ÑdG-Ý®•)3%>š@Ò"Ð1 Bõ0õÄa +¼w= ïYÿ¹q1#ÈՎ&Åßñ…ÃQïxå Øà*ˆÄ“V( N{OPrq½¶Z%.Ò¦TiMtc!Â'c^YÔ«¸» ¥=GƳxРU×טETÂϢإ36®cÛEUu^cÛW5Þd=“œ!.„ÓæO`Š0R”êŸ)nIz!EŠå¶´' >ÙEÙîÝI ÁÐØuÇÀ›:ÛoðÉNåçvN]K¥ùºµƒCÛIc;áH]”ÍMZ:-íeõԏÜñü šl»ÛÄYüpCv ‘©sCdéò(„½xª‰cÕ?0³/¾ñQN{ñÔ<¶k².Æc¨²Ž ̮˺#çM»¼*“S‡ì +琐¯JiހîÔµ©´z£é´.žèœK!oÏó«+µüٕZý9Ç1Ÿ·AÎoùj­ԅSx`OuõI;»k^+¶³Ã·Otx§ÚÚtJQjrX]Š‘;bÜ ¸ qâEÛϛ*d{@WQŸO Da¸]cJÊÅ}è—íþìû?×Xf§6t¦ù-@ÏmŸê¯ZӜãÇvß+ìkMwvø¸hí^ëºÿ±5üeÅ÷‹kȅþZõUËîûù5|Wùu²® ÙyԜw^a±."•:ãöLèžDSXWs/½é@'s)]ÓGUarvàóMÞ0ÛI!?5¨ŤR.(ýâ”ÿ,)Žj[ÙÆˆé„öñ¨ ŸÙ¸9Ôs”ÓÔk‡»Kfø¦YôO>±—y-¸Hc»Aô ñ 4 ÄØ«Ð¢>Z¶9? #<АªËjKZÆvöŒÈÕJ5Wù a„øG˜Œ +½Ð»‚Ú“$„*%'“#ƒ®æÈg“a­-*S{‘HcJ*Q¶½¥(ß.D +Ér$‚ðùT„mÄU‡7¬€ T¡íСÛå…@)øqG5{]^EÅ_a£ð³bo&‰N=Ey5Ãm2uÚfL½¶Q=.$¥ªÙ¤,b-¼ãT0¾íÉ"cRÁ[oÙµU!@ñÔHJ8D4WA;FB¹82’v"Ùïä¥It +!"-­ÊÅ6ÚH ’‚Qu誐²Go側Þ:I¬Ö ðŽ&‘5+ÛµžU]<‹ÈIŽrö‹$wT–è¿Ið¥Î¶â¯R½aJ“ß­TrT²#DHà•* ^Ê"‰Mv§k¬KÃð°ÌU¨ U_å”ÉÏx1%( ‘˜ÇYlâ®Ucˆ˜8½{ú¢€oŸNǤy+™|[´¬|û„l(XðªvdÃ+÷ݏykão|ðwùfG5x ¶r*É«ðÔó¾};ßÅØ_<æ +>PþÃw¾}ésn6‘N¨„/ ‘×3PûÎ)™L%$IÙwÀä«P*¬çÈ®k7¤—•²z¯v*ü¨ŒZXc? Ùâ_…[Iô ’¦Ùå˜Q1æm¤ý4 â©:áK~«0X\gýlÍ#8H?71‰°j Y¯‡Éöµ£OA¯tî¤ ‹˜DØÌiõ¦z“‡UŒi˜l<Ò¡Q7uƚÄü p[¶û¿ËŠ+á"”SÀ;i簓H­Cw§¬Fí/Bˆ;¿ž|}˜ªy "C©ÕÂ7ÖÃ,¹($ûRïTwSòl|еN(@ =¤€x¡hÂxí#À\4î:ñ0w+Þ6bc*j騛iW,Ótê*nL”§m H÷šX2y¨‰E‰¿^þƒð·Ý~•ºµ¢¸XZ¹ôRmNæ{•Cíìºüˊ‘8J<µÛréO vpŠ£!¢GBvpG.ºòu1Å_…&#h6–žËh£Œpä1n¹›&e—Эôð G̶jVæ^³È…«,9.;“µ(MG€µá¸üµsu3áò¾gÀƒ¤ÙwÝh9Û)s—”ÜŒ§°¤ @}"Õý‚-\ñªµ—s´+Ïn¤…z.ʼgØ?“Öï£ÛFkrqçfíٟøkdƒï%J¡W„ßsÉÞÑÖbÌË£–ñþCMÛЋ +ô¾ïQ yÿ¡É)?a×9“Ÿvü´ë¤Rw»Î՞2 -Ýæ2tÀ«]¦l¨wêºÛuxc¯q?ÚúÎçõkÄWJ,³KþãXÏÛ ç·ü »N +ñήӸtՏ'íìbÿÀ®3:|ûD‡÷vÜ½ÝmÑ…•¦M ¥]ç×°¥eK}~°ëü·Öð×í:_[ã~T@ ¯vO¯áGiÁí:îaDw%£¶åऐÈIt” >ڎê2I$×*ÙdÓÁhëˆØ`fÿˆ¼DaÉItxñ•W&ëÇéóFBZS`»ºÑ÷Ä'Ðqš@¨¨ˆF*%F¾›P÷YxJ.ћËñÆ  ÙöÒÌ%ÖBÃpTUHD'èu„íHÑÆNµ©Ivš$Å7g+4¿µ…µ6¬zٓ„cS™«Lß âSe*g~Ï#n¤SÙوuFr§ª¢ÉŸy˜øº(‡ŠE´aM³‹&¾úYK0ß6Iû¨öõ[ıüâÚ&dR“Eµm¦‡M7r”×þéŸöÏNRŸ +b9y7)Ÿ¨»GO0Àܤ߆&ûVÿGø Ë˄Îu¾ùï:¢/lrgêÞëè_zïÛß;çýYÊë¶ãšVÔ× ÷4ÔNºm¤¹w¢4]*j—°{j‰Sð?‡¸·c8¬à+¦ªËj•ÈI‰>ˆ\æP †*&N +´øËiˆ•%à‹˜•i@´RW!–;µë+ï|”^=6Û§29}Ìqh_¾¸¡}yª¥.íë^ë‰KR‹KR»jOç†Ø¤®MûÒ»ö•܆žäSÞRCõ«k_üÙµ/ý9Ç1Ÿ·AÎoùÚWûº|§}E MÖÐ8ökõköøö™ïô/›PÉî\â-?0×=C0/6/6ïr÷|ބrÛ’ÝûŒ–Mr¤]vOqË5´_¶#ø³ïþ\c™hœÚ’Ýç·üý˃Xr•Ýç$?6lËæ>‚Ÿ=>Y¶Ç†¯5°ÿØ*þ²öÕULçG¨âjxUÁ>¿Šï'{Êۋñzó­{Ÿ)ÆUâ"zï{½“v½YàœÂÄA™4Ó©8E?1²‡ÃËà°do•Q³)>ZºH@Î`çÔ£X¸—éÃ+%-J :Íúéñ§¢I&‰ ´ hç½YŒ¦[7êC€D9F +¦Øö€P[å)ŒN9•TG% ™åðVÁSð;•u6üäš9‰›?݃]ٛ &²ûÉUšw‘ +ØÇÅ2e7â9ª +mDb%Ñ=°µ§Ä=¡²$ˆä$))äddÏَ$Tˆ9ßö6ŸÕN‰êïHAí !€T"ÀeK>,í׺ÃÇÞæÜUÓŠfMR_ÚÚ&Ê.拒©-×TAÞ +®å¾BlR_Q¤ ++»1u/@‘LP¼Q-m‘rä6¥u°À£5_©ºßK`•Ô+ñá¾.X9U[Çp&8>ùþ?H¬"UcA9ßÚ¥æB™¥£ Øk@QHC² Ðø¹L¡2bk„Àð ÷WÝ ‰aECbÜÚ¥Çe¢¼ƒ4.X¸ú"ö«ø¶³®ŽÊ¶ç kÃt•o÷ÿr©{Šo(Šhµ;C ²N8$Öè&LæÌ¶â›¢)ØOƝÓtZÊÎÙ‚¾G…QO¤`7m„‘h †#r:¶vG¯3’Áëß{#m‚ØFtfgò`„E¥:ôXÃ\Ȁ˜‹]¹Üùì"›z¡¿Œ[Ýoóó.'º'øA%!·vpy¥õË¢F0?§ ]dB3¼í…’eåc4~Ä^¥D,XÀ¶À"Íû…Kg'ê&ºíD Ì©5­Wá²0!N×ßóû­¾t·sbá䝵¯É£7}ꯞûÞ®èóµCý/}¢|¼zî ^õv’&D—v°ëPF{³ëÜÙSòÒÿòÒÿ.v™Ùl6tÝí:¼Ñì:íJـ»›óyý2]Vš.kŽq¬çmó[þ„]'¥zg×Q˜zŠOÚõ»ý»Îèñí=ޛu4ŸfÈn‡}Jõ¢„×e«Ë8Vwe~>oš¾m3Ø„Ê Ð®€ª]¸[‚ºýò¶XiÀAèÏ9–ՁƩ]`ñ-¬“ÊԜãÇv¬šÿb{öø¸jí>°êü·ñ×­:_\Dw|·­–W«Î§ñ#ǺÇ¡šl™x|ÜödÈVâÃ&ÑK0 +”Ë–lë µ±›îÔ.ßӀ˜ÛM[`¤â†í¦Ud¤Ïg¯™@È¿òÖ7R“ãb_úè Þø¶q~Ÿ™—W(WQ˜Ð\õžàKU,§eš3ÒÝÑ|¸a¬¬ŽÂx‰:ÕU¡ôÍ·MÞ$´•Ý ÄÁÖª&Kv=Q¢ÐXOFÐÀŠ2õ=©öyÐòhŒÑ£O¥³íNŠ­Ëû·‘°!ÁFDÅ@a¯ÀAæ…E&´¥Ab¼µc9oíè&]¶†<îq ¶ªp³£Ò,Ö"Q-G™Å;-Ûf½mD’ÍåÖH„}&‡wÔp“Ù-w˜š,¶ekH‡ÞôŠEb$ü«}ÿm'†vr1€zEx´Ò9Oóù{ŒIïbó”R·rjƒíWÒw»A^>èšÂœ¾XÿíÉkß¾øÚ¹Ÿ…}xPì ³*[gcE‚îMò¾Ê©‰aI÷®b£×ã>Hâ1u¡¿X»úž]:ÁŒÐӇùÙÜbŽìLjf éÎQ† ”€ŸTÅ;{“gœS$Èdê¥ÅÂÛA~…WÝsÆF‘ö;n:H}÷*”`kGèJ$Bw…xòKT%°Ž'»€I Ú² +‡`|ä*Š"@ì5ì<ר¦qF«ãÄýe4H°@"j0¾Íf\¿v³©ÀõEÚoÀI$–)ö *ÀûWÕ0Ô¿Ýl^HÃԗa™)ÅIx™Ã²öõª­âÅNÔJ‹±Ÿ‹FÒiw“> +ÂQlß4¾ 2‡ýtqä!«‹%[¤)Ó°m±K?·H>)Û¼Aٙ¥ãix¢Oá f¤g„fñú »Æ&•A6ºãôƒ¤K¢¾Œo¶;ñÄè²—äי¤y3q]-b¿Ãn;1fûZ¸zȰ=Œ]N8ˆxÀ×{à~oÂ÷¡”J­Ï.›y$Wª¢0¶¼{î:HºÈUÙÚɽ¯†ªuiðô~T®Üÿ¶¹-H¤apò[ÞÝ9ƒ¤Û¯;®V;˜‡Ý`µCR-Ò¼é:“¹\‰·4)7N¹ˆJ‰xЩís?™¿ÃúôN=5l¯í;·Ò£þóâ)¡ðþo|ԏ^<5ü§"Šòr·<•’6ËS ê÷²<Ý[|ÊÒQËÒQ/–£Ù¬Jtm–'½±[žšÂ±YžþÖó’ÍòğÝò¤?ç8æó6Èù-ÀòÔ¾î2*œÚ‡†?¬ä”–êµùivûö‰nïíO6«2]ç7ÃpœsÁ¹Œxç2âíâëy³IØVþÚ§ÕLÉï‡*®¸úÐ/ÛüÙ·®±Ì4Ní™.æ·üûSûÔ;Ã5É çڅà)g·OÖî±ák+Ôl)Ù +õKK™ÝG°•êöjŠúüR¾`œ)øCdŸXÀy €Sd 3Z;ÎBô}ßH±Zù­¿ÿڈK +H-àˆ¬ —",¦(Ó+L/n䨴éoD?,?,/E0µÕ$ÀF5o{uÚëq!DîD RXÄ ˜B Øäön¤‘Θ‘d—š¤ ÞT´Iµh³:ß:IlV9ÊåºïÄ6”è›Ô”•Ø4Žeˆëؕ„™±H†e-…h'–:ÚH¡õ 0LXe!bô#&¦ +³¬ ’ã=D,wÛß6ijÝH¬…Ì3Jl‚OÛ÷aüý±—à¬ï*)@bëT8ÛWÕ>!cŽ.§å»íë÷Ÿ$.ß;᝴gï4䯽øíK/6T\›¥íš[Á9ëöŸm£N"/¬%ÿ»±µÚ™² x8sÌ-Òe£N"Ú$±jêS¦BD¶ëçé$69M¬ð$2’öw±“ «²fDÂN–ÖTŒ ò#'|ßí^ó~νyÞ7ÒÎ&ð²=•à¥v“t¿‰G±n±ñW;âR,o¾ŽÒH®N/«l…1÷ˆIš9@B›ìT–n0@ë&ô¢£cœ6gÁ;i;•ƒ(Øù@9l¢kwÀï@æ+=¾‘JXk;RV ”"m†9=Oî›÷ž£ü&·Nt–s‡Î÷•·>¹Ž^=7gçc—sSÏ'@_SZ'@_ bê&øß Üu‰u‰Á}v ¡ž®{¥(ÞØKEiè‹`.¬*SB`ÐÉҟ&âØŸ³^Ô|Þ +FÍoù‚?·ÂEðOÀb¸RêcÃ.qh¡>üG·oŸèöAð׬š´¨è¿)-æM\¿º´˜©Cå•|=ob m«=dÓjҎ¸c¼EBCVù!ý²úCüÙ ñçª@4;P "íc(ã[þ„à©æ"-®I~h8×.~„Ö7»}²v ?üÿ[Kùë‚ÿ¯,¥óö©Û‹àÿ…¥üÈ ªÒ2’•Aj ,÷`’§ªQ‹ŠÑ˪æ+q„!Ÿ +þR¸w»&ɘTc»7Éê Eq +­+fç_$l®íŠVU—Øë1Ýv"ar¹ÜªYš¢Ò[¢ðыD¢$©ï8Ñ¢åt†מ ™ e‚]7ñ¯o¸£Ê7ßvîÏÃلDį“`?|ښÆù«ÍÅ9â_W“3eC0šý,J[ÁF #Ï`#’~^›ðNð•Ðûö‘&“œþàR¶4ÚA<ñ‹óGhœ|¼ +ѩʄK°8Ò&îÙê²L<Ÿªah'(k*Ë\¶OÎßFÂ?ID%o]D +XõDvC!ꬽ‚¸5g;F>怓UŽvV©G³©¤Gí@\åA(^'1öée+gêÜäø>‰ådã—=Ÿ´€ÿûn^ìEêÞ4ԝ4wé¤u$õ` A$#d3…§èPâϚ$TªÞ*kJ.J¡rBÀé¤è¼£¤©Ø'õ<“ øÌek@+eÂ8ó‘MÊeùNãcni~1ªAÚꚕ}ژO0»+"™‰TB´ÐÙ;QüCõÐp–©ÞùF‚Yÿûó¯èl·Þv"áÑ^脄­s…Û Æ/MʡӾµà nÝLÒxcXÄ>°ÛN\N ¥Þ>sŸ‰ßãM&,#ȯÛö AKõ<ÁäèLnr¹b¾Ûeðþ“ yœ[zöޟü¥¿}éŜöq"Ÿy”NC‡$ùˆ +Ö¶•ò 0 ’Œe1-〔û’ +ºH߈“/µ«Ul¬¶c›T)ø³ÅÁÇ/n3Žqñ« ùVv̎i±ð¶Xø"²M‰ +8‡2Ì\n¶¨ëݸ‚•ZÂä¦Dw¨°õ"n¥ˆG¿cW„i;ø±_··ˆ:oŠ5~Ê #}pã¦ã—xpOYMNÙñ„žYÆu0H“ókQλ;â¶Uö"Ó\CŠK/¬êT8u\‰êiʧœ‘P´@ ³4þXÎ( õ"f÷qg ¸m<2 vþþÏF¢ì8¹”A¨/sS7–ØÀ{Jèï Hvƒ¯®NeÝ$;iÜ$ƒôŠ`6@Yrd&×AÿÁÛÛJ(Oe58f g…‚Ê1`¬‡/ho'K9Ëw~‹þýóW“ý'š_taGó»7¾œKE<—Šx1âÌdà¡ënÅÁ©gœ74¿¨góù|Œzýٍ@úsŽc>oƒœßòŒ@ñ8ïÐüÈ·tޟÇcá}–ò¦ßìöíÝށlVe9ˆ®ÝvÓrÝ®¯_}*›ö4·ƒô¯çÍ$`[Á,6­f9Hi„‹€·®>ô˶ömÁŸ[ê´ÂÙ^VEþüc ~íSïáÖ$?4œk—>‚ö›Ý>Y»Ç†¯@ÿ±¥üe#Ð/-eŽ!ü©Û«èóKù‘(‚µÝfå!DŠ +4ý|ËCˆ¸,Ì/háeˆä“:ÒH‰Ƨþ÷_‘ʺù2íÈb„õ_g²x«”û­GñtŠ2Ó ;þƒ¼F˜9r&‰'«ÿš¹·#H1b:ŠÕl $Õ¼Qä1ôBÇQõ „v8 â»ñùMZRÎ*ÊI—ˆïèkaRÆ*Z½éh»`#.kUž¤6‚OÙÑØ‰qŸÄ($=¢°9ûá.¥Ý-Ôà«Ô,%Øþ‚HÍÕt‘B@ыΫ¼™i7Òài0ºEŒ#ì•°ÐÀ>RjVù&Õ@b‡p}€› \ †B© +:Èæ€,®Š‚MMñŽÏ’.—Æ0¨Ü²µC;ˆÝ |D±º& U‰ŒÑòÏàW*ç^¢ +u ‡¢?THp(m“{Cm"™Eüm÷’AP͉«?é`.&UîîÑAÒñ –¶µÃ¦Ä§‚ìlÖ¹ù Èæ¢–åŒY§Šûdl³3í¨ÿ?yg’7®láÔjòGtl¦ò4wáqíúðŸ@L¦RJ_yò<©J…ADˆö„îjà³öFÌM¦¡Ê„$+ŌZ|–B‰•™‰-îÚ… ‘†û™Ý‘¼è3‰ÔŠÿj‡ìñ„ÒéUê£>0 ÊÉÐM·Ó'(¦jà«qC) #>{0ú™‚ìQ1ªÙ*¯#é;0eG÷‹?‰í»9"~ õ†‰OãFìÈ ÖH>م¢: ÚJ‚%âÌ©‡Lé¢dhÈårWÏ$3è9~Ͷ€5ëºê2L'ê¼²Keg-:)K+âQg°6v¸©ìªcQw’r…2‘vçÔ]‘à͓Ôï&I“éî»ybGÓ+2–ýûÞl'#H`cŠ›@e3|òyëWì˜áÞÄ`:ìTãšèI1U\Še¶ÊKnWÜ£”©ÝL:Ùùî +»9â¦Â͒VI¸rçü^Öáæ=dbô>È{˜ÊÑG‡/J}=ñáÁ+ècO{-ó¡Œú£u;oËÀRÍä 9Û×ÙæÔQÍ.Õ4ã;ÛUqXªêÚl_z£Ù¾Ê²9,Õ¢2‡eæKt¤ý4-ß~öqÌç­:êø–?aûª¢ßí‹²5ûò ]Ó¹µRŸ˜¾z¯ïŸ÷z±|iNÍ\Bàó4—¬¾ü€þêFÄ8ˆ¾ŒÁ|Þì ¶d.i“*sIYVÄYêgöW´[:‹~ޱ̧í3—ôoù–/’ØÏæ’>Ǘvcå¶Ï UG¯×•»¶ûÄîõw-äïÛ½~c!1X|bö¢×³ÙëË ù©Õ‹Õ¬œÝ‹5MŠÇæM^’'g;ð4DzÓåU•‡*i0yÜt<Š\ÍJ’ò‰¼ÔQ©+¿§iÓ÷?ñãòWÇ­öiӝ4 Ì*{ØgãÞ·òjÑBU2øÂ›kx]ëaéÿ402عt³°;ÈÜ]_¨Œ «,WAð'+Q8ïÇ¡Lì…hy'ô‚H+jHן¤9''"{aþ©|Xw¢¦€6ÀÜ ²ÏÂ/—[kXƒU!p›ÖÄóH~Í0AŽ­àM•ŠmPýËÙEHQˆÄš±³"áUO@7Ë?Ïì•lG›æ4«2JX[²¨GrgÀõáóï?6ÌF•Ý €2™ú˜I—ù‡é_¢@Þê`ƒU d™L,%E}UÞú\ÌË¢¯ee÷…Ì‚Ž@¶²™W» +nX±´£ºäö G÷ÅW¾¿ðÊÏì)¾•Mbàt=5¼IEŸ fPþTæ×aa4偦"—”¤Àl' 2*„p Œ¢ƒª^4™R¹à{Œ!"Àˆ ì aó$¦’Êe&©û³m›£‘d74Š˜,-ÐBàÔQPï?êTeÈԊeAó +Ar¨Ö“9œ/Ó'ÎvÌ¡®qzKA¬K€^ZÌÂÁYc&0'ÈJG9TûÆJ/ äeRì›ÝŸÆqn“§©›sFü¯åüdxȃµš÷d!Ý óÄBà<­4;ØM«&sŽ#j’`dÌ@ð¤,G»€«&‹e’k`’Úbº¿Ç—M"Ø4EY’ìE} éÜ£ +Â4`¦Ã&M[‘•M¬ak¬7øƒüáÈÉ¥ -pÄÚ)X¹zµ7)ò™ùxi؃ŒxJGSÚ즺Jg‚à‡äImIçßsOb^LJÈDÕ.‚P!øBÛ,pƒ®ð#`‰kÛ¶u•E™³ >ÂvZË˚£–Oö¦/œ œÛ–‡J~?xÈdÌýj‹~éuWÉóã‡^SïP…Éÿþ9Ú/lE½Ødý³NS]MÓ§ù—ºè YVKmJºÄºvã³3ÝR¯èFi~öÕ¥A©Séóö¢[ûÙß?Ÿgdcì^›õ¼¤ÍkЧRýÖ"eÆj'Ž_P0Ê¥->bbÿß¶°=Öê?èýý+½GûÒ¹¦š_Ýxe€)­Ã‚l{/±Ñg4.}Bõkï‰)ýÑ¢Øû[1~ÍÐ1ù[éuãiûKû¡åÝ-:úÑ a>Ïèl+dvEÿÇj౿¤žfŒBMÖÿuíµ5B]ºòX­ÿ óëÒ=nÛj%=Öîÿÿ¯ä‹ +ý·¬ä’ëõ:ÇCÿ{+ùqÍв¸™ë•¹[˜¶pS-ÊqÁӗO¿Þ¬›Õww$P³£•þĤDÕÍV~8nÀôžÓڐÉMh 8ÛTU;J1܃‘–`Å:~lª{8H¿¨ue>ÆI ˜Vµ#T„÷:R½ W+&وôurg…$¨gJ@(Ke¾1ևŒn¶Àv±“jª3l8;o"JQáØ`®&°ô‰¬‘r°ásQ +“–Ùãßòm:ÂÊKXîõƒ]V¡õÚîm[÷Ï0öGïŸ÷w§ Øtš9ʊ/­vݔáôWÓ±ÒÔ±’—]‰ôFÝdI›JɒÍÔdI«Ž>:hf[§%÷í`¿ÇXfŒÓ6äÉñ-ߦL®¤å^˜ìS|iW—lý `ôw]²k»§ZÀ_¶‚¿íã{mKþ ]_ý5€¯®à‡Ò?á]e_`Öá0oDe¥+ ˜;z)Ѝ2̕©¯V9ڑHø-Ê{tDÂF07Õmª” ­~%8g•´y´Pןÿ²©Fˆ TðÌí‚Q­ø<2ðAå4Ë—ìÁ… h’WíþÎÍD‡QPì’;Že:6¥¤“~ýCÒh$½Üµ«²Ù{A•”€X’É;jT)uT`û„Ú»S¥/rˆMèOœû¡ÉaƒTg­ºrí¨%EÿÅ¢úßeëþ£N©GH¶S* =>/Q³»ŒÓˆw¥0ò2ˆãf +P,“'?•D—ê}ª4M¦:”‚ù½­PÈýš..g°~+•œ¶a;I¬Hé¢P'’(,Š`Ô¾¯fôUXtH´}õѺ6L¯õÍ©…Oï­`w ÊXU Û´á{b«…}sD„!ϓ±^À} +IDÝÛµÝç¢L\2 lI=Ä£ áVzêÎѐ@%wšð±¢€ÊU‡åz’Êne"êÇN"ê䱕]gý4ºwvÒÏGGùC¦ö’¾†)ç*ð=y¬Š~Ûra¯¾ò*>{lïÏUl ×Mǖpݔl§íB¸Sm§ÖÛ5à.—ß)ÊW•¹éÚö^S¶[¿CÛ¶žßß´mýnÚ¶ýCšŒFJߦâٝö ÍÀø\ãž=¾¡Ç;»Í«T¶©‰Ðþs¦uËEv–‹|V»Æbݶ/¤¹µy•êæ(ݽsOk{dtsk¿çÜ[û€šö6¿ë(àµßx§¿¿6¬k¸}/>{¼®áƒ†O•ð¿yI[#uI bx®“['¥üëKú¡Vd&ÞL–ß­Vi]æ¨0¼;*µ_,ãÚ-hÃR½ö¥‹½•s­¿)3S°‹WÙoÙ­jÒòÃ*qïÅpŒ‰úíIõI&‘²öÛ*ӅwÄpª¼ÚP +ñ3RŒT¦pi¶ûAÀ°€ppûÉÙ(þ«äóŸ|n«!¬gV‹u´§€u¡€Ô܊×QKÓ +à0¹ÐÂT¾X»GaŒU@Sä¬k§²¾övi!õI5ô +lՇ‘ΔU?u1S@ Pö 鎙dyO‹WQ»5[žøíD¥pa’¡AøŽúl 0ˆÅ2‰l‹>UÁ^Ù¾õž ŽbÝž¯_ÝqU”7¸W Ì¸™&9/-[|R5çˆÆZÙù<‰â1‰l2 =Miƒ6EŽz†Ÿ¤Ï%¬‰•ÕÓÂ*Ù9w&wÚZ@’ÔUDd@ÀZè騁ÊâA®çN•œ˜H äÈÙ&›4, Uá*Úã“Jñ­=Hëë=â”+ͽ{ÐXIÕþ¾%+YßóîWg\®ª`RN´¥ͳµ•òìÔN4UJ®Bt ŒËS§T¹ÊòðOB5ÚvÛyÒaO°RŠ9 |’Ý-ð '0alæB×ÀAvPà$"uR'·×¯c<Y7ÎjhŽT^9l8“˜­~÷Í+?¨Ko³̙X—ê¦×Ád †¬Œ39CœÊ˜°U­ZÛ!‘¥ÎñÇ+'ý./¶·ÞÈD>…·™YMJy_ôÓmó¦ËáÙs ¦¼^hú·_úþÚKÇô8±Q8 +ä|?L 76r\¨‚Y”SPººa²Õn Àϗ¤=¿PBeÕ¥ù;æh§ä±ê ¬y¬pgÈfÙö?Vb̒Žv:)“ +Œ˜ æ7^d¬ÏÎÞ<¤öÓ3“A…™T>jÿ|>PÛÒXDȶ·=Í3“A¸`ƒ™¹A$1öäY§1GËf v“ª;ŽºvkcüÂhoÞ³JK U ¸Ô;Ç%oxO'šç͓Jé¶E·±Œ^úUE†Æíç½ÐiÌܼC:•í{ ‰™Ï³)X±]ñ¥µà@õZÓRFʖÂy¸Ò—,£xŠã>Ü aÐÓúÍ)®ïoÙۉJ·™è÷~m3k‡.ø@…²,~D´²Ý§TL°"r(²òëÈ+Ý`Ñ)¿ì2ݵ•]»Ä‚J‚¡)6„õ&q©À•Úµ¹g–ꖕˆf—iÔ"“áa$AñJ«]˛Ùþe”Œ­þï4£h£"ò”8[UNÛd½iÜé$âނ_̶Mäµ}°¸.ü—t›ÚÃY0юj‰ +/£èc“,r»ã¸0ïNӊ„n”-ñ“(÷ºöˆÔ‡4—ˆÃ/ +ðÀ5b1óõDE•¢Ðø©é`7h»‡FöÑÆ}ÅîšÄv³Ý<oc†x,´…õ.ü•‘~þR؇®$ÏÉÕµ$x€,À«ÍÐUáùø©ªøðQwЋ/¼êCOž,ö ö¨£ÄaZSö¨²íÞtgü&Ÿn#êŠé)ió0‰Ö³Gé½fª:*¬rÃî:±?{ ¬I«ß}H® b|ן°G•”ïíQ•ÁW=ayÐÐü'ŸØ£Fï_èñÞeójƋBY¯i¨(åd)ПݶWœm¯œí£Yl_˜ñÂæÕŒǑœ¡".ÑÛ"ڟÙÖ-î}Øï9¤Ù‰lûŒã»þ„=ª”|o¼è3~mø¶ã½ýÄ5z¼®áƒ†ÏíQñ’þ¾=êÅ%ÅOõ‰=J=žíQ_^ÒÏRÀ9nËÚC‚•w\W›0 VÔ@ÝÛéǏ§Q‡|ß%æ8ªœx‡ì9ë1âH<·Ó¦/ìÔ@„²ÍRs _;¡«°a<5µL¬ *{ËÑÄM‹4Ye4CDSHõØøÈ5›GöÆè ˆf3ø £—.‘ öŒDå…'%MqâAµ×Éq›4ŧƒÓ×í ­e„”¿iÑÞ$zè‹d-3ƒŠGP5ÔAæKœ4Š÷%“ŽØÊ€´DIɎU£¤ÏÑx-ß6ûšË2ß9h§ÑùeuÔ¾1ÎÔ¹…H©'—Îoµë¦ìÉênsµ¯üïD“¯BnAGUµ8ÍÛýÓßO0<ÙWqkµ!Û?F&üh“;ÖþÄÞtŸ?i®Ñò õùµ¿¿þâ6ý2 ý&DÒ·¥öÑ6«Ñnž6¶õ™Ze¼ bò[¯¾©NãH%\õ)ŸZ2:ϧSD[Õ ÔShUJ#꜓¤ÙQÑÀÑêŋÃAUŠ„¨«¥’`«ÏÌ{ V¡³ª„r¦y5©‚eEÏ]eÝs&ÎXÞdŽÆÙ’f‚£ÞNT¶&5h×$•®U]ŽV§1›´ª8ßZŽõqNšç÷“ê‡9م£‚X`ñ-ó㩈×ùÏa5XÅ-Ÿjó¢þ¶ö÷ò¢.ûg¸÷ÖåYýûú¢~œ#,w¸lñ.!ʼ_¶ì¨1Æ~)‡zí*\1ryƒˆi†Ør(b4â[-‚ÄÕ×Vƒ¯™b«x%\]OÝó¬žîTâÜÔOT¢b6I+˜Õ6b¿ÝÈ>h¤%&Å@žæ¦Õ)¬·Ê ЀÓ/òoŽœ;.æMpÓv(é’r=ˆ[x€ +ƒ5k™ˆ=°@3i"¦ A¨‚᪊D¾!~¼­¨|µ§1±Yµ§†^AËS©’ŽZ?ªá©Ê £"<¯QÈæÇo4åmR4JÒíhI +³EïFð‡ƒ¾°^}*8eºr[£*Ž_FñÅÒC«Ü®\|AVƒ#:·*ÅMZ[U×ò-ÂUä.ï‘?-âê¨ÚèfÞ©,jÝ(r+Ò͕[º—cÅ¿´Uyìj"åðLh§Zb +ºa=GÊûæi‹¼Vpóny§õY…/9ò3‘!Úmz;ܰQî´¼û mKm)\¼@ú3o>/0}K± †€OÃ…bæ¨ÂÆaª×Ð3uÉw¯î$¾Qùï‘OÜÙO)[¼:e"Ž<“tXRI”#X'OÎafïÚõ×)ìó´u—ðlGd²¶ÛS.ÝHÀƒê_+N!“¥«ï |\W§jëJ«×œ˜»Šø¦z‰x +×&õ莊/L¸“º ¬ò†(?ˆY(¸k’íB,EáÙõ +T@½SšŸ./ô±É0Îï?À®\-ÁˆTmßô ¡²7»ž?*Å󓄯¼ùýõ7_"Ñ.*: xE´ý~IJ +ÅÎb$°¿ÅóJvމò«í⤴ƒÑ¸ò¶Ù'U‡É¬Ù˜R³ŠåEßIÊ¥Ff§Å+G¤\©…î4b$®§Sò‰8ϓäϳ£‚Eæ•NÆ"ƒåð™y^2Ã<ߙa ‘ÍA`ŽTTø„<ñ‘«­åØà /².Vb!è°Ð­}†Vs%Dá£pV±Deóa­8˜Ë¸ZÅc9FCÙlœªh!õ™¤ŠéõqÊÓÏ\+µ$â;_-Ù!_oNcq¹u±ñÙ²‹¢”{@àžZe«à%… â—ÝäfÁÐ0‰A'Td_s¹8;M.ª¨oYFp"YìrOë—6·‚£¶ þv¢êþÙÙ1 –É 2b ¼l1£â ֚-¹ÔM*B¦J‹¤'ðüJiŽ+b+b‹ÁÄ$u˜Lb[pÐN©Õp³·€ï~/|u +Áòx|ËeéâÈé@Þ;šü•tRŒd•–”çA…6c·‘á +öRæÐÍîq"'•¤D ™ ZìM‘á¹öL{†D¢HTfÕ·$ÂÀ%d$[ƒs¾I| JM±M¥`¾Õòo1·ø²Ë'ȅ§õkŠËëDՕv;QWJÚl«q¹+é£ÛôÊ=¿5ú xfÎæF´jkt?úȳ««2Tá>)æµ·>Ђž>øBB=gÎ¶E³FQ­ÞY£îM?«SIW§’ž I³™™Ô³Fé½fª“G©K +­ØŸ¦jÛoSµÛï>$׉<¾ëOX£JÙï­QªxÉšÓácÔèñý =ÞÛ¢l^Mš L›3[”ýl#؝eow–½ýdq˜ÈaûÂÌ6¯2[Ô«Ã#œÕ«Ûƒ"´?³­[ %ö{ Éu¢Û¾0³Åø®?a‹*Û~o¶è3~mX×0|†??{¼®áƒ†Ï-Qñ’þ¾%êÅ%%ôíC”z<¢¾¼¤ŸÅ!D<.‡a>‘`aXôqÃa¬¼A%XàG2\³¸[Úv¤îSÕñ¹ÈK0ŒòzASãð0ŽY/h…¨Æõh…H”È!ˆO«Òa¶î5ú÷ÍSU]-Á^yÏf‘Î$Õ (Dï•ÌZEü`xŒl¹Uy6RŠÚ"‡sn×õ¾ÚäË”ú¬’ŁÚðíöbÙÒ!cþB[ÂI–•,"è»MU…mŸ0¶ÇÍ["±(Èêiu£7 OEÚņbïQLf©á/‚þÛ0Ä:ïÁr?|KMinn7¥D"PĂ”žxÞZ¬D–ª[%ꒅ Q©Ú8P©'¯¯dœªÓ…klYÞÙP5" õëa”Ü¡‹£Àê×|n¹ôXjVVI-°€m±—ĉϬ,ñìÉüˆUÅ#5‚-¡ºTöáØÙ´Ú*`8#‡@-"͆½…9E¦˜Hµo lÆïLEÄÁmÁك¦‘›aϵÄǼ*o&V0,R@â¾ÂmUO@k»›”p *˜=Rù@U¨ª-/ÊÓÐn ¶þDmζ›§Zø-B°qæ‹Þ0i -õ&yYÄbg„¡o–ˆ& $ÑjŽïž;<â=HDÿf&2Ô""€ÔGy©¦€6ªf~‹Ò@«J&쨚éA_Zô3+¼G+4!ÿok¹–èO”ªó´x´\õq·ý|;Q—æB׀ ÿÈl••‹BĶ éNc¢rr-1›ê¤Ò£ÞãiصšÉÛQ‰`2n'jeUÀM€oW÷@”¦<¦íÁìÉuS¥¶©ÿóWۛÝDϟŒà‚¾V˜ñÑ{ß_}ïØ¡âhêmBÄ=š‰zçV`·˜#s€ÊîRêP ÎÌ„þ\˜B§‰íºÈZn$˜µ»«˜½Þ¦‡AG(×D,•íº¦žÅÌl\è‘pª²ËmñA‘Â0 “ªP/H"Õ«·–¥j‘PR"µ\äu!Cè…;­mjEaø–DíˑÍTg'[E_·u‚ÙÔ@²*¡S&ï”ìZ D_ÎÍÞêMFÊ|h^*¿O³Ý2ÉåRë4Ø&õ“-%¡7TÑ»%USâÞ¤ùûtR‰ˆeÒk‡GË‘]R4z‰Ý’òRÌ«$tkaNYLg/d+Ø+n÷BD§hm_NTm»°•¯[€ Ni߇'eÙlSUYÖ,äd.’^–uÈCÅùmHNì)GmRÖíD%eFv^cI¾SA|©‚SåA‡ÉŸæ–`8Dz®Š%¼˂ñnÌi•kÇëMÑiºgxŸ\£åK?±[ƒaq´qÅqñ9j»o'jÙíËã¡§b•ë‚ C¯'¾”¨çl(î^9È$ïV1Á ˜do’Ÿ«á2K^Ør§I@V¤Ç·”çOŒx4êPzZ¿ڙº»>nžÊo¼D•d4H¹zﯮNÓ]Ú=z³%<Ç.Cë‘eÒÆµÙ¸Óù†½ˆ@þrqQ c¥ +ª<ŒéÐÞºÌîwØÍ>¨–Xwwn»{챫:öä±·c}PIøÅ7^Õµg ¾ð¥®$o„™Ì’läf2«¦l½Ø§6§;oNw>[»f'²…©3™Ù{›É¬dܪ,J׉ f2Óïf2³ßcH³ x|×0™ÕϼÇnmÀ÷ëzmùÃjÅÉÒùÜp6û}ÿB¿÷–³6½2³¤= +hZ޳M£Ãô 8ÙY!O¸þ®ÙOl{ÈÌÒ¦×Ì,%z4Ðdí£ûÓ¶Š~·­¢ßsH³ ض‡Ì,ó»þ€å¬~ò="èœòK˱”ñ3h×Ù|Ðò©ío^Ùß6 ýÞʆå3ÈWë÷lFûúÊ~ϕðÓnë¡èdÊ °Ã%–ÀPl UÈS ¯§­‹UÕûõωºŠ`Â;» ¨—„¦xØ7 R¯ý2¡:[ú?)Ċ«k‹!Du°eP‘Añ™Åâ©SHIŽšä´(69âŽ6Ò ü¤R(°TaC=ª(›Š8…Ižï4v±â öЩuD¹ +!›¬¶óùL(–ÔO„çâiB“—J樀(Ù8¡Rn™L]'—6Ñ·EÕÛ» +O*Y"¦ÁBµǯ[ßæ“°cÁœ³"sRJÄ́èýº;¾E_G²&.îMå@H‡êoý¶½ÏBŸ­ÓQz³=ÿñ£ŠøÚ„ÌSŸ½ÓØ_|óûKon¨Ó6QîŠtÛ"&ëø?¿}•í‹kº¡M¤¾ÙˆŽ·M’9(=ÍoßA~ +±‚ê1ÔæÚÏÃ<9Æ^!±M«=¨ ˆŠ}íìq¬,)QL””µÍˆ©AÑÔÿV¹v-COãÙN4Ç7&¼"x]Bm‘)@©_—MÙi<ENGb¶$ܧÁ3T"å7âªd˜a£êû&âö,L1a®KBrMȴ͜ì1, „â~“Ũ8ÚéÜNjàŒRCÍ[smìï©ÜZàé²û­º0}õ5¶EÆD=¸ª>zj¼\X±å<ÝU¾ôÚ7ÙÓÇ} 1°*«Æ<°*U”‚q/ÍïN¶ØlqÖ f'ÒÔ«§÷¶ÂqKñX•YX³ðœAHf²ß&3µß£zÜìDåãÆwý ƒ{ä¬`‹SÙökË.» ~¢`Œ~ß¿ÐïEÁ°é51´ò/†®'lû³‰¡ë2u¶õT)Àu"ùÒ¶‡•³éµÚcKöX†™ W}Ìþ´òcúÝêé÷,@6;Q2Û&†Žïú +†ÜY'1tNù¥åXÊôpåì÷ÁR>hù\Áø‹Wö÷ŒßZÙ5|†_iýžŒVö3G}SQ_‘¿cšLò‘óÍ5j¢H°ám£)Y4"8ÓzX`ÂôëåJÝ øê5± тóa8A¨õ~WÍ&Om5Ùn'*ŸŸ5ÕUz6¨Jô x+V%a þDø-É ëéãŽGjxWuÊÓ@·¶XÏuU)ø›'"T@ÔôäÃ*¨€"„bµ[bSû³ÎŒêæ¶tªÞè(kCß}MRgˆ'–ž?⩌i¯²i:(ó¾—hlÂ͑ð[›˜:.ɔGÚ2‹ïP}_RŸÞ½áÙ²ü¹¾}p½…›ô­|ÞïÝÃ<‚%IÙ¦4ýq„8‰ on6(Ìæíw$TS–O´±‘'±A¤'«‚²*Sz³øÙ†¼âurzìEB«ê:k­ …Ü(’ð¸Yø8c’“Ú×µ¿xŒÔ +l»&¸³$¨d®BGêíßp"ò]7OŸOíä*în’NóÈ E ‘D‘3µU³¨ÜA㱊©³Å &C¬öÏNÔd;úv¢’Dõ±Èõ*\GÖ¹6¹¥ÿ©9Z‹˜mä-’Cov5iý¥ ÅQÛo'êüBmï>ù4/ßãq'Â%Éõ]Ñ,S>ðcfË]j,ètW½Ù¥òñ£ +6Á±§gï}ùý¥7‹-ôSûÈë^5Yþ¨(ªƒ:I‰P' ÌL*ðbsoR_ÅÑÜà©ãpÄ#´ª„{=ÛÅ +Vîão€þ'wãžZ~ÃlD¡ívŌÎm^ž8¯G-*+QõbÝcûä-ëÂE]ß9¼—Á‡)›¤ÂA*‰’ñ£Õ—qÝ®M5w4Ç <µ]â7OÅÔ`êþt¨ÅÛ§tâÃýO1ðԒõf£C¦HÚ=ú•2hãòÐJ÷ÍíDåº#Ašá‹DAþܚä˜ZÐTUa ˆHsÃnÞ`{|ÉA͏l»lQæûÁÆëژõ†:_ÿyZN–Œ›„SÔ¢™ÏHÛ_pª:ŽööфtHqäÙÑ Í éDëÒ$Ö}"0ӄÝìO²ýÎ+¥ýÅ ð`*=i6Á¦g°œ{²baI5UdÞ<¢E€èKG”OX8Ón*@ï–Ýæ4cc»ÝOãM7˱ÜsåÿNÔ:Ú\ì¢"LÁXŸÜ]ÐÿÔ5ے\#… ؽ2:s4wxê¼ umÀ+õ=ÁÜä +‹ñ—AÿSÓÞ +\¹FóËfgnÜ%y™ï@8IÆäeüqŒz￟ߊÐGϲ^­¹Ý›wÞñW^ú@KzöÜ`Å_òg•!5óUU@´eÉC[^lE‡Ó\§¹ž-O³Ù¥Ô3_YùS3_•ÕC[f+8:џÍ|µ.½¡ýCšhÀã»þ€ù*+Œãl¾R®x,זM3–Õñ¹ùjöûþ…~ïÍWmzeäÈÊFŽNµ0ìÏ6¥!L‹`8UÖpÈzaÛÌ6½fä(ÅÃ!æ²{Tö§mýn[E¿çf'°m9æwýóUýä|oäS~i9–2†s9û}°”Z>5_ýÍ+ûÛæ«ß[Ù*ò|b¾²~Ïæ«¯¯ìgæ« H¬M3Ë$S$Åg™äœ,F˜„ ’ÉAûÒâÕ >øõON—e@Ñ#áe´Ý=›LÛʊzÚì~×ӝ[4ŸÞbъJØÆg–Áé0Ö ñð¤Ê©å²ÝZLìQ݆›?Ž´îVŽ=«ªˆ¡Ý…dѓ7æXD%;Q^¢ˆ ä¼JzWjVÈ´jb)ôfÆ»_,˶Óê0…”ݰíFKªQìGjÁ~`žgàýý#Ù)PŸ§·‘‰.3H]’Œï_øðÂF'X-+L5èyú‘v¡î«Ë)sX¼p&Ú×*' +m„8Ԝ¤Ø«£ñj ÛŠ?[2竦7¶1dܝA•nˆX’­M½š•Ô+xY2iñ-Ö,:Ž`Œb“YGÝ,Uãv¢‚ƒB½ÇPüAP¸„¤߅¸×hM©Ã«Â‚ÕŸÕ²ZٞI§A;=åeÑm̖‚&ÑÒ£‚Së?®æ-®ïÞÍXTŸ®:l/«XåReEUÝik‘²)GÃfu4üçn O]-„úv¢‚c‚ÑNï)Ūþ¬VÆ2g¹øE[‹eã0"jJ]wÜùÞÌØdÿt\àÂ-ºý/“å›mF27|„º¦1tjÆÊÑJE{Žk:»ddS¡–eë›MšˆT5'SI§•’H»= ³f–ì~¢n–Hr;QÃnH¸zÍjù$‰g(“-°cPb²Ymä*KQ"ñ3p(–vÎVÔ³vÌfPÆÓԑ0ì¥Ùrß[Ñ8®ÌÁžãB|Ϥ‰¬œ/O,¨*ÄKQzd³\ƒ9å÷Kó‡3Sê^<>ÌLáîz³ËëãG5õ”e}-5åыß_zñ§¹)žôÀ`v:P JVÔ,\IÕ2­:þ˜aˆúHªä™ÈG!‡^D6×&@nYi!wޖÍíi ÂuíÙžÊ –Pt°×('K®ˆ²®ÐØ0Š$¸CY5Œ¨Þš ]DfT31L0ÐFïï‰NÓU'? Äh¶D1ÉÝÌ]Å$x^Ýõ[ÒxÊjé‰ð7Õ ÐG4”üLB&Å¿TÝ$ ÊfâYLÈaÒ¯_vÁ5LŒ½åIf2Ršó­Nïåfî4ñd¹¾%IrúlŠ£[„ + ¤ª ±“Y™¸e;¤s ‘O¿57É …äIXª&/tµ‹œÓi¬ØcªyîZ’ƒd╦Hˆð4/bMêFu¹ø¯6`‘‚ÀF½P/ÙTÎŒåßèÚ\[ +'G¥ŠxÆB­Å±ŸÅL0ÉdÓXÙºÙ.¯33²²EüôŽ6.8¶…£¶Ëðæ©$ŠªGL–véP£Á&+¹xW¤˜0}T&EͰ¶rh—gªXC!ß®"ÀÌ2û¤göìغ.¾!(uªXDPº2‹/w¯íV¢ç¨+°Ec•5Øñ!rQ™c™ïWWÝ0 ¾îhý’“›î/ÄۉJjP‹ÉŠ“EüÐv»¥¿­”Ujs&ªÒÜÅD`;’8†…ߌ pwÓtŠD%ÜGöí28íæ: ‘ÇÓÚ'^ïoÛ§êŠdeïÖ|šñëÚüÁܖLðäG¹-Scûè¹:¹¨ƒåšŽùâ;h‰Ïž{-½¥ŒÚÄu—oK滵x|â{[Ù0£u“ZÓÜï-oÅã[ÿf¾³÷šù®,›Ç'.VMµwbšEÂ~›E¢ýîCr0àù]Â|·.÷øÄEޤåAÃnضÏ0Šg·ïŸw{1ÞÙ䚉‡ +Îijž +‡ØŸÝÚkÜúïa™Èvc›C&ž6¹2ñ”eõh¶%,ˆ¤ý™mñ–d¿Ç\' ¸m3ñŒïúÆ;á&œM<}Æ/ ÇB–Ï`Šg·×…|Ðð¹éî/^×ß7Ýýκ֛õ3˝º=[î¾¼®ŸîªîÐqٜéŽä÷hQàCi')}ïö­oEÍ`œAþ² ¢6ç¥Bm‹¥UÊK«Å‰9’*¿*™Ùwm¢ñ7`šÊ”QïJœVé՝ˆ™ŒåEåúHšã¨ž "¸ …À´f^›Bg̎çm32I\u-àÐPÕ£n¾ªµ + †[§%O#ÄËnF?±eA +;r€bQ& /öV„ q"êHŒ¿ñ9¡Þ{æ¦ÁiæÞT)ëÃæ€ ‰V“1Y P¯ÄpïæÚ>ØÃ$3ÿm¸°CŠŠjNvjÞ \WMʇÊ|– ޲$i$ƒ%F·å Õ£ %'ï`u¬VR:7;Ĥ¹:SÙ&Ž@å"¶&Ac†÷H²R(êXֆ½KȂRÆ Æ5Yf MÜ´#ªð_¢’¬†iuîo„í Uܝ-Ø@èQXHYVpTC;È,‡Áp'¡WÒary G‘$žæÎŠ£Ú,L1‡;?•VuõÞZL¥ÍÔö°úM,ÉrXGZ-RÏD_ Vƒš‹|ÝßkÚ}íàS’{Áދwµ8á‡Ï鰒q÷Ìô…w¾¿ðÎOÍ?Î¥Í +V7ì÷z¦±ªõY%Yö1vü¬´]ÖÔ$ëî> ˵fˆ%πAq %k5ï±}H߃Y*•_áwÄ~6ÊFV¡•i?,ép’Øs0ìñwߙ7O$MLvºf¨H¶¢q,†\´šòÆ0g4å ¢öIý0Šœ¯x†åLL–}îlɤšàA)ˆc¨°Wof‹á0nÍàaÆØÏ!^Eõ,MäH6þocP7GL$»mT w3¶p¼2 çÑ.Çnº ®‹[B®ÈiYÚÁ™,HÈE•ûÕþ,ZÖh† +¢\eô +$lêÎÊÂ×jœw7‰£µEö„ñ‘“Šýa)ʳ•×I_DMîfEÌüX 6‰Ú¬ oÆD¶v{ì†À1!j<³™`6è[æÙRaݖ݉[$è¦Ã¿&àŒ$cQ’²l-·¯nm¶ºIÊ`ö‡äi}©'ÁmvG-M +ɄF/2à[Úµ Á‹>Ö_%`! kßÚuíåó.«àv^ãënøFDÞÏ¥Î3áŒÛòØÑEÏž2¡v=žÙ¾ð¾«¨ûä©×ŒÂ0¡¤Ñÿí–-W‘vég«†¿XËŸˆÎ«pWû6{Ûc ÁªxC7ixÈX‹RèOë¯U–úyÈ-,X¸ñþñ¼F6Æþᕛ_3/hЧŽÿÖ¢Ær§z÷päGmñ§“Þñ¶®å±•áƒÞß¿Ò{´Kªé-˜ŒÊ€-L‡+€—>¡qéó©_½jiTeMVõgÛQ;¡ô+ü­ÌËñ´ýULüŠ}CèçÂx^£³PØ}üjžéKK7ÏӄÕÚ|\—îQ[#ԕKÍ +t~]¹‡m5ugãBžzçÿû…|Մð-+YâcCƒÎAçú½•ü¸îoº¨WÌîÄÏ U¸…¾"~@‹nX3Œz“„1Z©žAܕØTꀠáLÄ‘ÓÚ0ÿ›þ žÝŽßR0[ÄQ‹´+ªóc³Â¨ô‹Âv͍:ˆ8çL¨!wDïu$jÎT…ÕjÏ6":\P”ü‡ÑjÁàÜ ÚåM°Ô/C¨'ÆD) +Êß{є/ˆ +‹wm‚ʁø¢".Dí4R²áR +“¶r9=8O¯¾òzc={lLÌçXÕ¿L!À“Ø4‚ªL:•à,”i½ î&>Ü ÷Å#õÉEiʯkÊÁ±{p¼`ސÍ'4!È~›du.ÆXFçø–ïR¦D^Âr¯Ô«sߖõÚî­Îügõ(FïŸ÷w§ +Ølš¹®N†,ÉKpú«éWiêWÉK‚ãyI:¶þ’$m&%IVµÝI’AEGíÏbË´ä¾ì÷ËèCã´= ir|ËwéS~+i¹—$û _ÚÕ+ŸUŸý]WìÒî¹ +ðw-àï»_[Á%}VlBýÅÿ¯®à‡¢ÿ +ÿí*S놈²®¥²_.èA\s¯Å¾R¬’2òŽTïEÁ´ýúǹæe[±MR*¬Dxþ´âVSýI0VáûójXDŠ¿U¸8´´‘¶&w‡‹ëpÿµ| ‰ŠrxRÆíþ.Íü¼¯\J%€ÆPI[êI'ýª£àÂ.«o—‹E#û1‚Â@‡2êûJG°ÞâÒÐÅwÄqLª٘’ø÷\¯Ô&„ R5Büå<ۑ8Aÿ›Åoõ¿1ΙªSÞ[ùóZzÁÊ 1ä”uívëØ²#Ùˀʎ›i?±¸ +*æé’ܲSPs[øÔ]¢æjэ|áÞVèÈ }\Å;T»”‰–¿Nò$±"¥ËA¸c.”sñ }¯Ò,`É +¯ÉV-³>JŸŒ¯˜‰7$ù²rÍ +°šB"Ž„¥Úðµ=±íˆ›'R£„ª +h¤EˆäxïèzÔE°¼Q¥9ZAD§Ã¡vai ËøR‹ºs4ÄOÉÆ¶S]SuWáÖer$DýM¶uGD—<¶òïìlœÆùÎAúùè(ÈÔ^QÖ0€é.ž¦w§ŸÿÄêÞěž>¸Ô©°'—^ûþâkÇ MéæôÈZ³ÿþgŸê48Òf@ía˵ç(4½½6gTÄP%Aû6Û-@בúv¬{ÔÛÆ½yâV,g@¥n¸«ö$U-4;ƉԜ B÷•ÊÑpߛ€0¹O'ýôgªÙÛ¸Çwßßf!1l9‘wœD0Hšr½µ#z=Èÿ»z]WNÜ(v×lSZ™Å0£ö5WqïÉcUð{À_}åU"|öØ8ݟ«× +Økúµöš‚íj8.­æ¤Sk§ÆÛµß.•ß)ɫǫTÿMÏÖ{›¢Ý"v‡¦mÿÙë\£¶àÒãG›ÚÖ¦Uz›«-¨fbò³ûÓ¶ˆ~·-¢ßsH£°m ©nó»¾_ù®_ït·1á׆u ×ÏÀëg×%¼6|®€ÿÅ+úûÚø«KZòg¨õÖãI!ÿú’~¨‘+5ȪÃàRP}ߺÌ1µ;zR-›lܹe±Òбˆq«·"ÈÊó­ßŽAœÂê*C:µÄœµÊ“ íº“6J.'UÊqDÒoVÕ ´Hüf£þàjC) +âm”ú ¹éY5™F+ ±TJRbìÀñ2T©qµäüŸÿ¨€äÞð~yûǒA“u¡ðÔÜë†#›Zv`ÝE>$!‚:Ú®ÔG›"G¥6¦jÙP.ú@™êGja•Þöºä‡b@[«ó#]@õ@:Âê©À]¦ Ÿs§ª$zR–#ñ±¶É& ëGÕ¶Šöø¤’¯¾wM럠|hî݃ÆJb‰6lRYIříþqU1Ã×*¬Š%åD -4Ÿ­5¨ +‹Ü•.¼5Ö´ C¢'ôP˜ò‘-$ 2¢Å×Mæ¤ÝXÆ.”œb» ¶¼â(hиr´Èü¬ý§ J„Ú “[OL‘D•™ŽÉº7̄I¢ŒF9l8“ÈÞ>l4ƒH±³ö1kšƒuUNu4\GÅGʼE,-ƒ!ÀMŠ ŒªS­íÈJçøã•“~“ûZðfoäWŸ¢ÚBFӖBÞ×ütÙ¼énxöœvb/ÍþÛ/}í¥cvœÐ(€…ºJ÷ ¤ôFU¤«ÁÂR„Ã*(¢´ZER0JbË <´dm”J;åh¦¤ÝꜬ­(ÊNzD)Øk‡1IOóeR)"¨À ]Gb;zóŒvÚOÏK^RÇaÚþ|¾²•Î!@T¡£y^2©0Bù=bƒ2îäøX§1G•¯/þÒ©ºâ¨Á:ó)Ä~±æ½ñ*B†m§ãJïl˜kQ™õŽæXó Ê¬¹è2–Á‹_ÔÅlÌ~^ ÆÌÍ+¤Sx+ +…™Ï³)YÁi]r%²6rÍc’¼@,E"%(P}qQf>Q¾ý:<´££õ‹SL/Þ_²·µÊV:8ö„ëY;t¿S4Rà‹”Vك]§TÓ°Zqã«Ò ?•€qá,W Ê/»Kwme×P¡Õaˆ2¨x†ű Lù§Ýš{f¹¡VA ÚŶ‹ õ°ÈÁ)pÊä³(prÊW““â½|fmÔz9€f4Z)˜ßD=ì£Rɋ„“Ø‚^TÐHUíƒUÜö«Œla &ÙQÓSaeÔ(•`Áî¶+Žx ïî4­HèÙÑ„e…×+‚L1+@š¬v² YÙbè %«6¼TMí +È"ûáIýºbwMb»Ønžˆ‰Ì˜!Î +ma|XÂ`¹2Ò£¿_ ÷ÐmƒÏa1x‹Ü¤ú>AWuç㧪Úóàþyñ…WmèÉSƒÃ~Á…nÙmQè–Ý5lAfÚ¹3ü ›P·uµôΌt5(u[7[Të·Û¢Ú Ïï&ûYäUÞݐf'³ÑŸ²E•”ïmQ•½W%ayÐÐÂÜ>±Eß¿Ðã½-ʦÕ,Ó$ C€ýçLëf½âÌzålt˜ADZÍ}·\Ø´šåb< ‚µ=ÓÚ™ÝÜÚï9$÷Ö> n¹ßõlQ…‹òl¸è~mø¦Ëë[Ôèñº„׆ŸØ¢þÞýlQ/.)‰4ŸØ¢ÔãÙõå%ý,ϼ^äÝeŽª 4æºÚ¨ï¡:¨úËÓm°Eކ`^µWæ×Q•ZtȖƒ-ªù6<Ó¦/ìÔ@øƒR ÍJsÄõD#cr§æ–@4(ËÑdM‹0YI½–l[‹Ué`Uب«¹boŒžxûhöÉÎ1xé +=H ßбÐÎ 3}'óHP:ƒ¦ t}ݶÐZ"Eì#ěô@O Ñrž™ÎAŨj{`s"NZ•ä ¬Ó¤7©r} G"²#% ©Ãs4^«{kô5—e¾sÐN£óËê¨}cœ©s ‘§¯:·Õ®›²§½»ÍÕ¾ò?O \1Ìõmõ_J9ÍÛýÓßG2? Wu#›i®ý£’Ž6·céOŒáMçøù“æ-ò¤_{ñû«/³ÿ(YÚïÁz ÛJTݱíU£Ý7ã—2~c^s×úb=]ë‹T˜žZ×EÅÊNÌN¼S؏Y¦þ›Ö§÷v­¯ËêóˆíϦõéwÓúøí†4:±±Žïú~­¯v»Þk}-JãQK ˜{®öÍ.ß¿ÒåÞ×&VZB Küá3G×ý$ô¯N…^ +½žüщ‰ÿ¶1¤%´‰•–ËR¼–P²OCmÚ&Ñï¶Iô{itb¶!-a~×÷ë};%aÌøµåÛN¸îsÅovù`¯-Ÿk~ñšþ¾æ÷ò¢›ø\õ³.Ϫß×õã¤`¹Áe„wq1¢•-;jŒU´y%æ–ŨÚDYz^ÜCa¢Ÿj(¥ä([u,½æ‡ª×ŽðM1›Øeõô ‚ F?Q™‰ÙĬdæÚˆƒySðú ‘‡˜(WN U_÷Î&Ç+•(rlƒž„Z1àM`OÛ¡,KÊ! 2]a* ^íjjR (ÐLš|éB"àY9l§†@”m= @Î= !w³ kOM½’™§–ÝШâ{æîؒ6ªªbU6ÿ}£)Q“jMmGKr–-dw«ßZ÷=_¸®­Ð—ôä¶8$V쾬á‹åƒ’ÍIøÏ¶RO„q¢5¬„ß µÅ±êf®%ˆ½ +×å=r¤EˆZn„Ë` ÓQE킾'H/W +léî úîÄR»Áî%–à’ÐNµdôªb(Ñ[¨Êæ$¢y·DÓz‚Z}5ø™ˆí6‹·þ×(?š®]œ@ۖÂÅ Dp­yñæóª#`ixéð4b;£Ð•‡„§T=®¡§æ’î^ÝI|#þ‹7T'ò‰;n™”-HX3GnI –HIž5÷i*ó…[í‡úëöy÷š/x¶#Y[ ÍM¾ÜHz+…N|B&-Wß@³jz*žRé«ùŸÈ›^÷ mk“ntGÅ & ‚I šëú†(Z…Ü`õë½Ñ E‚ÑåKê¨W°7]ý? +Eg‡ç7‡`R +®¾c¢áÖó×ï*x³Ûàù££Ob¾òæ÷—ßü ¡îØ­•UØeÊZ+ºr¥Omv#hU-†ŸÅ8oÄNùÕ6±àôf;àEç'vE„Ǭ¹•Ç «XêOÄᝤXîŠÃ±³;•#’~%wf'FÂyÚÙ]¬Pª'¹ãì¨`+’l¥ƒ±ÈV9œež•ÌpÏvf8C$¸ê."s·õÉU0'ö¥"Ãb%‚-Áӄ|hè3ô +4›<⠁%*B +s×Vʇhՙlœ¤Ç+‘ržªWØÇ)?e +•Nñ™¯–à°^/Ncq©¤­j®e)­Vè¶í ð€kj•‚—î‡_v‘‡FÍz$F¨€"¾ærovš\nP¥®e1‰½°Ë=­ßÙ\ +ŽÚî÷ۉªëggǤaûî1N´pÑ‘‚<£5[‚ç҄¢…ûYÂXB0èb•†El¡—lˆ#ڂ“3` α¥¶r$t³Ûd¶«ìÕi (ËÝñ-—^‡h#æh~Osrߤ*ƒYTi¨¢<Ó+‰,°ºXÏ6»ÆÁUbñc²:h±7ùB†ËÚóìn‰±Â·®%‘$!³ )ðªMÒËJŒK´M¥¾U97”¥åWÌDQ´»g5P Oë·w׉ªív¢RFdÙVã$† »éâ×ezåžßuŠŸ©— ¹.²¼Êî2ƒ±Z¼f"*6Š¿™)ü¡ Oè4±£Ý!YKYRíêŠÍÄ ³Bp䗈£²[×Ô£²ÈIÕ}Ž2Zvã¸-þ"Rr&aMÊy£zõÖ2)*JäÃäp!+è„;­íiE_ø–¥!©Cy‚"€›e)a&ã³§áVÊᔵ;™ÆØbÎÍÞ*gF°H4/ô~æV$’˝ÖipÍ%šÑj6Ä¢Ö/ÉÆáiþ:TºÑ¤×–/Â/¶ÑK쒔ƒ‚ü]}$ [ oÊâ9‚1‘ÓãHǽ Ñ)Z¤—U[À®…CVó¢Ê¢}N”e³MEÕiǹª /K¯ÍÌë¿çhCpbO9j²n'*‰¿2ðËëŐ +ÂKÔår˜øi †C€çª +fcݘÒê¼åëEÑiºfêI]åå-‰ k'–&פŽ{ÏQÛmx;Q …áË£e²‰Sb¨ ‚½žø^X"nû:ìê•oLrðÞ*%ÈxIÂ&)¹ªœ.“ä…+wšäƒÐJü¸–rú‰ÏבªT¦§õ¡©»Ûãv¢ÖÞx‰|?¤¼¼w7× é*íμÙžÓîBõˆÄâhýÖlÜé|ÁÞNDà}¹·ÈY]U¾çb:´·.³û 6³Ê6Fïls-vUƞÅé¨2£ZKKöœN¡bui‰[R•nYR$:P¢@ö0 BžJš¿ªj’çÏBG˜s2Âm$0øIÒ¯T1C=ª^›J5ԝþuï46±¢ +,Ø¡QëˆrUà¶ÕòÇúó™Øh)ð¼Åӄ/eÌS¹hÙ*‰ºu›à$wp IM9-Ìh``ÛPÆà ŸE~Ýù6ŸD ϔ@ّuąèýº;¾CQG¤&îM5?È}zoý´½nŸ¬ÓAz³-ÿñ£†Ia`<{§ª¿øæ÷—ÞÜÐ¥mžÜõèvE*Öñ~÷*»tƒ–(}¯QÜÑö¤"ގ3ÍïÞA*Cñê1¦æÞÃ<8ÆV!‘M‹=¨ ˆníèb.VV”¨ µJKی˜ì̺³&ª 3ƒÕ¢N4Ç6&[5©<)’|… @©^—=Ùi<%N'b¶$Ƨa1¨_•g *UôqÝ"s»BÑ­ªúšìØnݎ +õ-ã0 Lñ4l'5rD)‘mؒ_Û{ãÐ({¬é²ûº0{UK·2æéÁ=õуÔö};V®îôŠ×Þúà{úà˜žÏýð¹>;‹u˜”‰ÊÌN±¸—âw'WìN®8ë£ÓÖ}`Rê½½2ÜR<&e¬Ç¬,§?M^²ß&/é·+7:±úpã»þ€bÁrV, +‘)ª1iib‹EO|¢YŒ~ß¿ÐïE³°Ù5 ´2/®'û³I ë2UµõT`vb¢¥í+.f³kÕÅ–ì 3a4®¾˜ýiÆô»UÓïYbltb5Ælw˜:¾ëhraÐ9㗖c%ãg•³ß+ymù‰jñ÷.ìÿ ZüÖÊbÑûD·X—{œÊVö3ç|ڕdCýb‚³ëzË/ZÌר ‹Zh±¾•IfÑÙLkËåWX~½X ´ˆÑÓ|½$6ÁZäb0Dž§‘ä›veòÔVtív¢RÒ É9Ĩ:³a«²ŒŠÚ'ÐÞ­ Á&éªHæWOˆÍ%ÔaJª‹'Ê|WMÊÓȓµàÎuW%ù›'"P@Ôôäê¤éNµ["Sû³ÎŒªä¶ô©Þè¨3g0[£¯Iêï¬ñÄ­ç‹x*±¥{•K“ +Ûí%Ú›`cðŠML—äI‚ ó°C9½ëË.»óA\?¢ì!¸’löÝ`ø˜:¶¼¹EЧ‚u´ŠÓk8р%”•w;êòcís&µn”¨¾D‰€M‡l'¹Þîfó.±ñ¶}I}z÷†[ËòçúvaI¶“¾•Ïû½{•çQÀL(-'¡Îàq„8‰ ®âV·îáw¤dÇlOyÁøÇEŸ¬Òɪt£Ãf“%’!c Ë ¬*嬵æ=%Nn6‹ÇIL2Rû„ö­¤¤ Šl4¡‚%=ó:Rný†‘ïºyÚø|%ªT¸»I:Í#3lB/6ÎÔâ–ÐÒ¨b<¡EƒlUÅØâ‰“!8ûç?'j±};QsÝ5Q«i-– œ6–þ§æhi,b¶¡b¸P¿\W“Ö_ÊPµ ðv¢ÎO)G |wŸ|š—oñ²Ԓä$€eêÁǺµ68Ðéªz³;åãGa® gžž½÷³¿öæ÷—Þ,R?´<íIqNÂuT‰t¿ºÏˆn²X<¡¡’î..×Ù&€ÆÈ'Žæø¿§þ?‰DYÕAì<Å +‹Væã/€þ'WãžZ>ÃlDív™ŒÎ&Íݞ8oGe¨l±î±}ò–uߢ©ïB>¶Á†9Ī ¤²'ßY‚!÷Û¶ù¢=ÍñOmwøÍS±2˜¦OJ‡e’`êÙpÿSü;µÜ¼ÙèRkOœ™Ý(ƒ6î­ÔqÏÜNÔLmÇú©ºÏ KÄÊo\š)ô”Ȫ P,öJ¹º‹¾ä€#gÃÑE„c¾l¼G¡I¢Êé~øÏÓJ±ÜÛ$H¢À=mÁ¨(ieoMÈ~Cž Ò¼N´~MbˆZšpœ›éIVßq£ô¿D -i6ÁØ"øM½÷sߏï5è£ç(TZu¡Ô°6ï<⯼ôŽôì¹Á‰¿äÏVŠT¦«ª~ Ë’‡¼Ø‰§·No=[F'f“ +ǀ°ÌVÞÔLWeõ–ÙJ ŽNÖe`5Øïfº²âŒcH£ðø®ï7]enœMW‚c<–kË®ËðÜt5û}ÿB¿÷¦«6»²päPgáÈáTðÂþl3Â4†SùŒÙ‰™.lw˜…Ãf×,¥xŒÃ\v¡Ñþ´¢ßm§è÷ÒèÄl»CŽù]ßoºª_|{8güÒr¬dú Ïröû`%¯-Ÿ›®þâ…ý}ÓÕï­ì>ƒµ´~Ϧ«¯¯ìg¦« œ½,M3«$Sê#Åg•ä¨ÒtG³^ $“p ƺŧrðëŸL•ݔ•ˆä]Å»JÃÇ¡;†nˆ]ó4jor¹ëéNE³&|Oo±ðDpGä+Ë`r˜ãjÐx¸Jà)¤rj îv^‹É<ª­B„póÃm@êY­õ¬Ê!kœö¹X~DËl&­×v7…6áÊ x“êuY1Ò*:ˆ•@›§~±ÄN«Ã¶ØÍ–TœØNNtÀæ ÿChþˆu +Ìçém¤ËR—¤Òv:ái™¢k0dóª¡ì‚ÖW—-¹8 ÎdóZiÄMñ$ 4i5Âiï4^}ÍBïGKæ|Õôb÷b 7gP5ò—dkƒ°ÉÚH©=¬™øKN/ÖO+~Ôþ‰zXjÆíDó„" zAõ3 ( È`>ÙIÑ6ZU$ LñP„YV+â1BÙëLÔQì&|Œ\£ ì¹m€ÙR0$ZB™ûô¬zÆj^âúîÅ EõéªÀöº‰ÊŠ)´Ü¶«tà ÜôˆS·Î…§î3};QÁ,Á`§÷”"c=ѪS™³\ûQðC›eß0"¶®8î|oýÆÅlŸŽ \¸E·ýÕ©²~³ËHà†ZoêB§fL­$Á渤31 A6â¦ã²õÍ&5H CªŒSãÑëEƒlô$B`³wO…í6Gžºâ­^³ +_I?â)°‡’­/¶û¹bcÑ<zŸ“ª/ô‚” +s֎Ù6«zÚh‘ëL&C;£ó‘?»57Á ÷„Ä X*/ µ‹˜Ói¬0c*iîZæ£ËMdŒáh' kRIµ¬ê¾6`‘ûpF½P/ÙT­<åÛèÖ\[Æ&ñF%”Õ8¨•™1õóž˜ %)«L7Ûåu$BÂÑs<­ßol GmwáÍSÉ U˜+íΡ& rMeIr‡”ÌñË6šÁjq@ÕKN‚I[| ÿ£#ߓQ¯ßØ1puÝ{CNêT±ˆ ìd\XòôJζ2¼¨ð¾$ÃìÊŠEüÐv»¥»m ï9Kižbâ.‹I̊ÂiF†¹»h:E’£8²o—)he×ÖÐw<­Ýpâùþ2¼¨*-/Q™D»5Ÿfüº6.—%2ùQ.ËÔ×>z®Î-Êàƒ+ïÅw>П=÷Z:K±ÇfºÛ–C\ù—Ç!¾·“ Z7§5½ýÞêV<±úo¦»b5“eº+Ëæqˆ‹ÕKíØŸf°ßf(Vεiv¢Ïïú¦»u¹Ç!Ɠ÷åAÃfP¨à'–»ÑíûçÝ^ w6·fߺߴﬧê ög7…Fg +=Õ™˜áÆö†ì;mneß)ËêakKX<êHû³ØÚ-%È~!ÍN4à¶7̾3¾ëp6ïô ¿4ë˜?ƒ#žÝ^×ñÚð³Ýß»¬ÿƒÙîwÖ5Äω­Û³ÕîËëú©Ñ®*€Í™íP`£E~… ô½#Õ d4\P§t3iïr”e`û³¼–Ø +2ò£Ì`†¾¶[|˜#Õ+5ƅ'j¿÷”-9F½+KZ¥iw*fғÕã#ëCÈŒ£J†$Hp•€OHk¦µim!dÆlxÞ.C“dU×° U=êÞ«*K•c²Y»Òªy ^63Râ (u¬¾ÑaŠA™$Ü×[9ì88¢ŽÄø§9!꽅{-M}Ó8̯©RՇÍÑ­èb¶ ÌÀÝ\Û»`˜cæ¿ °v"#žÔ ¨TŸB¦³LP”eD#.–¤è0Êlþ8,í(í¦áä}!žM‚¡l“æfèLe›8B}1^ØL°XÃö %ˆ´‰ŒÀk» +‹ò kÔJßÂL¬ÜŒP"¹Ó¬:w‰7À‚?`u]Ë#6 zîQ¾€•?àÇ  2èËapÛEèÀY˜AIG€J„xš;+žªY˜>~Þ'Çx4”ÖÍôÙL«ÑĒ,Qh†ƒeñLîÿ`5è ¹È×íð­F Ý7 :$¹佘€ðS‹~ø\]…L êSûÏÞùþÂ;?5ýʰ±zÔ â½)Â^¬(=èʡ˅-Hé¸ò«©EfÐu…[áZ +ÄòeÀ›8Љ ޵’ö¤ïH׃WŠ·*ê®n»zÏÇw|xù®ñ+ Irmº]…©Ø>Ö>Õ³©Š¶åm '=õóî߿ֽ}«+}«)Vôf( ŸP©˜[‡,L{ŸWý´yµŸ¸°ä£ÏGá³míø)¸k¬¿H–ãyûËš¶Ü÷‡ýìã˜Ï3FÛ +ßñ¡>ú¥ãü¯ çóyâê׷άჶc Ói ?éûÁ>l|go(Sý{–ókæ…ï]Ð¥ŠQsA ‰êƒÎщ~oE?.}>W)˜tsVƒÙ*­dà$âM’&XïözÝ-À'M’4š,è¹A¤:ò€R) |;0)¶*y‰Xêe©Â ^AªzG>¼HE–¦Ü}“Üübxp® þD˨@ŽÞëHH«=:‰I¦µ +²/òúr¨ªLù‘åE•‰uWv\,ÍL¡R?B-»‰(|}s\õe^„AKŠF9@õZË ­Ä〶\§Â`¨:é§[ŽAd,4´²ù°âõpVÍ^O©–âªÕıD7OK¹s¹¿nŒ/³mûŠ&¹à˜—Mªnã7po¹5Ú¿ µß¯<$+Øþä¹ú5…úO«GÕý¥ï/½tΎC^Ÿ‹ˆ&CÑË݉ì”Õ‘&ä y&µ²;ãܹrCk;VSð‡\Ää!qËBSæð¢0nÌQ +ŸR­‘]U#Hc<ÀŒÇ8 àŠ«NË$2‚þUe±M§†8»#ÚI3Š&èûvè”É(UJGÚ¤*κۡMѐÇU{•‚œ¼3ö +è7ò$ÂATj†Ù¾uU¦î7ò 3Q8Š®ÙÇ©èM’cpƒ8ÎÙÍaa;¥”ƒì7Áƒ}ññ‘ +_¸ˆPÅÉ-doüª$ßþEõ~Úڍo¼^L‡“œ?Ÿ—w30ÿ2³Ö°;=a͋{Þþ’¤Ÿ&ÙÏ>Žùææ^”°+ËU‘\¨·dÎH´Ëžz·*ýƒþ֊8‹nf”9ä\"gÅØ[ýd°\&a²ÀNRü,Lk=ZqA8óË$©;\»\»\š5ï Ӆ`ëذŒóìp@ÂmTã¹î·ûË¥“¸—J«B0ÛiÉìªJuÕ=©ßgƒR÷Õ'…™ÊÍT÷nÈL$¬žÄ?q°¼Ç6­ ¡ÆqvÉEŠ•Þ)ÂçEbM»Î+iîIî†DBöñ káH›‘RgòBãAƒðӟ¬Nä¼ì†t0‰âôó‚ +4IŽCN"{(À Ggý˜>8Îß NgcJŒïÌZ¸~ûä´Ï¹Ê}O«"`¾2ÂW_yŸ=6Žøç*õž÷®R¯ûÞUêu N¥¾Seó”Êó”ÊÏ*ñx^êòD“×ëL¥V …¡Rï‚èÏÛ_Ò.öfå ýìã˜Ï3Æñ߯R¯i¿W©«\²o˃voëZöOTêÑßûçýÝ©Ô6“RÎÖ*îMål-'¥¨L‹D™‰rR®ÆóR¼ö½+gšISÎ16”³RŸãyûKÛ@?mØÏ>Žùȼ•ˆª¿³Ã”¹‡„!b©zDìÒ,iُú8 âV= eiIu˜HÕ”:8P0±8ûf‡%"E\¦Š?þ¶êÿ؊»;HC`Eg'$Z¦ÍP$ד€ÇԉñÄ*g® Æ G,”̬ÇA ícq"³¨¹àvBÑèô]ýõ«}Ö·Ú %¥§ÊSÿ]7zp¤: +|•‘9^M\u-J›J¢€AÝδ«Ò&Å Õ®‡mãzT¿ªëËò\ ż@u UµRˆ¬UýÁ¯̦ÑzbŒÃÂ҈ä>*x5ß.'’#%‡UCг’¤·]o3áºroí¤Ê­ˆÊڋoWùù‘1;ÑÄe)MÍ©bBò$ü`»Ô!GŒªñ/!{Û&ƒ‚{Áqa`¤Òh– rë[ +”UGdPôV¢PkëÃ2}Á0°r©h-cMÝ8Ki%èNhu2 -F°©b­@+ê2“ZŸ#e¸ƒIF'bÎÚª#‚hZ÷(oP>€8P©Âã¿äÕE`UˆØû±‘=\ç8 ǽ`ò³¶~–‘l2¸+#ü&ÿ°J”¿™îâ¤Ú]ëSŠ[äÓ%ñ&¾þä¹úIT±$SòêþúKß_z霝y¹Zjåzzj^ȁí*±®õEê¬\ØüUD=ܪ¿a6Ó ´9J…8Ž0ÑNÄj Ú× ×ÅÞÇþfô¤y$&ž8„¬êÌÕ fçkÃNúéÙD'Â&¶®PwâÃ8þؽàó“ä؄#ÂÔ*ƒr½ÅҘÎ|k'Áԃ¥sO"7SݳÄYköV‹Ìçò6FØ[°ñþo‚/sÄiò×I$^ºÔaqù-88Á’iÜÚqõ}°zÇÿ÷Áê·^v>L»Ê*¢öˆF\M‘š„•D5Xfõªâ…ºuJÌu^Ž<®°LÆÄîIýªƒ“åûKñv"¢dë}ŠqØ®X¡ÔÍ¥$q ·‹tw;“M +;/Öý«‚›äKS¿»þ;å—]Š×šÍ27K–DÀ0*#j·Ëuº€®û©›ÎJåAL[Ðtrý™h„]ë&¬¹ +: ­•IêáõNn2Â/]vK"R£· 됿êå5{’“Óq1¯ø(ašÍB·ˆ;V‰êJ"Yßö&]Pqe>ØÁ*P`yLjÉ¡˜Us´[€êJª«F2ŒÈ|Ø^6­$û'§UKæ®òÊ)¶»„ò¦h“ÔïÑq;Ý<|e¯HÃT¿úGü0„ú•Èqu>÷Ĝ%Š—Ó$^ՍŸzCL¹Ü#/¾ðª‘·çŒþÞ?ïïΞc3*ËÉ@Ó2 ;4rûKS¨Ÿ6ƒö³köóyTZul–›J3 ²ìlU]®‹ö§EÕëw «·ß#àwv¢h`Û +²Œïùf»ÎÑ_ñ`É öþ™]gtö`½î›=µëü}«÷»ö—Ö å©}G½í;_\ÀÏ2¯«ÔÐ}ȋB „ôʽ÷V~PC•Eº”Qo1K#u4¥e­ £R#zUÈæ±­#ªbñº¤msDêW,;þ+B@•s$´h¢ý㈠Çì¢rX®ªdC…\*u dm9¨uÙ©gnŽ#êžã¼ñÍᇖU½A³Tbî~¿*ða6Õɯ×{na±ÐuF*÷_å×?`aþˆñDÅIü¼—f ?ÚÓÊÌ5‰ƒŠ@Ìl2äs¡9➠|i«,>’•¶r¦eDjŒ“ȻɐvÝõ5ñïí´óç’zjßgêÜ=ÒG{0@Ûe×ýØsÀý¾jú߉ˆiL³a‘2nçyº<þ-AÁãß EXÁ¦ ´€¡Ù;àÄÞt„Ÿ>Y¹à}ñädù¿¿øâ9ÿ’‡ýŽ(ûX @?m‘ñæ‰c{Ÿ©¨Æ \‹Bӏ¦A߬NaÓ{ à¦o'Ȩ"Èæ¤.V=æú¿ +©':êðïgcÜrÚ ÄQDé-7’̳1éɕçD êO$Ǜh³ Ft4cª…qºÉ;‰C5•¹N½¨þPMªð0ÐäM!º?SƒÆ,R(hK§†sýf“æYü¤úQÎMq¢öȎA“éÌh¡JÆz¦M5‰ ýa¤ó¶mö`;ör G¯¿pÚ¨c∈XÓï¦slßëã36+6¡ûyüÊ¿îÚÆé‹r žÑàfï_èñ>ëÕ¦Õò$±c¸DIˆ½è½:UxuªðzäG'óÕÓ4­MzÏié8e\¦cfHëwÛ"öÛ%o.^°mai“㻾Y™«Ÿ»Üis¶ïÛÕå[—§êÜìîÁâ]Ú=Ïxý{—òw5»Ws Ïu;ëï¤Ü}y5?ôÞ,þ£ò{漢߮ €}RƒD£$k7Ö>a>«¤¨8³—î² ÜÅMƒbY)b-C{®!G;¡ÇdCééA¥zÚÆ*íάـ´`\ *Õ­ŒAãilŽG:5¤ì<º›bW­C,-ŠP"„â!Ù D”£Ù½×*s :a†qlîuêЃ[Z]wÌk*ˆã=ø4dE—º†ÇÞãT¡}=Ó ße>¾£Êà};SÙE×ç4­¥)|;)™u@U6Û²§1  Œ-¹dg˵X-9VKلbð‰M#î«CéÆF V;Ô›¢ÄF@k²zD >Ì#ßhmuê åSK0¿VóñP@_“HFHzK1Ìf#5ì2Q­ ZÀV́ëÿŠm™"ü&TV±'mUKÃú¯üszz·øb"xÓ +c +Š/™Å i”T®ÈÒáøÔG +Êûã`úªŒàòA êÇɝRÊÃ=¸Q¥<h8•ª\ËÄ9*•ò6¦ÍÙ¦üQÖ̽º‘øF…D(¾µ©wºQ6õ1EÝbϨ v¹`à¶Í縠 Ãb€’Ú‹¼À¦­¾6_ìlYIŸÊ%˜Cµ¼͖:•C¢/¤A”#héCósX‘¹ÿ„äHhVÉ¬¶5•âuzƒr]ˆ¡U:{ +™Šæ%%+*_ĝ£¢`„¬ '¼jϯÌóÛ]þ+É!CšàwÛ7]þ§7ÝOŸ¬àQŸ¹ý?ñû‹/~äú «·D”­o!$i[b›‡*î±éˆÊWÀz 4àn#Ú¯¶CÙO-)°°)Îë€'™¬<òZÈÊV”ñ"~_§"X¼K;/îd9bÝGɽ±’Öq|-_Î4w¤'ÃF‘ ¢òxùp.ÿæXàYό,$?œÃ‚òÞc²·¬øÆƒ*’˜RËx¶5+,-ÌGñ,Äͨ-ôm#,lX¥ÙbÙG»HucßÛ ˆÈ3jm¤™–¯1št°)œƒ§7+_£s~½@öy”dàö§–Å"ut(_×TZd“©/©’ŒÝÅ`£¢•b[„6—¯•]=_œ&ö¦Ý›}Ëæ¼]Å«r'ò‰Ö/mXԉª þv¢ÚýÃMs”–U2¼þ^¶˜áâìM^™-Ën0£ªê­ÕÙ­ôµŒ([Vb€¨=€±ž¢lö62^z¬c½ŽUG9rÍà’®âW§1"BOV &-ã>Ä<<ãËq¦yÑoPɞÄ&Ño‹Gó¾+Ž#(+.o“ï¥}ÎZ7‘ù”fìcÁUÖyú™Óváb.õøí¾%L(/” Œ@°O¥&Ázjg¹X‹*(!¾ƒßoŸÝ`<­ßSº½Âýv;Q±/@“êþèèȈÁåÿüÞH;nNHU[£K¬ÀÐGž=WUp½~^~éU zúÜ+”&떧\êZ<Á®Ý™y†¨[ƒš.zo4Š'ì5õß,Ozo³<­ÙïJ–¸NìOc,úÝtlû=†4;рÇwýËSî`ës3ܵ[~ÐðmCÐûÄò4z|ÿB÷–'›V3Wät‚è–ÙÙìÏfÄ ÎˆN–†Ù‰ì꿙+4­Í\±&Õ et²–¹a¿Û±ßcH³ ض…™+Æw}·å)÷—ænYì…ð0!RᦂcQ‘³€Ì@"‘¥Áš)RYÏT*%·•a±èÆ{˜äA]ÝÚ@ÝxÍR¢Qþ¯j¯ [ŠM×ß[`ÅZx#•Ž·ØÀ=ÃXÉäe¥úƒ™©\ç¤ræY2ŽO•ú•™¾M$c\® k6¥º2ï…å#-íÅ‚y:QY1îv¢Æí ¾±ÒiÔù©3’yÒ0 J6:Gw˄XÙ8,nK…uNxlKÅ+dŒ¨ðí4m÷ü-¯ Lä77 ’m³ c#×O<‰µ7Ê¡§O:}Å£W×k/~ñÅ{‹>Œé s0>ø¤clô}¡ºz’&¨t œ"Tˆ¶sá +‹F~T ,p0ÏéWw‰õ‚¬F2T썃_lØF¥^ endstream endobj 362 0 obj <>stream +;ðBüV‘F ¹ Ô!óQB +¦iP¦[òj¨"AåŽOÚØÒy$笖ò4–ºýáÔy­a‡«F.©Ê¤ƒÐ¥7Q³'ä…Cü ëæuê¼±‚¤ðK–:ÅD¢îUžMÆ OG•iY㒐MUv-ÍÊÒME!&½Ó¼‚kˆ#ypip3J —’aiÜK0±‘,`ª…ת` W bÒ¸8aÂÇì–G™+±<îQamBØ©‚±öI’ƅÞ¡µG bó,mêMЦNTêX·5‚ïy>ßw"´ôœ‚ÝÄÖXʧÒA~k—úÊ,MÀгþY7ë5árò*(m¨$‡rÅIåýͣƣùý?Ù(à\8ɀ4lƒáŽûìÞ{ö\7ÌʽÐzù¥÷&ÛÓçøZV-~×'p~¹ÊPaոʮ~©lŒçlŒç‹—«¦S™痫Œï®²Ú,)êÛNô§6§€~¯!íN8àõ]ÁU–³¿ºÊújöMz¿b÷¬G6솖ë²Z´ðŠW%}éïS—ŸšÄEåcQýËnÐ{e7dÙ ^Őf'ãOjH~¹É|ªX¨ÓIP~cýkvCsõj7„ò£[돾xC>±Vï_èñj7hZ¥l¶hÁû:;8iv-,,œõÄhüÔ¿”MM«”M"ileÓ3ñnu2þLZ¶¼ÀÆï9$ÓÉÁ0A¿ üöw}·ÝÐæK¬ßµ]_>ÿƒqw÷`ñîÚ=·þÝ¥üc»áµÅÄUìs»ýí†¯®ægWìbo¸‰`å­ÿ:Qïͪ?Pº*J庡{Gø©P@`+zi0 ÀJ +õtDTûAUn ¨ª(ïjhìr¬Jz¡òÍ·Y‰Ð jí0rô@[¤yn€ç#5vIÃۀúꣀÿ\ã…wW Ù#l|Ó¼ŠoëaCE$¥ò 5dQ9;Ê!Á]P<ˆx«ùówŸV`‘¡š»i‰e–¬Î m¾[ÜPëÌõ0T|Lj¼±<àV¨|Á À“ÈUŽbÚsïv"îy`½SÞ>ïù:M*æ{‡­vŒy®#˜vQ9£ŽŸ ?ëÁ‹þMÃÊDd;QlFmñDí&Gf¤%xZ ûó˜Ûaý9fŠ7l¦ î ¸eº2´ñRÎÔ¦ŽÞNÔý)(Øb9}òi^¾åîܰê"ºÁË¿ô}ZP:n‹#äÕÌÓ'*¤'è ?yñû‹/ÞøÑÝyŸ{7š²üClÜe E\(K$êÅKêb¡H «ÎҌ<8Q—<°TDdr¦¢$Œ<˜b›¹!º©ÈNXÂetfi[œ¨K*÷. BLÁᣠ‹ØD4LÏ`Ê +C:P±ÃÑÆêt +߆;æz¢mq¡R¤ßNTÏØ,Lb¦¤#Þ2åõ'¦§´œ?áא;‰4 ¥¥¿ +Û‰ +»,—¡ÎHh`ÇÆ!º!<²›²t0 ÆWŽËÖRø%€=.ˆA]«ù`ëM mMøïD[ŒþdÀ L²¼tþ‰Qe`NˆšÑ¨”ŘWg›fԉ¸Ô¦¢ì.æáÈuÖn‚£×H˜ùçoñpúKLV9@ Å­º¨C™ÞF²²¼äї“ù„”jD^>ÍÓÑw^l?.s·¤Ó݌Þ(dJ¸2èÿ,G¤xI-d„o»Ö“X˜òó‚2l#¥|w¶h'¹`¨F.lªH)|τbÍ'¹0ÿ䲡ó87Úß»;3s`äåýÌ|IÃDzåÚ°pQ$&0ÏòaôSÙé?Ûí¤Šaû»ï—^|gA}úâ͟¿tëíY%SÞ+xb§÷Š*úö^ݹŠŠ±g‹±g/ާf‘%Õÿð^©:§¼WÑYhI¯¢~«ý)¦¯*y¯ô{ iw¯ïú~ï•gq¦³÷ +ιÎPýƒ–*3üÜ}µ»|ÿJ—ÿ՘X•"FÙ¹íô€=yf=,Ü,q›¿—¿bwBoûN[•Ó#ªÉå¦ý©MÂßc“è÷Òî„ÖÆPÁìõ]ßì¿òn¾äÑ +^¾ÑyæÀÚý=Z¾»†O=Xÿðbþ©ëååôŸ`OªÃ³ ëËëù© ˜Jµ6i"ädá]›Ú¥%ªuKïSr,2$†ÎŒü‚YÈ·N±…Lš¦š'h6B9UñrӐä٘yk©°«ÓÉh;†B^ñN ¸zÒð0Ҕý*»e!¦–—†“#·TßH㾍¨ðªŽ:ÚQtHÐmJ÷HYvW€xß"ÖQ@lÔ +ñLÏA@^ÂarrUŠ}Ñú00¨CK¶e€•·Û±ÊýêPE™ÀR»+ŸvÉä‡) +®,|•8’3B×dêQø9ågn«gŸ•ƱאŽëXЏ’äì1 6 \YÂٖ˜t…}†–R¥IG˧Ac|62è @„숫«aæÎoZkÂÄꜨL¶¸Y*³hT:#N| Œzz©®èÝCn©±_äQ@R<Ë£riGŽÉ NïÝà4ÐŲ³‡úT" ¡–SKÀ‰DFô`Šbl!2ª˨­òRUx ”ó ‹Ç‚3uÓà}ÌNñ™Ê4·5Ñu‡eÄk +a8ÂD(µ#pG –s`=Œ¶^dq3Ü[ÁN-.pÏ/¦°ÄýÌ31ˆ:6XIKÃBXÔN;T}U!ä*Ó +—+sWàèáEõØqªs¾VKéÌigíjђaæüúŸ¡bÏ´(eÒRû1f]`¼fÀ•ò“sTì#:0»ÕR¢¼ˆz¦ºï”L× + LüH +^æžwõ“Æ=ã'dÒnéý,€€xú…7 ßC^„u7T§Ü´Û‰ê\×¶ĂcÞç÷4é÷«ó—3Lú§Ô3Lp.öôQç«þbŠÉ£7¿¿úæç9&–)ÌÐ^ +N@xX"%Ð@ЍÊ „gþ²\e”ž¿Œ>Úõ{R5Îù;“'—jÈ#lâqû-A”Eé…QVøYîDô¤‘íòÊÅSËê~– +ÒFšµ Ÿ ©0ŒÏ&GBÔPX'‡ÔãÀÕf©1RYÈåFŠÖ¢ öÅ@¸¸Óx&;¦Ž²Ü¦%æz¨PAEŸ,Í*[†Š±9m ]µASÓ ‰ù’Y OG8‡£³Ê·˜GÍ5°ÑCåÇf˜¼&[Äj>>ۖ!í,G°/\¿ÚuØ'*ÅâÍR‘ôÉ;»@ÈZ  ¢ ñk‹Ô ŒLßÚm‚Éâ)e7P«²ò—Öi~pìgª‰åùÝ!w§\JÓ¤’MŒU/ãX:·ªÞ@BÕ¡£ F—ÎP-£xŒ/qI°¾ÿF}¼Ê:îÄx•‹·3µ t;¾gކqgÉ߯ÍRcÓôã_?f¹h\ë8@—¹›Iâ™Ä·²fÀnŽ%½ÒÓ1´)ç?¸Èě¥BC}úåqu¹güÁÚüÍ4/è¥ÒT–ùöìÁn†{É÷ò[O|-Qų +ïpÙõ].»¾$ÖewõcÀcÀ_¼mÉ¢ «ÿá²Sõ_¹ìr¶hÂ^ECW'úSŽ •/•cB¿×v'ðú®¿à²‹áMYlGÄÛïZªý'.»ÕåûWº¼ºì4±òò 4·ñòÄxv©Ì*X¸Yýã6oM² ´êxyTÌY^žœ-­£^èOmþ›D¿×v'°6†¼<뻾ÛeçK­àµa_ÀøPx÷÷hùî>wÙý»‹ùÇ.»—hÏ]vìðì²ûòz~ê²Ktª$ëœëK¬õ¬Ò:ËXGZh K?‚@B}:pµJ… *‰Em;Óïâÿÿ %l±;¢³)K‡ÊX1C+Èg*ò‰ª ´ ¸ta >ސøÌäö¾Å"ÆÒw–#à L€BM,z®F"™xd·#ŸjúZ€X2ë³n¯ @9¨¢Ú–€Ïðª,S@vÈÈ¥n¼DúÓÙûá4à £Ê2Š ª¬\+Ã_dhˆ¾/„€8S¹¹7¦ ýùŠ2JGoÌÑVÉæ¨y€â¬Üã#Œûi|A'Íßï†åÙÿ·X°S’א7µO0ª|tŸ%ºÊ˜š†€µœ¨Ôe\Ü·&ãÆZ%f3Õ:\†f¦èDÅjvd8xðŠ$Èd— KÂ#ÿ~Ô-ŒY 탁oe6pM¡FãëJÅzW÷V±~XB¨&ín‰òš +AÀA?Ä PÁ’…ÂȍÖW/ÖažfývT3ž­nN+ˆÄÐ̑±TÍÃ&T\øƒEá1O¸U3v;K…•¸(‡Ó¾í[«kôÂd@ÅÃ:B‘cÖ¬òý~ø^êd6ëMÉÁðÀÔ×ðM<ñٓΑ>õ}å½ï/¾÷ÿOÆåR¥é…Ȏøº¨¦< +´û•7—ºiÕª?™‘†ym3²og?ª´›–Àÿ®k4QìÈn*©Ä;ÞMœ<ÝG”ÝK¸“?àrŠÌœèZ‚1´"Ùoc‹ÞNTä„Ñ{ÃW(’×3?ÆrÒÕcçK¤/ÒJÖͼ3ø8€„Z“oHëÀ„é“MK™ºhtǸåÁ”6^M ,sC§*p2gï΂²4M‰ ~u;Q‘ÞFә„”q1A†ûő„E”à¤ð³P*§öùE‘$F¡´ŸKÀ¬ÁIÁS1hCÓWžë+ • }å¾+ó‹P–€â´AxbNØNèL%$‰“"P;c™ÏF¨ñÀƒÛ{·D¼7ï*Ð ^† 7Þ¦àÍ©Ú'¨&·ÕòÊ$‚üŠ¿·(†6fÁö†7TÔÖ¡^”­ƒ®/D²1ù4ãôqŸs ±XÝÜ݀C'@I¢w°ž—ø~3|£‚M–›x&}à†X*é“纶Ûî¹ï«ï| ?{î5„de7r‘Z:~ +g:ð7³W°S•ðÆ¿3'˜X–Ñ\åa€²'Pڒ§;€¯“—#d‹«(Ÿù¼þJxâu·ñsŽc?1®ïøP&»ô•±?éÜÙéf~Œ|—´êÊ#‚6å-ÕöØÿðQ÷ï_ë^k3ð¼cîbša`EÌpp«ê̜XþÔÄêgPûù”-~ŒÅÃϾiÚ¦ø›U¢×óú‹„?µAôsŽc?1jW8¦ÏïøØP õCõ4u(³£î¬âƒ¶këCÄ}?X‡mS:žä¿ý; úšçá{Ô?öB<꼄?\ѱ3po ,L¥Sµy(5]`tì"’•3"±Ý Ž–T€ã‹”ÐAŒÌ‰J +Æn==ÁQ5ȵ<4žˆt”\ä]H‰ºððxí´H ½×®»]$õ¢å{ µ³ÝĆxXªî¨eDJ×4šÉ@×0m®I¶^—”Ú±]s ™(´Jh°ªmӍXñD-—kH$ø èkãÆr‘~™åXÄÞ_u#Fz?Üõ;é8鬬±)ø°à3Wc×Ý,q-eEÄTð½à÷ãcyó+Å[ˆèú†+iT0ÿ×_„ɧ 9$ż>yµq³œ2÷…[¾þÒ÷—^º§Ç8â÷*´ râîõžDz[»¥ˆå[DÜàb biûëéùÿéX™û±´Ê°ÈbzWH,¬‚Ò%Ôjø™ºÅò'ôŒñ–pÐ,Bpq6Pÿ„–n{t\ƼXðvÑbŒ¸¿œÑI‚+²/Œ4í¢ 9PJƒ‹±|Ñ^„|8SÌ¥‹¼4 렑hwò&‚…8ÀR`öXx, ˆõu'R<ÚÔøV³ºVtu¶I†Ã-â:h·苘¨>ø.Oì&x°/>>S>½7w*§=JßÿX¼õ‘÷¢éƒ§ú¤vф0¸Ëqzñ…÷âêÉSkV>GÈ Î¹Œ^6ÊXˆG2ÆÂEI¯[u¨[u8)ûûyè¿ìXÆ_'c!;‹„§ûÅù¼þ¢ +ğRôsŽc?1®ïø6caëæH-ºØ ]=â5ä]»· ;ùùíäêïýóþ.6¦’*dtؐ¡T·¶­¶­fUÀýUHM%UÈì¼Q!s8Ìóú‹û€?µôsŽc?1jñ©B®ïø.›`)ma¾äÁb]šõµ +ÏëK¬Î¬ÔµÙSÕÿZ·?¼t|iÝPèü鍣z;©ù_\¸5|[ÜBOáEG_ʌâ5b—¢£†z`åÉâ-©ŸƖ¥¾ øˆ0D8 «Ž«f“ ¸HBÚc_gÔ§8XÉþö¹ý.K݃Dd.ÖØ—P3n¤KˆfIPYû8,%Éc—™ËÄJ|2ƒ{ΝexLRaÙÔ¦v;”1¤ï3O#¸>!pJ2Ã!ÖKÕ}¦Ž‘TˋÕÅ>NàˆDX©[“ÔŸÄ(YÍb·KÀÔ½<ƒÖµ+t=µIINÕ•ÇK!kç+?0%òcc0L"Åû€‡M"R¾ûfùª†º #l´ï{¨¼D/ãû£¨|ÀuJ*Ùà¨>GæKÄ)L,hÛª!õ©EôtžÕåì¢n¬qÇúóšS‹»ÑD4 Ô½,†IfT9pǏpp¡p­Ùu]CÊåæ-ܙÈ]q³D”ãCá€ø«Xô^:J4°Å‡‹8ï•>ÃQœV8ʸôýY"´M\D8Âi*‘%ù­be ë;Ñô6¥yë$ýº?Ñ3µW ³¾-‘Zú†[ÞT¬°2ܦj¬kYOÜN¡MÏtêÜóÉ«iöÒkß_{힢Í(͔vvÅ5û¯ó„.A‚VX«Ë +”äö_(ܮ믬)J¨˜pÍ ­†âˆÞ5¤¹%û¾:¹yo–ˆË_$°ž cŸ–X‹ž‘¶OߦƒÚ pe°ÅÌ èëA$ðÀ8â91¢|( N;¡À8/fϸ\åtö€ú€Ä́5yº‰.—ȉªÃ÷YþB̰wÄ=!,Œ`*‰iñð߈¿!Ĺ6CØ·«WïŸ÷w±«5•´Ïr.Æ>Ëéd¥í—HÛ/‘NöÕzž¶—Â:޹F²Ïj®Æ>«5›çõ÷jèçÇ~cÔâÓ>[ßñívuž/y°X—fovÕ3»zuö`¥®ÍžÚÕÿкý¡]ýÚº…OpçÕÛÉ®þâÂ}hW8s•_ÔUBÖÜýïEõR‰†XºJ–†ä,©‹Ì‚Ð>F}AgU$.@aÈÄu×ìҏ¼ÆQ„ +°úþŸ–Ôt7Ð]DØ0õ¦ +¢^]@0éBƒ(™f£ý1Ó 0Û üaÓÄÕ®îöÇ  Í˜¤ ‡¬û_ÿQu±#.(àA½ubX1 ¦H8mæË¼ T.ûㅳPª,&–äÆD2"gQúàú̌Úݬ)Û®“¼bx +Œo¶Bÿ­0º °“MV”j¨x%a†¼ÏùDBžãà-1* þv"¢bb?eáqb꨷ö¥ë ˆºè8:~IJÁ̆jøV ©ÈòØ}ÿ•ì}´I}$i&¿/"æ8Ke5¯ÂFÑ'á{³Ÿeˆ¨,x© Ñe__,ƒLáßáuPC#vj+êa „NÔåÌ&z¿Ü,ƒØu矙q¾(eÅÛ$Cj„Æã.\D^dö)þ±{ƒÙÇ¢Ôû­‹Ô¹U7Ê‚µˆo!×ÏGC«È”Dœ1Õ ®)Câ…X¥IdˆŒ ë|!ޅv¢ÑkÂÆ@'€Us¸ÂóаWãpíЊìãèM ï]IïÜ¥÷RéÿÀ«‹5+à"œW‡Â1$Ëñµ¬ÝÆI$¸³~ø ‰¥,˜þq&ÆHPÑMÓ}â ‘0pà@©ëýˎ²r*__¤l»ƒZ>ªÞ‡È­é)Û îž~×M1ÑÆÞXn£Ͷ̞_´Vù$%ÞÈØŸ<×yR!/5Ö_~éûK/ÝÓ³¥KÅ2ʬëqÌpÏ¢PȰûã +”À8dt³:oj”œòðœâJ o7à~áÙë|RG"j$ØØ®BæóJ{½ÊhHæL"¶…Þœ1Ä<`ûNÒ/Ã'|¢ «zKߊ“)4±¤Í'6‘ŽCíÞÀbÄu6wš$pu7àä¢ 5 òyM¬FHïáLj#î£^epSÔ`lþDÚ ÖÄôv~‡š'ãóq°ëÍÖ' |v €IìCa1@o‰XðäÉ:cbÕfÈ&ÏÂiÞÎQu„ØI}ûö‰S†AÏð]þҔu`eñ*o†ZKßÊ¥ù%cQ@®o®R¡ryüÛA¥*”ú°ó:ü™èXÑæúEþOÊoÉ?…n­f}q\Š4ô1ŒÎÇP[Ar8´9¹ÄWF6<ˆ¡8N'äŸ\ @+­ ¾(óQÜ'øÒ !¹ÍózRœDøMi§òÙÅ­¥•@5æhIFQ3Ĭëñ‚Pëƒ^|'øEé^2e€«öŠS½< ÁN¹ƒ™ØÍòŽ’!ɵ¹Úµ¤Äk¨X]ëÂŒH7 ¬ª§øôŠ"û›º+Õ-n†m–[4¤%tÀˆÚU<Ý,bŒ­2ÏeÞ õ¯~À? ¬~)F‚lÝ–;SO§Y¼78>~ª›Р.‚äÅÞÛ$OžZœós_Žc¡œ9-ÆéÌi®gÎʼnҶ1ض1xrÆìçá³`Çræè}£R‰ :q0‹”­?+ê† +ǧø{ÅwïNü½¾ç/8uj‹W§N£ãÉß·{Ë9}Váòì<Ý=þ=áð1É74UÞÜÊáæ9½k œÂÏðÓ';*Q8ö÷ý+/~ñÅ{¥Û­Ø'{.b!´iñv"Îý}¡Îš‚êx‡6ÌèËɚìZ¤SxWNíð)<Ôy¨ˆór( ‚2Q?Ó4EêÀ3[žc,1•Í#‘ˆù§ ®Å>é ƒG œI›9-" §ê +8Q‡@G°ºÍ' §ÊXtnŸªMµ§jS‘/\xMNVÑý¡4ÌbŸíZ©áZÓߦY¿©v”›Oœ¨3ÆcQÉe&ãÉ*d`h–CbEÝy¦C¬ ‘±ÍlÇY™…3ºPÎuMb#rPåUC]Û÷þñ¹Æ+V.|jöü¥ˆ&;g®Ê½ +ñä±78˜ïØÅ«¯¼×3ž=¶á×JÇw07çcZoΕ`b¯S2Ê^2ÊÞÅþ*ÖKý#ŽïFüƈ‹Ç9³öØ ü=Œ8ý^CڝpÀë»þ‚×?ó¸XqÝt-ÚÕ ßøI ÈÕãûz¼fÂj^•9 ˆC“:IO£}gcgcç³.¿:¡¦¯}!ƒ@ó*ƒîc„vÊÁ m§M‡¶ó¦õÛ¤sÖ Ð¾P"åú®o·èú“`Ï÷µÝQŸV\Ý=X¾»vϳ`ÿáÅüÓ*¯-&WTÖÂûòj~\=ÞãbÙÏT¾q‘ï^×|-†êÓ–‚¸j:ˆCöcää8mgÎóêZ#±RÞϬU8vY®îD+*{ǧ•°¶X@fâyy¦{KxYhx¾ÇN éN¼jD²öé!-ŒÒõP#‰Íâ@¦r^ * <QÅyÑÎɎ™vóŠžSY\´·ûb£vj(¯PF™ïMÃÀc¥ùBe¾ •u9ap¿T ¨‘ð_"º +”J´4 Aþ/gw˜F‘y\±¦TˆmàFQmšÅsuR]Ôò3‚Ý¡Ü:aYy5"{Dì1ËÛ-ÚX•þ2-q͗yÙ´ÿ¯ jÇÓ§/%- ‡YO +ÔÄb‡tè¤ ´´-…Gqu Ûp«2+6`7%œºD±S^S!ž·É4Dõ5FæSmaESq¦ë”)hs3ï€]óåjޅ…†½Ÿ'Òþ¸'ìªS ÁҘ»àˆc©wdc~ݺ±":\¯ž$|cÆÅ¹Ó rS×èXYä/PÑ@ Ù)›Â!Yt\>f˜Ä`1¾Î¢ç‹Æ­žç¥ìjÙɘJDdòfµ܍ªàÀ~aØÅ±+O!6Îàòµ-*O$XWA÷L=²¶Æ¦BEÕ˜ú‚ˆZ¦¸;àÎÇØ^D’y¦hÐQ¹ð÷iØS Uër:±Ä{æùý—ÿ¬,°4j Åº¿þÇyz£@xú$àãó€Ï_üþâ‹8Ä€kb9Ôóȁ˜‹•ÉtG¥øu$Ñ\wâ¤ýûØ1Ö~·$CaÈWSÈà3ð3±Œ¢WJ +Ò °{3ÍI‚8i3í£eˆ}' |;)¯“šU=ÐÒì™6T\†QS!c‹Í\uY~²C ,ïÙ1Yæç…¾Mp‹xKÆ-¹óÄY?FBE.9ˆ¦ñ–Œ…¸‰:¢à˜wþGRQ×ý]JR;p“³Ö«TÖP•¥¤#¸dêsŒT"ày¸DnfØ®dÒ(úö"˜¿m9‚v(˜âO9Õù~ÖKº*#a ¬¢$*pÕ"¡Ÿ&ô¾æNrNù[Â%àø‡,ÆÒkÌҦԏ:Q)áo–$€ jˆámP€U.v Y»Ó•~¥Z)¡¹:u’ƒG«/©Še¤*Êé֙÷Xpè_ÈWŽU^‡'¦Ýé_‹†!%S#Ü-}]îȏv¢t¿M ò‰Q÷+¾{xFt8€:J2°tõøœ<à¿Å%\eDׅó‰k¯@2|µ-Á„T–®®®ñbq;»R¦P@%  ÆYN wz[*ôwØSüDA9ÚT_î*Ôn'*|Ñ)Tq’Ìà ´ÏN—üó›c.ìœwy&µœ£–Eòì¹nì¤û´—_zo=}î•Øì6[LŽÍŸðØ.¾žåš.¡a^=GþÊÆþ‡û‰ïî§-.›ËÙb5Œ?eeó÷°²õ{ iw¯ïúî§x\‘ÙPQ³Óø á[qå3@øÝãûz¼ºŸ4¯òX@t…JU-÷€þ®ƒýÜO_]ÍO# ÂY1ÀY#4x—ü1ÈÕGAØ@8r ãYåçS–)’‘5ëÂGĨc¦­›Ù"ð,­kì s¢² ÷íDíÚ)µ$¾Gua^€º9`Çs@ˆØÈÝ›Ê9”X~b&2Br#áÀ%\h²‹†§‘=ü«%ò„±Ä+`™nô„ÍND·*‹6G–àHîí«ƒ©lL`(þם'šŸÀ–ŠLYøNôžá*è2¦‹^ŒÇOx¬IÃÓ(FÆ{öÝ7‡ŒÔf&nˆÊMÜ 5Z6¿ðì1ê^Q/Êì5yÆ/wjÄÆ5!šßXuÁ^‘’ä”S"á9Þ5ÿbhe@9L_O-©æO‹Ãj#-~¨ëª¸CÁÃÀ¦“ùH€qÀQPi)~61c±ÚDé¬F$´»$¤Ó¡ûœbvá·*iøa<ç …td.N·ò*\>µÄ52=µ@ÐÈ àˆƒ>š ·{aâ 7U›¨b7å‰îli°hŠÔÖ3•zÉÍR$›“¶s>¨¯»Cȍdˆê, Ê¡×$Ýþ2èÌ@ÌHIÙy‹ Ü3Œ’LZWö?˜IgÇeXƒÊ™YAꇰ ¹nýEN†'c\® ‹Q#jèÊjx¨¥ŒOùØjˆòân*¬/ޓs@‚µCä4ãö¡÷ϸæIÀ™ ©i™8‡•Ç÷Þ=ݖŠ_­ê-*j¤2 †Vøvš¶û þ·×ÇÅ»®qŒ]µØßI®½Q=}Ò¹VË«U½øýÅï=ú0J&•49_çü16:À*JÔ úa&wînĪ‚çÊ& ©¬5ĚæÙ!½ëk,Žӑ›ã€¿XB.ÉáÙ¸VÉyġĉ +”A*"ñò·xYV +Ä"Ð@ú‘4ã$RîXð¤==ÐýwK„ûÀŠòw@œš ß5Šâÿ҄)’nn€šÞD͞· iWAIǪ¼·Š¬8…©cx$à7îÚ¤aœü´N-k\"Œ V¬¡Yaj¨p9#X¥ËB…Ù@q`å¾ä ˆ„_ɱ¿4nák €‰P³”‰n¡Ý©“ÆÅ Rf·?×J ¿…îab˜3²㮇BàάtŠ‚Õî"ÂÚ£¬FmiSq‚:u¢Rɺ¨ÒJ<ŸG}K:Rª‰#bÀ4,qñ[»TU?‘ÆÚ1yws} )ê¬Î@ä`ΧiÙÖyÅVЈ¡-GÁw\ÅáíDõNXpöqôá°aŗGç}–Y P ú …¯Ãµa?*ÈmY¨K4•‡/òŽ/OÚo©Eª€cZò¾/Žû5‡ò‘–6eÂ8Uùq³Ô@¤0nXxÚ£R™ÜÙå¶ì‚§´)ïgµ<ڒ†{ÌЖÜìé"co'* l)ºúáF¾#*Á?šßïp–}XÌPցœ’s£ÝÛcϞ릙{^»àK/½7ڞ>·Ä×µjñË_Vœ_þ²\-$és*ó9óùâêªéTÄÀùå/ã{‡¿¬6 Mꚷ,ãO¹ø{¸ô{ iw¯ïúþ²œýÕ_֗³oÓãA÷‚»ÑOüe«Ç÷/ôxW¸À-´K—›…»t¹œýÅø‹ñ=–³wdu"¸{·@/ǼÊÅR›…½ì•Å÷jð÷Ø#ú½†´;ဵ/îýü®ï÷—åùš+xm×Ð=Ç-ÝÝ=X¾»vŸ-øwóOýe¯-&òEžûËÔßÉ_öÕÕü8\« ,ÊÅ å‘áZÀ©!¢C‚lQÞ\(ˆÊµ´®×²$Ýïÿ¨I¸xÙÛMþ>@Y#h£  +5#¦xÃX%Gz}`ågÝVÝbu¥%2hö ´PK$‡ å&Õ!áwˆÀIàpÑjh3Cƒ_TDÐ¥¯ +{E˜CľûaÞ½hعa,*ö0Ð(ªªëÌç+ót±ÞE}qӄ….O¡ÖªœþÞ#òäŒýÛR!¿O©›«¦³«ŠÃ…cN +9G¢{B!Nú<é6r„!ž]óûÍñ-v9j^!ãÍñ²Ë—­2ÔæÄÌÉ:Ÿ7nø§O:•™CfÅÅ.ñÅï/¾xO“ƒfOAýþg÷î¢rïæU¹¨v¬}ÚµNdϟhfïn*5œÌ–Yтˆ'‡a›IÃÖEñ²: +JïÃøâqpÛëÚ¢zÁ+Á$#<™FRÎ; »ÊSR+@ËØÎ4Ë4Æ83s + H€ê ×-9ixeÛª«§–!IÌθ`©H3;”øÀfæõ“sÌD@,äZtjÝôZÁÆÃíXc0g‘ñ'–fO­¡"¿Q…åH€½ºvÇw.†VŠøÔófʃ6ɚª{ùôì¹.ªr»;]/¿ô^ˆ=}nÍÎç—í^…Ìd<´\—ñТÅ]¼jêK‰Ÿ +ýÔ%.z´à‹ê_ƃÞ;*½³´í.œ®bI³“ñ'u$?Šà°,‡~Ï!™N0àý]Ãxh®^‡P~t£ýQ÷‚‚=Ÿ«Ç÷/ôx54¯Ò7[´˜~!œ”»Œ!Œ!Ϊb´À~c_PßóJ}ÎP£ozfâ­NƟNë–¢Ãø=‡d:á]šö…ôÍõ]ßo<´ùš+xm×°<gÜÝ=X¾»vύ‡x1ÿÔxxq1Ý'ˆ£¿“ñðÕÕü´ôú! ñPq®ÿ:Aðͪ?˜Y ˜]€žAÿ8:SW` $½—ÓpɘéÚB„·ÄÎ% -îg—ÞÚ3'*ß|;QŠ£a£uÅX1þFg¡ptåÖŸfQÔÞnB€Å DÀÞ[› ;êEnha–gÑRÓOøÀ4šEí +©œ¥”àR(ÐØŽX͟¿û´V†7ÛB3Ò6ٝÚ|-¶¸¡Æ™úa©ýcRs£êphŒœï »°ìsÖ2˹Iâm]!|V§ƒðOÞÑu Z’ßo¼» XJ\û!wEuŒ‘¯àvŽ–%Ꭲrn/Ôx0úÕP±Sjc…àh?rÃ]¦÷ùq{Í­×åÍ f«öhÃ9ˆ²>cFÆ^>møyO¼ÏvKÓó,àö†ÉB“êD3ᙪ¹ei0?XþLÛÙP‰ÉÅ ˜ƒ<È¥ZRø+ap5о?ù4/ßs‹NØÀª+éwÿÒùûyóã¼-–tXo”0OŸt* rœrOÿäÅï/¾xŸà‡¥ì\%)‰…Ûbã6C~£º‰1êÅLê⡸/¬îDÛáD]ÁROÀòyÝbüé3́#Âüû̵‘§°¨HV˜Òevfi[ œ¨K X*6/kBN…Ÿá£ DÑNDÃô ®| D¡(º04‘pß<¤/«9Ôm3‰ •2ýf©p,$ýíyd‡àBêĕǟ˜žÒV¬þlÙ6VihG°¤%I(.ýUêÜNT@?fd@@¸IjàZ0r4‘KÁ'%í`@¸Ð=¸v-…_@äBwe—ǁÕ|°õ&°„¶& +ÀŸdÅ'"`Kná /ägŒ’e¦óOŒ +ËÄ­J™œyw¶iFBˆKB-*~ÌÑë(íDw¯1n‹˜ÎÄåHÛmÂñ³MHdžÚW]Ö¡ü+#•*œÅ¬@yøCù…kÄd6Sˆ(¸k.s·ÄÓ݌Þ(eJ¸rèÿNԄôF‰-$ˆ‘x’ óO~^P>‚mÄɘÕÙ¦YÁ`¨F0ljè)|ÏÄhõ'Á0ÿä²û>%ǹÑþ²Ý™™#0ïgæ; J²8>®’-ۆ €û"qy˜ïL£ŸJWÿøÙn)¡<& +ƒ\|W/½øÎ†úôśAéþÛ«¼&]XÞû6Ù9ŠE›¼ócÑcÑ^¼OÍBNªÿáÂROi?äpۅ¥¢«ý)–Êʅ¥ßkH»x}×_payo:»°"rx<ê]Ë·‚Àžç>¬ÝåûWº¼8±ÆÌÒïáýa± ½«g'쁕›%$nó÷rYìNèÐÐΐßC3+¿@bß鿦ý©]Âßc—è÷Òî„ÖΠßc×·;±¼›¯y´†×†} ýsÊÝߣ¼køÔõ//纱^]N$<õcO~¬/¯ç§Ž,à`(ûÚdxT£vM˜eƒê= Û²üʗE±ôfDŸ5²Þw, +qëCFEL4²•¢6;YÓÐêç|zQa\C{!̃àXy9¬ AW/îf¢Kª'¾Z\J1öõ€“{°«Áã⍐ñ*ŽrۑÐtÌÙmDQ÷Èbv‡ +±¦‘®¢J"0âVúnçî=`@ˆuà5à‚ºTŽÀèA‰¼¨âI@!Õâ÷üb:û@ÜÏ<ó„¨gƒ•´4­„Ií´CZPÎä,/¦²ÀÛÃë±ãFÄò +€9í$B0RÊÂÑùõ¿HðÒñ,µï–ÆkŽ)CBÉ9*ö½˜«*W"‡ž…©øðƒG;ߍ eæžÈJ“Æ=ã'ŒÒnÉ:Œôâ!pA5‹6 à‘þ'jQªÚíDEdûAp–¾#ûüž&ý~uþv #>L8Á½º„ØÓG/é>v÷Þüþꛟ§œX®0})9ëa‰A‚ B•Õì*¹fœ|ØV° °¹pùÈtÕ<¢ÑáãŒ'ƹoÛÐ&3$‹lWÆy;Qm@9¼‡ÉV¼›P€ïÓ)Y„pöš½D*²B§¶®[Ò¦>uÉ  ®”,´ZÂ9D¿;`=eU×ìú9¤fwtéF¦Ò©°£Êèó qO¨Që ©_dœ¨\’{qì·$]¼ŠŸ1Ý@!ªÔ +g˽ŒvKFwð“àŽ¶%4($´;ªIJƒWýkª~JáF硓*Æ8·Y‰ŒÔcžÅ…T¨Z9·zqUy;¦ŽÒݦ%‚†fÕTêD3ÚÖ¦"¨ [CnPÕôBâÀdNÁ'AòœY?¼ñ„#ˆ%ÙÀGÙÏ3hþ$1VòˆTå…ÛnIL¼•¥W+ h/ڒuØ'*åâíDE¼&w ¾0Kú Èu- ópm‘)”‘¸ñ[»MØYi眞Mhïë4?8ö3óäÄôØ;%àҚ&•lb”ãXJ7aVÞÕ ))¥ ¯8n&UZƗ…dÖO÷ÁTyC›ÂŽ;1^ãíDÍòŽï‘F’çÍ%w|÷K9ŒMƒûh ¶ ܼ!º«¿“6“Ä3‰hNš-»!nG%¾Š›;›6Ýà¡x;Q”äW¹Òê֌?X›¿šµâ…ÇôAÖÊ2àž=؍Ã^K[yôÖfãÓ_Ë[ñ*ß+¿]_Òå·ÃåºñÛ]dÁ˜ðÁ˜ð—[²0ÃêøíT X'?g 3ìUTtu¢?åšPyS¹&ô{ iw¯ïú~»î`†‘ÖvD¼þ®å[Ååö'~»ÕåûWº¼úí4³rô ~·qôÄxöªÌ + X¹Yä6oM²Ø´cgÈÑ£™•£'g‹Mëɪw'úS»„¿Ç.Ñï5¤Ý ¬!GÏú®ï÷ÛÅùšGkxmøÆ0‚§~»Õߣ¼køÜo÷/çŸúí^]Nÿ Öðèðä·ûòz~ê·Kˆë¬šñÛ!‘=«ðβؑ)Ú +J„&ôÐÎâÙN¥ù*‰uo™½ì9¡àžhҐªJ;T•KáD òÌN>Qµ6L\ù paä»÷-6`WG${jct%L p^ˆnâ‘ð~ŒôªépŠÉ,áº]3ꠚj["“À«îL¨ÙÁ {« +U¤? éK ÁSŒ/ËÝNt*<—Âpì—BXˆ3•›{X¢_W”QøÇÁmUuŽš(Ï*€ˆ¢;¼¨Æ×ŒÒ¬ñýnX^™ý ”;%!ojŸàÜW‚ɾ¨"C&}d>wU±!TJô2nð[ ‡Ç¼+³Yþù! ÍLщŠ)25†—¯HA¾Æ¦œ ”|U6„÷’™à lÌÜj(1Á´LÜ+çP¬‹uoëŒ%ЁÊÖî–HÜ`,zL@8ò„P5“ã:#7Z7Øc&jp§A;K4pۈ&14sd,Uó° È,`ùJ¼"æ Ã*ÀÆnk©ìåpÚ· »U?Y“{=—áÝ«|¿¾Ù½­=ˆ“Ü8ü@}ßÄŸ=éºAá>q}å½ï/¾÷'PÆSåŠÕ @w.€i±ˆ;ÞÈ£+@oõ'[Òp¯mKöýìG%wÓ1»Ã °‰L·seàñn‚ßàiâb  + MˆæNÈ­²iAÂ߯½¨HK*ÑGL/iÄ}á,ˆ/JÑÁndôç,"†z¨µû-÷ÚL˜>Ù´Äy”*ƒšA¼ëÁ”6^M3<sÊð p5gïö²4M‰ †u;QÓ,݊7Èó‚ӿɀì†å°ìgx”°SpYQR¶~&q¿X’ŠRèSîgWíó[Q(˜Ü'¡rEK¬‘Y›Óô•'ÂúJC… ð„H!æ0¿În_ӁŒ>Q",à‚Øcɓ" Ec¹ÏF­ñÀˆÛ{·$t™Ñ­8¸v„0êÚ¡}‚ 3åö¥:]3Dÿ#TËUmژCØÞPqýAÅÐ[G šçÄåÓ Ù‡÷ÿrõ¡µ»á@$hI¢‹°ž—ø~3|§3ÁÒ'vF4šô/b)¥Ožëú.0’ž¸"¾òΊð³ç^sDpKV—™j:~gÅâof² µòßøW&F‹§‘L/¦ƒT7‘fOhµŒ6¢O@™®ø?·ã@a óyþ…Žûø‰×ÝÆÏ9Žý<Ƹ¾ãc©\ҟ¦¼ù1è]ëªkô.\Ûý¤[è-¡Ø'Yo³Ó÷O;ՇYÀ µ v]DÜ$*¸!\$”þX¤IbaŽSªT$‘|>ڍşÅÕ ñP[P³¾™Ãʄ™ R’‚…º³Ñ’E3.Pw;:: ¯K7¹ù^C +ÀëÓ£›ÝÊۏ ”ͼkNJL7·èVIh±]Jêe•ÕV†Ùbd>TF7B¿ U\“!eè}Á±hãîq‘~™åXÄÞ_u#äy?LÏNu3 %â¢%s5q-ÑÍ×RV&x»à÷ãc™TÃ+¥YˆÕú†ËeÔ'ÿ×_„‹Ñ|šÓё#üÉsî@¹DºVî˲|ý¥ï/½tOq¨›U<Ôi?Tf½µ´¸vàò-"îâÁ‰JãäÁÿéXx‡°­2‰cô‘XX…IèÆ4NEMPìA¡z½‘Ê{°Ø8 Zk´${\61Ð/å» DÇxÂë­ëŒF„6µvj7¬1PJc¡”„ê)U§vãáL17ïdه›!ڝlˆðv’fuÅ`£]wò$õá„‚UÛ¬®]Òæp‹¸ÚÍ!‰µ¸Sí²Ãn‚ûâə*_¯4Á͍òPfòZw,ÞúÈ{YôÁS}R»@"J¾Sû_xὤzòԚ•ÏA/ˆ`.…Ÿ·†Røi¢-…ÿ¢h×­&Ô­&œöýÈá˜û€?×8öó£ŸêâúŽo×õÃ|Ƀź4ëkUŸWŽX=X©k³§jþ?´n¨æ¿¶nþ“"ìí¬áqá>Ôð… +'=…×})Égk0Dú†Y&=³°dñ–ämÏXaC ˆbìWÑAάØWƪ™q„,ƾΨ©Lõ Æéu;Ãcú£y—6µÚ!¢ÌBüm×'d¢èöWƉ=›BÂ3adµðË$Å~ÂûÆ2p—7©?‰>Ö©ØíP¯ì²’ñ狀ºvºdZ$\I@ø"&JU# +ê-@%ÁjÊ ø(æ„â}º&1Âw›Ò¥8†"%z9zOƒèecÁŒ‡Œê$ìpUÞHÃ|‰¸Å‡ÓŸXțԧqtCç™íP¬Ž0#%ã¢"ôÐ1ã¾»:¬â–ýQâRPF# â?ÂÁCVm×u Ém›wig"wÅÍ3*»¢$àùUè+—*E CÑr‚Nw EwSíbQšlï/¡û3Dh›,¸ˆðf ¢"Â:KB]U¤ ôïÝD‡êhz›ÇÒ¼u’~ݟ菙Ú+†Y?H}s~\7¬ø0܉j¬kYOÜî êك®ó‡ñäÕ4{éµï¯½vOÑf”fJq×â [4ø¾øÞÁ›P_’Adû/îà}³~{…uR»‡ÿ[- Áo“Ö–ìûêDäæ½Y"ɳã>*"ùi‰•é‰û´¡€ ó0Kß¼\l1m™wõX" ‰Q‹C¬ˆ«`|#‡FÌ0¥Ì éìÕÿˆkò@ +B%vÒÀ(sPÄ #®☐ B8w ¼+–‡`åÚ aóÀEÂU¸ʳ0N¬ùÊs'I#mL»Y‚¤³÷>ҚF\xgIê<0ý<Š›¬§‚†"[X[ù,]& ‚) +»]ÿ1eUCN¶¤)Ð6¥ËI5ܔˆ°ð‰ ;6¡RÊÁÀ(°0à—jZ…z@–#è¤Ç„Š»¯TÑByŠn§+jC²"~Uyà¡Ð( ;) “ MÂ/{²&絯£3D²úÁ$ƒÅi³ÈMÄr`‡«³yLçï°©£¸’Cdlj·@OEi|Ͻæ÷ä±®âõ _}å½zøì±uÆ?·«$-»š²²«svÆ®¾Ø³qëåqëåg»8[$J…ÞÒ®æëdW×bÁ±‰÷óüKöE~P<ÁŸsûyŒq}Ç_°«s¨W»º«&µÚ½e\"?·«WïŸ÷w±«5•´Ïr.Æ>Ëéd¥í—HÛ/‘NöÕzž¶Ÿö™¦’öYÍÕØg÷ÚëyýÅ}Pkžû€?×8öó£ŸöÙúŽo·«ó|Ƀź4ëkž#̯άԵÙS»úZ·?´«_Z·£|&ÏÞÎvõîC»ºÀ™ËL!(™,¨ûßÿ +Êå¥ ‘îï!9KêC€2¢Ð-Èá¬zÅá¡ÕI\wÍ.ý(’–ª +;ð§-)én ?º‰HA!)è—Ýž¦æŠ´R¢dzfEèu1äåmºüL —»àí Çÿ(([Í|s„e;$Ðÿúˆªz ›_ £MÈ/ ¦Hˆì€3N}ÂAœ×ULƒÅĂۅ‹ÉPúàJÙ°¦YSÞ\'Uâ߬X…þ[a$sAÅ fRe(­0܁ÿ®4!̐ïs"!ã©Áð3DÄèd&LY"Jj÷ãP¾&¦ŽzkA(OBX\Î?bÚà(Þ(!€o•Ê,~Ý·ZéCˆ6©$Í<öEÄ•Õ<¼*åê„×iHÌ?d•%¡EÊínØc}±| -pŽà:¨!Ïði¨­(„1 <9Gk‰Þ/7Ë vÝùgf´.^ÍÛ$CB5õƒ†ˆ»²izC6.î°Ì['©s+`0Žj;ßB֞†V=/9‡©Ó5…`IqDÅÿþŸ% ½7ó¸ZMRåõ^a!h#:\áyhØ«q¸vhEöq÷³‘Ù{©ôaÀÕÅjŽÈŽj4b½C'«w?=_Ûµ7$ÛbÀȰ 'ÌِXŸ‚xtgbŒ 5ĈÀÈ>\‚Õ (uý±Ù1âïH½¾8­/‰;¨å÷“†h lýHOÙfp÷Œð»nŠ Ö ü`ÃÄ0þ6¾h­òIJ¼‘±?y® %$5^ +¨¿üÒ÷—^º§gK— +;\‘ð7Æ ÷,ªL»h½ýêZ2ºYw·¿xÿ%§<<§P]úp¾®ÀмŽD%F°±û +ô3Á;(íõ(W %í3±‰ÈÃw8ŽN“˜9‡Ç<œöÄóp–¾‡U=‰ðÞÎóŸTíÐ Ÿ0DpµÎ¡LoÅˆëì·N¸ú¨‘¶‰M(V¢f/B/Bzˏ‘ÛˆûÀõødœ i°þDÚ v–ú° ýŽ€ñeàì’]o¶>Ià³KLb +Ìk–ì‡âìÉJU=fÈ&ÏÒÀ ÛÎQ tóQb'ùØç¥Å%Ã)Ùå¯% YV¯Rñv"dVwÚf¶2dqŸ¬Îµ¾I–BC–<ÊO(%cçù¾!«TÀ\¿ÈÿIù-ùÇ0­Ý,bñ"U £ó1lò©tÀGäw^yí †B–òO®ÜVT_ÀƒwDÅ ¾tx{”f·zRœDøMi7ÂÀGܘ  Yþ9Z’QÔ Ñëz¼ )ú—¦) n.å¹tÕ©(Ü#(g,õ JÀ.åŽqx®œx’´I®ÍÕ®oe¦PwÔ±.œÁˆtLQyu¸¼QT6uW §0!NA´¤)tÀˆÚU<Ý,Pç`lxEXwBý«pď££_‰‘ ['·åÎTÆÓiï ŽŸê¦`.‚äÅÞÛ$OžZœós_Žc2 œ9-ÆéÌi®gÎʼnҶ1ض1xrÆìçá³`Çræè}£øˆ QÌbV‹w(.Ô ŽOñ÷ŠÑޝ0€{}Ï_pêÔšo–¿ÑñäïÛ½e‰çNÕßûçý]œ:šR::#3΁vX£\˜sȟšBýœÆý~|D›€ eÌ%eÃ Êvtåț.ƟŠ”wÑÏM¡ß;ÒwwÂ0`í: Ö÷|»s§Í—‡j¤´úãX9­®›Ôzµ˜’Qö’Qö.öW±ø\êq|ï0âPTÊqñ8gÇ;¹¿‡§ßkH»x}×ßHqué¸Xq±Ÿçæ]}Ðð-çô"þîñý =^3\5¯Ê’t¥Ù4Ibqí;ƒ8ƒ8ŸuùÕ 5}í šW@C0Ah§|ËÐvêsh;÷™¿mêæa í %M®ïúþ”W7_ó`¯íúÆçxø»»Ëw×îyÆë?¼˜šûÚbŽ«‘'ù¯ìïdá}y5?. ïq±ìg*߸ÈwžÜ·&‹êÓ–¹*BÿpE㐽Ä99N[ÁÅY§ú_‘鈕ò~f­Â±Ëòs–ÐׯӋ +Dւd&žÜÚ(@/«Câ`- OGÅûنÀ±!ô4"YûôF=ų́:Â39OGzpâéy•Q.ïcT=ìÈ´›WôœÊBMÒÜå; ã3ÖÔ4Äýʈ £t·¡!R¼Ò|¡Îª]†Ú‡qÐà©àLa¸Tdi: ø§- *¨Kåò©%*…1`W¬)b¸Q(›fñ\Àîjø™¦ÞiI«¼š‘=&7ÊÕ-ÚXUò2-æ›yÙÓßS ¿†Ñ£oÀÒòà"ºÉ&ï{ˆÄéÐIh1h[ +Y6WàE‘Á`ƒ*+£áfu|ºŽhãΏšLCß·-#ó©¶°¸‡©8Óuʏ¢³¹™wÀ~®ùr5ïˆßÜNûŽ ùº±ÃS áDÃí’#ԋ¥öãӗ½OzÔ­ïi°fæÕƒ„o̸xy¹©ë€æF¸Œ~¨ÅÏ Ñ4ž=X º|t0‰Áb:{…̍[=ÏKÙÕ²’9•(À€›Õ>p7 +}#<?ø…a ÷5ì[£q~bÃm‰ë?Ô^5¤ÌbÜgꑵ5 ø¯|S_QËwùàÛ g£gúˆ Œâˆ=Õà’Èö&ûóüþË Xµ эº¿þÇyz£@xú¤s¨bõiÀç/~ñŏ‚ ‹Gb +®þÄJsäÀýƒV v‚ôGüúñ`'{'b;ÆÚï–ô*ŒM?">ƒÀ.V„@ôJÌ!ÃïSáú2Œ9Z†Øw²¾'±“ò:¿^ÅO4s¦7 4QSñ(曹ê:ñ“bpâ=+ÆÀ!Ëü Ð×£ 4oɸ%wH”–-ÆSr/L#⇑Xˆ›¨# +®!©¾a߇òSYåHP;p“³ ½Tjr ²44ÒEZ•©Ï1J=¨x̼áŠÚU‚LåJºÐuaZ¦Q"€)þ”Sïg½¤«2ÆÀJ¢Âû ß4ñ»ð5w’sÒÈßxgmKëOYŒZš@b0´)µÁ£NTJøÛ‰*QC ®hƒ¬r±Èڇ²[¢r¯ô¢H ÍÕ©`ž”¢Âº¤ÎXFh=-xÌsÁàBQÁØ$qx]Ò½þ5i‚P²Â +VK_—FGo;ÑNºß¢²*Nº_ñmÜÃ3¢ÃÔA€™¥¨Ççäã)`2?ª‚® g˵w ™‹ ¾Ú–`B*3œ—×7ؕ2…2(í4ÎrR¸K€žqPÞ,¶ P–6ŗ» +µÛ‰ +_t +Uœ$Ó/ ÌÎN—üó›c.ì1c‘Eòì¹78~7ðùKïÍ §Ï½;ÝFT‹É@ªù¦ÚÅ׳Ü@Ó%4¬Ñ«çȟ€ÕØÿp?ñ½Ãý„0ã~ÊÙb5èÏaeó÷°²õ{ iw¯ïúî§x\!ÖP³Ó+¾±Å'î§Õãûz¼ºŸ4¯òX V†ñX°êÔvDg\yθòÜÉÙ°;©Ú¬ «kÌ«<àRÆc!\”ÕÉDÛáSi!qè÷Òî„Ö¾Çb}×÷»Ÿâ|̓¼¶{cy§î§Õ݃å»k÷Üýô/柺Ÿ^[L¨BÏÝOìïì~úêj~a¶ÈJ‡ñ´Âtw %‘ˆD¶¨Ž8 +IWWPe״3E2`£À÷Ñ;"Fru‡ŠÓWN4ù;˜­|¡²>÷ÍR‘*@-‰ïQID˜× nðÚpª4J„#à¦r%–Ÿ˜…ŒʨK,¯¦Xë6±‘󢇿sµ,€²p¬€ÕbºÑÀ:ݪ,Ú./G‘q榄¶k— zî-qÝii€Sðƒ¥"S¾½g¸ +º²ÜE/Æã'<Ö¤ái˜‹ÌÞ s‘Ú ÁäÂf†gÓKáeÙü³Ǩ`ED½(³ Ô俌pØ8 vÓ ~#°{3{EJ’ˆÄ! ‡Ìñ¾Ý‹¡a”@”¨ÄEÝ-áZ‡ÕFZüPW!Äð0„éä@þ`pT$ŠŸMÜW¬6±ö« ­Ç. )ÅtèÞ-f!¯% ?Œçœ†Væâ¤q[ ¯ÂåSK\#-ƒGÁ'¼šÖ?úÂÝ +0 +àD¤ÂMÕf-©Œ„¼"KƒES¤¶ž©ÔKn'*ƒdsÒ¶bÎõuwh¹QJ Q½‘5>9ôš”k:pЙ˜‘’²ó¸g+$ítÜ#ṳ̂kÓÃ)=©œù©µ—,@g®[c‘ƒ“áÉ—kÃâE¼¶º2ý°qÙ ÍËjÁ<¨!ʋk¨iܓs@‚µCä4ãö¡÷ϸæIÀâÈ6-ïއ•Ç÷XZöËÑm©ˆhUhQyÉ$ZáÛiÚî'ø{Ü^—5ì*Í,M¶ØßI®½Q=}²Ûñ¾¨Ô¼øýÅï=ú0J&!{œžé` U?‡¨Ö ¹3rú܂๲…I#C*«G µg‡ô®; ±ÌLGrTlŽþb6tN7øÈt­†«˜#*Q©1ä½!ñò·xYÊ|KBé#DҌ“H¹gÁu³àØD¿i‰pX1aw@œš ßµ‡Û‰Š4ò!•¶uÊ:µó'jViHÇÚ¼·‚¨ðK˜:†G~ãN MÆ ‰Oo•iYãœ`\°b-ÍÓMp9#X¥ËB…Ù ˑõ[ø’ƒ"~!$ÇþÒ¸¾ÑÉs æ‹.ZÝÂm‡)³Z¢Z¯Vù-t‡\ œp +J¥S¼x•Ïç‘mÈD/TøÂ拓2¸Šø­]ªúHã혼»ñšûõ*)&mè$GþÔ²­óŠ­ K›"Ž‚ï¸ŠÃۉZŠÊ¨8€å;‚áÃaú-Îû¬•@¡@ô +_‡k1*Â~ÀÿËmY¨K4U ‡/òŽ/OÚo©EªccZò¾/Žû5‡B–6eÂ8Uùq;QQô\¼ÀVQ©Lå^vM÷¡›÷x»åѦ4dÔY6mÊÍÁž.2öv¦ö³Fхbr#ßEÝÍïw8Ë>¬J(ë`”\Š×úÓ~zö\7ÍÒóú_zé½Ñöô¹Å ¾®U‹ßœ_þ²\-$és*ó9óùâêªéTˆÀùå/ã{‡¿¬6 Mꚷ,ús¸ø{¸ô{ iw¯ïúþ²œýÕ_֗³oÓãA÷®ÞQº{|ÿBw ÜB»t¸ê1.–\ÎþŒb|ÅøËÙ;Ò,æåØr±h^åb©ÍÂ^v‹Êâ{Œ?µGø{ìþÞCڝpÀÚã~~×÷ûËò|̓¼¶ë ˜Ÿã–îî,ß]»O +ü»‹ù§þ²óøÌTýýe_]͏õ +âŽté†Êà>0\‹Ñ#*Ã4ˆ ²Ey¸°BT®¥±~±À-58áâ98‰ý}€OËÚ(¨'­ˆ)ÜpÖûFYđ^ô5æí÷õ,,E ¾þ¢.¡ˆÎ„j©]U-‚–›T‡„ß ‚,`‡‹VC›ü¦¢Lg׊°GU+ŠØw?ì»' ;7¬àIÅF޽:Awé*d×=yÌÙéƒCŸG›W@ DE§ÕéÊ­pÖÂÂ;ð¯î üÇÀž¸<‚¥,€~‚WÛ9@OÃí +-KÂEm:ç'j<ýj©}§Ô†Wºh?ôÓÅø9~Ü^së5Fys‚™Åª=Ú°A¢¬Ï˜‘±—O~Þ›³€2ƑPøý, MƒÉB“êTjUj×ö––`~°¼û™8¶ó‰:1½Vð`p +Mmè½8†Áñ$!L¶y–:º„VŽñn:T|С*^þ–Z¼¾dþ‰¬îv#–aSÞxÓ͟!Í1ãKNT|ÞíDÜóXÉC™:k¾N“Šù‡#Àº=Æ<×Z»¨œ€Qꏩ-`v–Ö§ç R›¥º®hb{ßÎTdC!ìéÚTXôŸÉ»5–ùç˜)]µí6¸L$—éÊÐÆK9S‹:x;S×§p~c9}òi^¾çÝ6°êJºÁÝ¿tþ~Þü8o‹%Ö%ÌÓ' +¨§à¿?yñû‹/Þ'øa=ú@‡Œpʐ!6n³†/¦Àõb&uñPTÁ¬îDÛáD]ÁR Œ4ȤY¦; ·‚‚ðYÉ +KºŒÎ,m „u K%>¼¶ÓAñpøèÑ@´“A;W>¢P݁z€=¢Ò×á¶¹žh›I\¨”é·¥a<ö·ç™ÒÇa¹òüÓSڊ՟ ÛÆê?äË&MIBqé¯Rçv¢ú1#ÂmH| ƒ€&ÊjDT’v0 \èÊý€;ûÂ/@,Déâò8°š¶Þ–ÐÖtõ"+þ;®Efçf- HXËLǟ .ÊÄ­JYœyu¶iFBˆKBmjDåw|'‹ÎÌ|]+b柿ÅÄåHÛmD3!j_uY‡ò¯¼+FŠEeÊÕ5_H±FLæÓ<ù¾óbûq™»%žîfôF)`‡3‡þïDíG¤x‰-$ˆ›ã,Ž-¸RQ²1Ā2fw¶iV0lª ›z +ß31ZëY0Œ?¹ì˜’ãÜhÙîlÓ¬À¼Ÿ™ï€(Éâøô0¶ ÷Eâó0ߙF?•®þñ³ÝR Ba‹ïê¥ßÙPŸ¾x3è/Ý{Ҕ Ë{¿À&;G±h“wþ¢b,Úb,ڋ÷©YÈIõ?\X*à)VtsÒ«èßê„–©äÂÒï5¤Ý ¼¾ë/¸°<‹7]XHÓí,Õ?hùVPtú¹kwùþ•./N¬1³ô{ø~(ßûSEý9‚³„Ämþ^.‹Ý Úò{hfå÷ˆ‡E0dº¹éDj—ð÷Ø%ü½‡´;ဵ3è÷ØßõíN,ïæk­áµa_Âò…r÷÷hï>ucýËËù‡n¬——Ó}J©Ï~¬/¯ç§Ž,à`(ûÚdxT£vJÔ¤z+Â,?òe‘G,½ÑçG¬÷Ð3§HC”žÄD#[y j‡YÓÒªÄ9Ÿ^Ô8bó3¢àCZã`±ÀÚÐՓ†‡3jGй²[\J‘q£šUäì†Æ¸x#ꆊ†£Üv4rv›6¢'„¡ +𱦑®¢J"0€Q’0àdrrU±}Ñú0ÃÁüÔd[DbF¥òöù¼¸µS”ì‘í]ù´K&µ88LQpea®ä‘«ÂN)QŽ­ɞ}Î4b$Ç^C†®cÉ?<ÝîhÔÄjh˜`ĝV^‚®–˜t…žÖ²§VGë§Ac|6JÐ€ÜödDqºu6 ¡ÓDÈÄꜨ̽¸¨Hªaa ¾'MðUÜÈF,/n‚á›ûEn€Ž²‚*—v¤œÌPõ>8 ªº¾’‰úT" ¡–SKÜG…Hôn +œ¸ãeÔV ÀDūҜBÎ3H¾÷즺ipAf'­øLešÛ‰ÚOª6º^SˆKq¦n\Ÿ¯Ô¥Êp .@J‚Ãp EPT‹ Üó‹é ìÁ¥ñÈ¢ž VÒÒ´&µÓhU@9“g|E,fÞÞX7ª xdrYÌi'ñ‚Ñ’¼pt~ýïD¼<\† +$ –Æk„cªÌrŽŠ}Dÿt? }/ѕȡgbu•2Ó½X?²Ç“B™¹gÆ¥ý¤qÏø £´["s‡ÕPKGÎaCs^¼ën¨A©j·ÕÃ@8 ŽyŸßӤ߯ÎßN8éßR?N8Á½º„ØÓG]·{5ãäћß_}óó”“W¤ä¬‡%R ˜ „úK•\3Δz– ⯸üFdºjÑèðqÅû4|ۆ6™!Yd»2Λ¥ڀrx“­x7¡ O†E)P ¼Dj»T"غÏHÚÀr•“ÆíÞÙ!=z¦%äw¬§¬ +ý°dÕ¥p™J§ÂŽ*£ÏƒÆ= TëÊG"ã»ÌB²ÎBû-Iogþ#€BT©Ζ;=iä;™.žZv±UôÝq¦ÝQ½ +ØjaDŸtޤ0¨¡°Š©)Ɓ¸ÍJd¤£ð,n,¤ª@Õʹ ԋ{•çØ* Ä©<«eòK‡Jª eiVÛ2Ô¾ó°!°5táUM/$Lfᔢ;‚äyqCR"ØH%ÙÀGU'›AóVbìä ©ª ·Õ2¤õعcÅ%œ¡MY‡­q¢R.Þ,I ¼¹ øÂ,éƒ+1êZKãÚ²7~k· ;‹§”Ý@¯ÊJgZ§ùÁ±Ÿ™'–éw6@öN ¸´¦I%›«ÞÆ=°”nA®ö'JJ +ÀÛt†Z¥eúÀ—막©ò†6…wb¼ +ÆÛ™Úäß3bHÓ¸¹äŽoã~)‡±iÃHº4À›7D7”™«´$žIܰšÀni4ÄW;†6Ýà¡x³TdèoX·šd±iÇΐ«™ÕñEq'ãè«^èOíþ»„¿÷v'°v†=뻾ßoçk­áµa_Bÿix÷÷hï>÷ÛýÃËù§~»—  Ïývìðì·ûòz~ê·K¬šñÛ!‘Ú±Ø‘)ƒÔ]z¨O¸w Rz¼%”ìH!ð‡œP ·éCkˆÕ¦8A‘FZE­Tf'Ÿ¨Ú@‹€0+æÄð ¹ÐÌwï[ ®Òþ¿‡# +’= +µ1 º&÷D7ñHx?FzÕt¸Åd–ŽÜ®uPMµ-©á‰l<”!"­H{«¿š¨"ýiÈ£ç ƒ,éaTNµ;é4Ú4\cw5›ºÿ‰Êͽ 0€ýç+ʨNœeÀq0G[U£æʳґ.u _G0J³Æ÷»ayeöÿ-Pì [`țÚ'8÷•`ˆ(àTèCä+óª""­8,$wáÑ88p+1pQº–~ˆM³St¢bŠ ¡ÛG†—¯H‚ñè–s&6K[ý³¬¨ù’+vn¶,RÑhöø`¹.Í8MO2þ™ÅûӔ¶×ïø¬‚»ìröåÕû7P@¸Â´U•‡fÒå9ƒ]Ñ3"‚¶â&뀌ܤŠKÎX¤IbcŽS’;àŸà£ Òݰx¨-(ÑØ‚ÌQU‘· + %*X¸¿ãÒ"1Šf\ îvtt@^#ùï5¤¼>=:‰¡@´xã”ͼkNL$R^Ÿü€¨ÿ\“,6@mqwM,ZDš]$F@æCet +ýîÄ0âð‘Î2HÀ`ô|ÓÝã&ýÚ˱‰½?„ÇÃ9`n‡•€L:ÔÍ0äuÝMâ^¢›%®¥„»ü€½ü~c|,“ŽøJibµ¾ár;~ü_QW´ÆÌÏ<7nô'Ï9çqò½™øÊKß_zéžãPß«@ZôÓÕ^ïI¤Ï´›{Å"îâÀ¹´ýõt•þt(¼ÃýXZe„ Çà#±°6 +“Ѝû.@¡^5A±†êubRyÖǀZkܤóqYD\ŠÃ…Ëbš} þË$8aªÀÇdÚEYcŽpôPQFàNí Æ#2#üOx'Ë>Ü ÑîäM q,.F]±Š+êËNž¤><<@­m5«kEWg›d8\õ׃v³D¸+“Ôú¸h7Áƒ}ñDÏûŠÎ0Š>ps§rÚ£¼Ö‹·>ò^}ðTŸÔ7øDïŽÓ‹/¼—T?µgåsÐ ˜…·†CáG2 +ÿEÑ®[M¨[M8)ìëyª´¼Ž”ÂOÀt)üxØ +¿î?æóú‹ê~uG?ç8ÖóãúŽ¿ ð#Sè¢ðwU¨ÆtÜ·{K(úû\×_ý½ÞßE××TR]ŒÎu1´“šÖ¶ÁÔ¶ÁÔ¬º·ž§Š£Å§º¨©¤ºÈªcK]Ìá0Ïë/îƒ޹ôsŽc=Ï1jñ©.®ïøv]?̗ w¢ë^Ö·{#ƒzö`ç®eҚF\x+Iý‚ÄÐMÖSÁÑm@×½H—I‚`J£ÂÀnò”UìPM6i +´MAY¨à¦D„íûÊ ;6¹CÀúbaÀ/Õ´ +õ€,GÐ }#õŸ¸ûªˆnByÊó¢+jK2"~‘+‡*\8¥a'…a2¡IøeOÖ$⼠ȣ‡ƒHV?XßÿÉ»–ô8Zº‚ـóo˜:ÓޅÇÙÿôrŽˆªv·;×e֖)Šâ!ô<ÊH‹–dX¤!6‚Ð˜ÎÆ1½sœ¿C§ŽÂ•1A,oÁ—\—\¾ëÅÙ"Q2ôVôjÆd‹^]‹Ä&^ÏË_Ô/ªÚAñŽqÌç9ÆùA¯Î¡žõê.šÔrÜi÷–ºœüD¯žý½?ïï¤WËTR?CˆÆÒÏrÚô¢´ìiÙ%Ò¦_çE÷ââS?“©¤~Vs5úY­Ù þšDd¹&½9KêW&"U$t ÷p–zÈ/\×]²K?n QüéEj]`¥o ?ºˆHA!)–²;¸ÙPE/üŠNT…Ðë„§`´ DÄÄ5ß'ÄõÇ©%ùæTê–àla48(`A½ý‡ZA~1EBd_js·EŸûãÀ5–t1hL,¸‰dXͤôÁ•¤Ù°¦Y“¼¹NŠˆS |³búo…‘̃œèdM’Æ€ÿ.iB˜!ïsÞHÈxjØÿ–˜%Ÿý¶QR»‡2ñ51u”[ ÒÚÂâ#© +?BuðNƒD9.¦±øuß%kÑ"õ‘¤‘Ç>‰˜ã,"«yxV,j¡^§!1ÿAV†˜‚ EÜÐ Ys}}}(|qõ1d ú¡ØŠAʓËh ±ÏÂ0³(¹[™Ñº€3£7i’¨Ãԃ†=%vasöFµ§ç[©s+g"Žj;ßB֞†VQb уº¤,éШøÿ&Ñ.ÇØ›y¸V“ˆò€zï'N Õ®ð<@î QM;Ô"û8h÷B*Q#Àcï¥Òþ†S«9VìPçiýгˆty]^‹zÞ ²Çˆøh€¸ÛŸ!±>ñèvbŒ 5ÄÎ4BߣxC$ª8PBéÚÚùÄÖRd¯/Në‡Õ45t™lýHKÙbpWFø]žb‚‡u?Ø01Œ¿É­UÞn‰72öÏu­ŠŸÇ¥bÂK/}é¥kzÖíRÁÊiˆç3̳¥Õ©÷­·ÿB]‹ƒÀ³uwû €÷_2dIZNôÑ7€Sø^˜Cór$²–ÁÆvw>}Pr1ZÒ:‹ˆ<|‡C¤LºÞ­°ué׿Ä"øD­zì0ο“j†døÄ ÒÄJçP³7²á:‹; ¸ºSt¸IÄՄb…ˆÛÅìåBèEIÇ'K÷Ê¾ƒqâ2kޒ ƒ5DÀÜÎïPÈ$p|¨_Mv½Øú ÏÎ `ûP ^3ž=ŒÄO¾¢ÔcÆÝäY¸!fÝ9ÊȊnˆÖŵ“|ìóÒâ¸ÃŸçûýkHã®+‹ç[ñf‰H)}+—æçˈóε+DÚLaÑ£ò’ÀR±ó|ß¿¸«T@]ßïÿIùûO´f³¾8.E*úFçcˆBؗKÜyEóÚA …Ê%ï?'v^`0ø‚1wDÁ ¶t”Ñ4놸ÕMpÂo; mú© ²^ -i j“ˆ*it£´1KäÊw‚_uPò\*€@%Ïãñ¢"ýØ¥ÜÁLчdyæÄƒ$‹Ä´9ÛÁOƒêNê—."éÁˆÄÂX_ 2¯¢ !º€€p\&3oђƥFÔÎ×ÓÍÁÁØðŠ0}Bý«ïpÄO££_Š‘ ['·åÎÆÓ6‹W…ãó§ºêàüÓEòâ ¯:ÉçO-Îùܖ㐠¨Æœã0æ4WŒ1çdDiKlK܌1óyÚ,бsø¾Q|Ä „(ÌbV˟êT„ãSü=c´g'À=¿ç/uj‹g£Nãìøk»·ŒÌ€ÇFÙßûóþNF™R:#3Æ9²C)—¿8‡ø©S(?‡r?Ÿ§V+›€ÆKZ<(Ë<Ð5voºÐ?%RÞE?6…þž‘¾³ –½@#Áüžo7î´ñ’;‹vjÖ×,<®2;»³b§f;ÿàúý¡‘ç¥õ;ʓ¢ÒÛfäùâ>˸v`I⥃ ÷w§¢ºs=š¡ºµ¼§_—´¥%óÙ×ÂP™vÄN8¹F|Å"Âý‚äèE¤À¤:ZCºnfIP¥+“ˆ ™ÍH6j )f±‰|Èà ¸œ2Açà§Ù9ˆµ&.‰\vÃ7»Ÿ A¾ž ç’Ep¦“?UTÇ=W¢4„F#ëçğòџ¥»k£öëF± +°‚‰¡QjÀa•B±“Š#<êâK3DÔB«GYÄ®Ù:©ÅÞg"AÝipïE\6D¼ÛãófwsMÌ{'m¢YRK{b§®ÝCt„è.»îǑómöÕøÐß'>ëˆiø²ÏÓåñï /€}Œ™º}_°œæ–ˆé][`co<ßt°Ô„¥¿jô¯¼øýů¸—#l·"bu1E.›V‰7C\û{§ºQ'ð@zhªFŸNÖ `×"Â»²µÃ§àPw8!V¡ÄÊ>I‡¶rŸå·IÝ<¬B ûB’&çw}Ê«¯¹³‚çvo´Ç>ÌwÝÝY¾s»'¯ÿðbþi +싋ž ákVÃûòj~^ÞñìG*Ÿ:òÒ뚇×dRrÚúL¡áˆ‡ì%ÆÈ‰á´8Î:Õ+~Ee¤#VÊû‘µ +Ã.ËÏm´&eìøôÌouÀÁÀ2OÍÚ¨ñÕPI  ŒÆ˜4< Ûc [Ãt(ô4"Yûô´=ÄFGb3¤¨ø¾.€§ T„ì œŽvV=¬dÚM=§²¸h½û¶5 —F4-Ýmhˆ¯´#Ÿ¨£j—¡zâŒ`.[P8S(.Yšþ©DKÀ°z³«eNZ9.֔ +1 œʦZ]=rˆçm¢úà$2Ÿb ‹kp˜Œ3]P~$­gÞû¹æ“kÞ¿¹mŽ}GÐ|õvÑ+†°Ñà]r„zYTºñrÁ´?½n,0†Ç«' ߘáxy¹©«Bs#Û¿ Ô.!k‚ µÏ4q>¨Ä`1¾ŽBæ“Æ­ž‡Sv¶ N§ÒC¹¡gµÜi¡o„à¿0( +qëç5ÄÆùé›>ȶ~uÜHЮ‚ܝzdÙ†zðÑþ¦¾ ¢–)îIžÁIlo¿<ÓGdÐQ€QP“낏s1§%^™ç÷;ÿY$`JÔ.D'uÇýóôÆ áá“ý,t^þ4àù‹ß_|ñ½ ÈbMLAjL¡?®‹|SlØuҗøuhÝç8hºcíWˌ: ùÊL»ŸAn9+B@S))"Nÿݧ‚‡ÍcŽ–!ö,߃´¶yR«\´ýL/* %•Þa:b3®.ËOVˆå=+ÆÀ!Ë|PèëњȷdxÉå«ä–`<%á…iDü ò"ˆÆE8‰‚‹ô^cÿ„B¸Jºûû-IéÀ ÎFYªHWÑѕÇt‘VEÕç)4¸°¹„`fPÔÎ7È ñþéۋ°ü¶eÒʘ¸˜âÏ{ªóý,/©‚Ooˆ õ%bÈ 5ý U„Ï7砑¿%ìÞh[X_ïbÜI ³´qkƒGmTÞð·*®±”Ú #\˜@²vXLKT’(ÕÆš«S`–”"…uIÕXFX ¢HܝýϰGÀ…¢‚'°I¢Z]ÜùË-ù A(Y +fK_‡D‡Ôñh–¶Ë~‹šÄ&FÙ¯ø¦~xFt8€: de)jýœ¬8ވâ‹\ª‚N‡³åÚ+P€ÌűÖëj &$e†aêê/ýÆÄy$PÚIÏrb¸ ÄÛR!¿‡àæõ“ÊÁÒÆEÅë˝/µÛF…-:…*œ$Ó.ɐªDWþùÍ1'vÈ]¤KÔÀÔH=וs>ŽxþÒ«ô蹗b²[ˆj1H5¿aªl=Ó ¤&¡¡ž-G~VCÿÃü”Ý„Vs¨inÌO9[¬ýS´lüZ¶üžCšÈ€çwý óS<Îk¨Ùé ßrNOáÕfï_èñl~’y‹E J«N-ó€ü©¦[›ÝÝY¾s»'æ§x1ÿÔüôÚbªPþÀü$ým槯®æÓƒÄ¢OÄ2B<¨`º»„ËÐÓó?¨Ž8 +‚mÑå6P%œy\w\ípÇõ+ °QfîJDŒ:äꊈÀŒwàXZ—hØ#f£²>÷m£fMá{¤$"ÔëP7x¨5 ¨R)7„s±üĜèáôI°¾ »hxyÑjïœ- Î଀ÕbºÒ¶Hݪh´}yå#•Ø®¥Q×T,ܝ‹&p +ü`©ˆ§„íDÞ£¦‚Ø¿±‹|iý +5hx:³´üÖ0GÔf&6£r­¥Šfó ώ +VDԋ¢vš<㗑NŠjW òÊ9ʖÙ+R’œäTg‘p‰U±hF4Œ2 ²¥¯[KX‡¦…Åaµ‘¯=Š)áa¤½Ðȁü$À8à(H‘(~6q_±ÚÄÚXHh=vIH)¦C÷9Åì"ä•iA°ÃxÎYW¡T±4n äU¸¼µ”*îLh©(ø„WWUøÑ© î¾.,Á(ˆ‘ +7Uµ¤±îáu54h4EÄ֝J¹ä¶Q$›“l+æ|P^w‡l QJ Q½‘5>9ôšD¶K€Ì Ȕ$;o²+Ø! ɤEÉþ3éÒtQ­S©œù%HÝ  3×­¿±ˆ“áɪEuðièÊl襨œ¥ŒOò±OÔŊk¨]û¢Ÿœb ,#§·¹_ãš' Ô$²M˄ÀÙ¨Zßci®NC·¥v “qÛ¨HÛ+d ­ðm›¶ëÙëó²†.£Ì^ݘâv¯½ñ"zødW[{µžâ½¿¿øâµGïFÉtŽ98j>ÅFµ#夵:` ™Ü¹ÿß» Ásf ƒF†T V4tY­ +èÖu4 –9ƒêHŽŠÍqÀ^, ‹Ü`#S·J©s„B%Rj yoH¼ü^–%…=@é#„ ßɕraÁƒ¦{:k®Îl‰pX¡Cú€85Alצ1äªH#fn€šÞ„š=½ Y-, éXû‚~+\~^¦ŽQ”€ß¸\hƒ†qâÆkÕjITG¹"Áš Åš½L &g«ô»a6ý&öR¿…/9ˆ%»’cɸ‰¯Á&BÍòH…ÎUW®"Ä qq€”Y-ûàJåDÌÃÄ!gd'Æ] JrA:–<è$7Å!'…¥-mN§6*…¬ÛFíûëÀÍÈ×$¢sÑ| +~ƒc »#¤OÉù]*õ;‘ÆÚ1xwcöH9®7Å ©Lr„à·–mžWl5Ú¼âxñçëð¶QC2*.qČ ŠHq¡p=ï£V/¢Ïðòup‹Qö +ÿ/fËBYB«„Ãyá˃ö!b‘Ô±1-éï‹ê_s(iiãNÐSuº?nõƒ—Àú%•)\î®Iã>têÇ3-6oà Øc–6îMeO§;ö¶QeË« uÕŒº—%ü¸7¿ßa,û´*¡hj”<Îõ†þôè¹®gë|é¥W¥íÑs‹A|-\«– HÚÅɉHÚ%f Iz1Ne£>g£>ŸL]5m…Ü&å{‡½ üÂØËš·,ú§˜ð{˜ä÷ÒìD<¿ëoØËr>#”ƾœ}›w¾±në{Ùìñý =^ +¸‰véP[֘XrÙíÅØ‹±=–Ý:Ò,æ¥î 1±È¼Š‰V}cbiÎâ{蟲Gð{ìù=‡4;‘˾PŒûñ]ßo/Ëã5wVðÜîåtÚËfww–ïÜîY‚w1ÿÔ^öÚbÂuøØ^&ýmö²¯®æçáZÎqî!|܆kW¤†hˆ ²Eò&P’Q¹–†jՉXàµ.žCöv£½ÑKAõ¤1EW`½o”EÔôz ¯1o¿¯gaé¬Eè†rA*z´PKí¢jh¹AuHøÕd;8Z'me`ð‹Š:\¥ 쑕ÇX •ì~¬w/vnÐàEÅŽ^,Aæù +o{Çz·=äEC#ºX +,õœþÞ#òÄØ| ÍuÒÓihD•åtvRâ°àpÌIBΑ螜+bó¤ÙȆxvͯ›ã[ôr®BFWr½à¸.‘¡"˜J>wLÖv~Þ¸á>é¤V2+Nzù‹/~ñÅkšÌ5höD_iöûû?»•{7 Vå¢vÚ1w$ÛbÞhvï*¡)$ =J´`óã0¬c3hغΩ—R1 Ü·œ\š†Û¤zW‚JFx"2$9ïpþWž’:YªQƶÓ,ӘÔR43§±°a9—-9hxºoîP]ÝZV`’0o¸ –N²÷ËíU[³ +}ñ!ˆÈȵȩuÃj³#¯”y²ÑÌ©]T u(DÌêÞÙ߸4¬ôÈçÍ +”Ù$sª®÷Ó£çúU•Êåt½üÒë%öè¹5;ϝí^Š‘‰òÐò„]t-ZÜų¤>…xè§,q’û£_dÿªU,|Àê„^ßõ7”‡æÎ0Œð:t¥ý^÷âÊ3ÆÕãûz<+2¯"o"NÌțm©×?U F »¨-°Ÿî ʛ:¯”7a 5ò¦wÙæëŸ^Ö-ODý=†´:á€u_ˆ¼9¿ëû•‡6^sgÏíúæÇàŒ«»;Ëwn÷Dyø‡óO•‡óx‚بýmÊÃWWóiõC$D/Ź~wƒà›3TOqºJÌ. +µBþ8èÏ«"œ2¾¾ßœ”^£ÄÃ%&dº6aN)±dKkÀÐêçŠlT¾ù¶Q=Š£a£Aœaiý™Y‹>kBë3.5öˆ¶–’ ºF×wS_Höˆ"74‚0‹eÑRËOŸ$5yR)0ÊÙaJ Bñ€ÄvÄjþüèÓ +Œ²šm„K3Šn2;›´õZlqCÍ#õÃRûǤßeÿhgY>:Avé"$œb1¦RÇcs´ébª'vò4&1åö£Ö¡ ¬Ú ÷D!«Àž¸<KIôLXµ*s ò•giäEmrÙnÔx0úÕP±Sº²‰s±Œݕ˜ðŸãÕ{Í­×åÍ f«ìц re}Čè^Þ6ü𯳀]Æó< HÓ`²Ð ú¿¼¤«ÛÞÒÔ–w߉º7ꡘÞ+x:z‹„¿òÇðb¬ró,u t ]ñ)>` <+ž ‹ý”R¼|Éø"X»›X†MòƓxþ iŒ_²Qñy·¸æôC¯ùÚ&ó­$¶µCç¹jhí¤rXꏦz€ÙVþ RÛFíë…í}Û¨}¤!#ìéڔlôŸÉ»e,ãO©ƒLcµÉiq­®m¼”3µ¨:ÀÛF]Ÿ‚Šо>y›—ïñ¢#4]21禀ŽÛ%‚pÞKÚ.¬7Þ0ŸtR@娌™òâ÷_¼NðÝzô€+£""bã6kÈd Ó£^˜I<U0«ÛhëBبóB°Tİ|ށò ™êÂ̅0þÄ>sMòÉ +ãΝYÚº6ê¼,›—µ qO ?ÃG\ D;¦G¹2Ôâ\$º`¬ˆA¡ÉMo_z›ëF[LâDå~³T”GÏ;"$”cãÊãOLOi3V4Âݦ«_«Þ/“4o^—þ|ëÜ6*\øÜäր[0r4Ñ\Ç"I;º4?ÀíZ +¿€È…æJ€>C½·õ°„lMWOwÅÒM·ð„ò#FÉ2Óñ'F•V8pk´ÂΔ3ÏÎÍÜPqÞP‹z ò;¾˜·iäëš+fþù!L\ i« rE¤cCí+Ï/iŒÅ¬@yàiY=ÈÄd¶S‚ˆ(˜kNs7¯§ËŒÞxËØaçп7jŸºâåÚB‚‘¸SÞî…ñ'?/H>‚mĹcfg‹f/C5âVEOá{FkÜ.†ñ'—½KbR¬i5Z_¶:3s`.ÌëÌ|DIŽW²eÛÐà/.0óE5ú)éêŸ?Û5%‡ÛÂ_|ß/½ø¢C=}ñbÐ_ò{)¯I–÷~‚MvŽbÑ&/ö¢b4Úb4ړõ©YÈIö?LXRÀSLXÑYÌI/Eÿf'ò§˜°¤ü ˜°ä÷ÒìD<¿ë/˜°¼+gÐÉ‘Ã㣿Óò­ 9ø± kuùþ•.OF,YÚ=¼?,va?»‘aԊÀÊUc܊K¬NÄ !;Cì2³b÷ˆ‡E0dº¹éDþ”]‚ßc—Èï9¤Ù‰ Xví뻾݈åÝxͽ5<7ìKè£P®þî-à¹ác3Ö¿¼œhÆzu9šøÐŽ¥nv¬/¯çSCp0$ûÚdxT£v¹¡ƒê=‚É³Ø $_yÄ"7#úü¨‘õ¾c‘·>d<ê>xd+ ¢6ÁLXÓÐZ”ëœO*•kH/„að!+cÀÚèêIÃÃ@GH4®¬–…àz^¤œ¹Q•ŒŽ·FÈx)ŽrÛQ é³Ûˆ¢î‘ÅìZ.D›“tVÁîFIb »“ÉÉeÅöEëà |¦%Û2 3Jzoÿ\À‹ûÑ<‹I¢"Û»òi—Ljqp˜¢àÊÄ\ñš«ºxWÂÏI?s#’=ûÀ0(H޽† ]w0ҀÕoqÕ*5±&Ñ•¡õ³%&] +@ž¤vìi†ÕQûi…ucèg#ƒæä¶kðjr + gh¹B&Vg£2÷â¶Q‘TÃÂ|OàRq#ÒXÞ>•´Mé~¡Y £¬ Ê¥eÊÉ +UÓÀªë+™¨O%jÙZ"–?Š‹»ÿ—á¦ÈÓ ±y·—­Ú¡Å£¤9…œGè+‚[ ¦jhý«²©x§²@Ím£úû–¯)™Ð+`@ˆUñà .UÇàô@äkà0ÜBG(ªÉ®übû@ÜÏ<ò„(gƒ•tFµ„Aí4-Ð*åLžñ($ÂTX{è±Ö§UP + f¬æ´’xÁhH]ç"ŽÎ¯ÿ6*àÅÂe©HvÊ|ùÄ1ef9"y­˜ŒŸS"‡ž]šWkâ5{ÜI(3÷Œfö÷Œ0J«%2_¤:Bߥb64`Ì´C$UCm’ªvÛ¨ˆg9΂cÞçw›ôëêü턓þ-õó„øÕå{ø(ÒõË«'÷Þüþê›§œX®0}ysÖÃyU‰Ps(ZÉ5ãH©GYPhØ\p~WBLÀ˜B¥ÃÇ6YœSÛ¶¡ fHÙΌó¶Q\Nd9¼‡ÉVôMH€ïÓ)wÂÙkör¥ØH BhÁÖõ0µÊm¤Ðó}1hÜîH"á´Zú$™‰‚ëyW…~X²`œô͜ÉT:zTÑ>*÷D€ÒZ_V'ãì¬Öeõ‚8ö!7]x‹6Ò "•Zal9ßѓF¾Ó~2Zض¬¨¿&@!EÓî(^ +¢’ +#ú< s4cò ñЉ(á¦q›•ÈH=FáÙ#«¨‚ŸQ]ʞEžA㎩£t÷j‰`'•¡œÔ„2´MÚ2Ô>רØt¸QT“&³pJ’Zíá49ÁFR’ |ôýyÍÛc%xIU:ÜVːVÖ#"³à„3´q×aklTދ·Z4õ3à 3÷PC¥pÊZKkÌøÅ~AâÆ‡ì6bgÉ)e7«² ½ÏÓ|çØÌËô»BöÎpJMƒJ6¡«Õ,B·ÔÄa8© +)0_ËBš*óÂ|™Hf  )î4½ì¸ãùb¼mTäý‘‰ïÑR§žKîø¦þ¥tÓ@j tå¸yzuC˜9Ý6ƒÄ3‰1h5„Y®¯`ÇÐÆE§üàt)Þ6*2û|åºå‘V7güÎÚüÕ¬/xLŸd­Lîу]9DÉÇWÒVî½õŽÚøèÁóV¼”ï»]_Òi·‹É _ŒdÁ¨ðÁ¨ð'“[²0ÃìØí¤@°Øír¶0Ã^ŠŠÎNäO1MHyS1MÈï9¤Ù‰ x~×ß°ÛÅpFZÛñ —–o%×g8ëË÷¯ty¶ÛÉ̊¡õ»¡'ÆÝª2*€`墱‚ÆÝF“,6­î 1ôÈ̊¡'g‹MëÁªM'ò§ìrqÝ%ò{iv"–!†žù]ßo·‹ñ‚M»&üܰ/ayŒ4¼ú»·€ç†Oìvÿðrþ©ÝîÕåtO°†µÃÍn÷åõ|j·KˆëX5c·C"{–Â;ScG¦h R/NÐC}‚] ÐK-—uo»¦ÐE€CŒP¨r‹ÝÑ«M©IŒ3´¾dÙ3;y£ÊZr0"oȅf¾{ßbcA!T–ž@²G¡4†A×T™‘è& W ƒ PLF ×ešPÅTېþP3AÈЊE«XU¤?QçF,gžb|Yîz¢“ÂsÀ`,Š¡¡øm!,ÄNåæ^ø-ûÏW­NìEã`Ž6«:G™ÏRâ6Õø:€QÚ5¾î†i•Yÿ› ,Ø)]0搵OpW@¤ê"ӆ†I×ÌgTTΉBi"ª …Å\DÁñ€[‰`6)«ÂÐÌmTL‘!ô_G†•¯HãÑ÷s&1e¸˜*W¬%tÇá‚Í ‘SMòèúêt­¬úM—4Üké’}?{©än[D Ø 0£Ø’.ix¼›à7xZê©zÑãšÈÞÌ%[bhQ.CÐ=zÛ¨H£ ‡¯˜8ip¤0–ƒ’¢LK‘ƒ ÜÈ&ПUKŸàã€jõ~ýŒ…ÆO¶-¡iŠ(¿ }=X‚ÒôÕTCÁÃ17¡¨倩9{7ùpü!K“IذnÙnDJόª ‡Ÿ‹ èÎn˜¶Å~¦E ;Ί’²µ3á÷“% @QB‘P?ÊøHqÕ>¿…‚ɁAƒÏ%Š–²RÀ bІ&_¹æW*‚9}å¾+ã‹yÏûÁ´A@ƚ>ñF˜ÀEjå>)´±°h,÷Y¨51²Ö¦%B¿l +G03¸ÝÂuí}‚Òj’ÛGô™ÄË>MF +„(øR MgÁֆ7Ôpˆ`â½uÄ óƒpù¤!ûtÎz/Âuá‹"Je‚–$šë¾Ä×ÍðÆ„ oìŒh4é[ÄJ<×å]µÂ¿úÎ;‚ðƒç^4D`K„©"ÕTg ÍâofÊÐ +Ìü7üå»FàãþÓùƒàÍPRZH³Zm™Ø¯|˜:B¶±Æ0žç_è¸?ŸxÝM~Îq¬çǧƒÿôVŽœñæuÌ«ÔU,*#çOí~Ò*ô– [ ¦ÀÕ±NøÙg= Rü¢Ñëyþ%{?e/ðçÇzž RAÿk}ǧZiøÒ’]s¢Æ;î,ØÞl®—{RÏhôxgµÎÍ0K»‰!š ·fíþ8¡íåÅýø8§ ]ºè^_½Oá0à¾UïUž‡\Òos„º."üˆÚàlxà†\$T ÊJ9R‰žN©RŒ&=Ø!±í] b!¡%Š> Ä5áS )Q¼ÌÜG‹ÄuŸ®v4sÀŒÀ‚ x¯!‹#Ë£‹ÔFßGÆæzšÓ¡ß57°ÒOM¢¯õÿr» ((dî©t‘˜ÑIàw N>£ða䏩@)Ò/³“ØûCpX¶EH¡£¢/e†œSƒ!ö+T +¤S ¨énH¨öŒ6Ĉ’@ýv%t"Z±êp³Jd'eDÇCxf͉ƒÚY˰sûGú1l©~=0©ŸšÜ>G¼%uÞÙÇa(€Þ…Á-!<f% +ŒÐM¬?zxCê"Ø]D©Ù› ¦Ëé)sƒÂ¦ˆ4…Ý@Q§ûLœ#+¨‚é&£P?€}cÉصHýIÄî±BÅj—D‰¾ŠDžOòAŽ4I1ˆM4BÞñ"„ä•XMš¡J´2ïCÒ1‰V۔~@2¦'‹Jô.rô,›Æ‹—±‹ýQT3à:y)ÃÐOkn$U]"ªoÀÜOäEêS‹:xf;”©ÀHï .ŠÐQ¨…S›³”µìö¬ñ††žŽÐp@‰áàB!Ÿ¶ º†äÖH/ÚN䮸Yâzsï-Râ«oÀC$”3hB P֡ہ}´Œv}{F†?±T؉5Y(paÇtp—\è,)h‘“þ½‹ˆ­;Ñô6Ž¥yë ýºžèO™Ú+JY?È}s^ý 30 ÎPê\Սٽ‘?=zµâõɳZöÒkß_{횡Å'í::Y²ß%tF„_¹¹¸,, æáà v¡ptõ‰ö'× ™ÔܗÍϝVºÏÆŽìÛj#rïÞ,žH `‰Â!"8—Ÿ–XbF‘¼*2µ˜2¸b>š*˜çs:H`QÂ11£^ÎT€{C^x= Ãӹ̙šOQå|:+ÅOç¡74áŀ°#€ y`IUØÒÛcŽÊÞ¥\Û"8Ið±i¡. șÏ,wd¤÷ÒjWôX›Ü#»÷‘Ö$áåŠÙ/X PPÝà<%£ØØCÖår©órA–~ w´ y\U€TEª˜!ûlQÉ)̔P°}_MîD}á`Qd›œ´¤29Ž`6DT»¨(Hÿ RŽp'›[}ӆdoøEôRށ ‡ +£ÔêD^zlñç:5‚£U§fd¬èÔ9;£SŸtÙ¸¤ò¸¤ò]'΁RBn©Sóu¢S#`éÔØÃëyþ%ÚEU (žÀÏ9Žõ<Æ8¿ãûuêêY§îrI-ǝvoýF†6?û{ÞßI§–™¤r–s1ÊYN›R”–I"-“Dڔ«ù</®=•3™I*g,â=•³Z³yžÉ6àOÙü9DZžÇeíÉÀæw|·NÇ;î¬Õ©Y_*ÿW~vvg¡ÎÍêÔÿβý©NýÒº¥üBž½í:õîSº@Dbn!$L–Ñýý_A‘<†|MbÁí®×fIý¾,À:ÈÏp"U† ÐBíÅXŠØ¹w$É—€;ßÿiIEœýÑEDB ÊG„LŽb+’I9ˆ’i“BŒ~9´ îÿo—ƒ(r‰Zš±“ºBˆ´ù_ÿÈZם]¿"h±@F"Þ ˆ)Ø÷¢ZѬõÇ•Í$1jK,³‰D0Í¢ôÁ!ʔ¥M³&Ùr +Ão +oԇbÿ­0~¹ N£‰J;Pßikà uI0[>¢4(}–è%‹ý¶QG¬‡2P59uZ ²¥RÀWTŽŽ1ôo™…ð­rE9–¼îû¯ ²µë'©$iöú"bŽ³È«æáQ§*‡ t.’gÖ!C«,± FTá­MùµþÀò!@´šøú²FZRfEY ŒŽÛC¼2‹èý”‚•X³PèêMÜH†„R”Ã ÌØ%MӁ̾i¾u:·B)p†MNbç[ÈÕóÑÐ*ê‰Iõœ.'KÊ ÿñŸ!"¥;ÆÞÌÃ¥šDŽÀ{….yˆ£ +·…çJ`ˆjÖ¡ +ÙÇq’±Þ‰IêÓö†3k8Và=8OË×!‘Š +òµfMl 9'J[ª`[ªàfˆYÏÃ`ÁŽÅ#ïӂ#.XðCá+˜ZX‡Dƒ:àø~¯¸ìÕ ƒ¶ç÷|¿A§¶x6è4ڜüµÝ[_´g@fïÏû;tdFi@ªÍ² ðÀN\Ž/§?eùsjöëy¨´²hЩ¤iÀA´[¶®®{“Ë?58ÞE?ö„ü^ὫÆþÊV …`~ÏwvÚxǝ5;5ëKV×ü˜ÝY°s³‡†oùþÔÀóÚúù'e>ØÛnàùâ>˱v€†÷$ø™»¿;5T©ì¼¨î€Ooúsy;[º$éÈRú³Ð·üFí—ß!YŒb`ÍCC lj™‹ +‰ØI‘ƒžzl ÕÏêQ±kµNª¯÷/t@wâ½#K,"Þíñy«»±&ö½ƒ¶q-©¥Ž=±S×î¡B:Ât—]÷ãÈò¶ûJ?ô·%Âøã3ëˆbø²ÏÓåño +€iŒ©¹Ÿ…lIJ„‹çìΰñƒ7á‡O: câÐ_µùW^üþâ‹×üßK +¶;NºÀ—EVâÍçö>QGaÀ„¡© +}:Xƒ‚M‹ +ïÊÖŸÂ3MÄK„w9Ôô@' Ãé'š<a0Hr—1–ȇ´ô‰T@Düµ#Xû¤33VyÒÿËNZ¼i3@Z QSkƒ#ú"8áˆmª¥Í êm£ÚCe¨^pÝeršjD—35h˜Å>Ûµ„­áZ¿ÕŸ¡¿¨v”†MXêˆí˜T2™Áw¢"°4à 1£‚<8ÔêP·Ùí8*+°ffneߨs⑃ÔO5Ó9·ïõñO™Æ+O.Ìiöø¥¾KüØ8cQ®ăǺ,â…[¼úÊ«”ñè±y¿V>äc¦°úã˜9¬®›Äz֖’õ’õNºW±x\Ò¿*p|¯*p¡Z,=öXé|ü­ +¯!­N8àù]!¥Õ¥ã¤ÁÅ~š›wõN÷Œ|î'ù¬³Ç÷/ôxÎh•i•´HðF“éò.zg£ g£ ç]ŸP̗m!ڀL«h¡VmK° me:‡¶RùÛæjVm!Y’ó»¾=ÅՍ·ÜYÀs»¾~á1úýêîÎê]Ú=Îpýw×òS^_[L ó]ÙߦÝ}y5?/ϤL?r÷Ôï 5wɤ:ȗýæâfôpˆØf`œXL[Ã¬S½ U) +(žŽ,UXtYlÎÒñãš>=©ˆ,X@Š=åf`^uˆY'ˆå¢áiX[Øv±FŠ+"|µOiA )C0$›&éÔÔòMô\`  ¶O¤­vÖ8†V¦©uÃ5Ï©,#ß Ÿ¦¦!à·4" i¡nCCtx¥ùD5º µK=•MàŽ¼”JKEZ¦Cn*ÑÒ0 |Ú§¬i‰ F©ÂµšR!D“²Ø¢ÕÈ®RÓÏ ìôNK§J—|ˆìš^£ÛcÐtuX·Ë¶m¦—§BÒä×Êp| tõ$ËÓ©©‰>)™ê8ҟ“x"àüo1ȶ$ŽlՁã¬[•™Ðÿºá¤K”*¥ÿ A¼MÔB{ŒÆ§ÐÂR¦—N×'?’øÍÖ#ï€ô\óÉ%ïˆÖÜ6‡¾#D¾:»–CØhp+9»Xj„UӎÕÇrbèp½ZIøÆ CȋÈM]ˆgË­ TdŠ)Â7É pÈU¯#âpÉbð R¶|Ò¸ÕóðÆÎ–ÁÍ©ìÃ¥KµÜiYo„à¿0(æ°?P$ q~Îm‰cTZ5$¨VAîN=²l Cí,QÞÀt¦m"¥Ý!ªÂY˜2"ƒŽƒÂØS %ç²uaßcžßîôgE€)N»~ÓÕíãôÆûàᓎ@VOÿÏ_üþâ‹ï9ÿð‰%þf¤n{ £™qùÁdä¹Ìטu݈ƒö¡ÛØ1¾~µ„w´0݃'d°À´R“^ÈïûT8‰xÑóbOÖ"ö4Ù»ê d®jŠRùÏÒì‘6TxÁ(¨ôÓ›ñqÙ7¯ÐËzVlCþ˜Ð×£!‘oɎ²¬¶¢Õb<%a…iú â"ˆ +Dô¿ÁÙïnìŸP~Š1û¨’„'aì È핐‰>ÁP-ï«¢æsŒ"ô=¸Ä[¦g—…yOÈ ñú§Ù´LZ7SúyMu¶Ÿå%¨ò˧3­YG‰2BuúÞírqÖuq6¤OÉ7Ž–PóÆUŒ²Î@^0´qiƒEmT^ð·*÷n¢nE °ÉnÉ@yeµD™^‹/h®N4qZQŠTÑ%UCa}ŠbpëÜD;f`ƒ¢\'²T¢ZaÊUü4ŒÁ'Y fKrU £5¨m´Mô[T'ö0Š~Å7õ¿3’Ã#%åäpöÿ’ h7‚·Äڇg Ðåi¶L{¹¸à«m &ĚÂ4su‹ ÀTf9äLÈIÏr’0@¾Tˆï]Ÿ·èK÷o/w¾Ónfèªp’Ìà €NÀäÞãŸß+pâæH!Ò5ºD L}äÑs]ÕAÔÇñÏ_zU‚>÷JÌ@v =-&Ÿæ7ü´“gš€†9HuѳÕÈo jì_MO|¯šžr´8jý(ZlùSulþV›¿×V'ðü®¿`zŠÇN ¥0û!=#Ÿ¡á[†«ì‰éiöøþ…Ϧ'™V1WİAr¡À”± ðÏaÅsƊç6KÃê„vÙb®isEšËeu2°uøTšÀò{ iuÂ˶sÅü®o7=Åñ–; xn÷ÆÀ‡¦§Ùݝջ´{lzúw×òMO/.fxµÆþvÓÓWWóidAB¬bcè'ªæ z»K]HÔ±IuÄMHâ³êBÝ!”¡‹.\w€dÃ×ïcd¼FÎ:îc†‰:$çª|ÈW6ê–‡,ÌFe%"=€"ßÃ$MªÖnXï²ùT©‘n€’9$X~b$„ª¥MP½ÛxÒð4CÖÅÖ9[è*8'`]˜®ñ)ô¶*Úl¢dʈàC',0P\K£¢$7ø97Ú1€,©1°›È{ÄLëK¿x1?°° O£€“…WC8òžÍ¸K.,£­i¡QԚ_xöZU‚žEç5y-|ԄòuüƀL öŠ4$'YÕ^@#RÅ»Ø_ £ ¨aIÔÕ–¡i]qXmäÁÍÙQh%T0 }‘ô‛ …ùÙDxÅjU_`4"aôØ%¤˜ÿÜ糤`“Ø`<ç ÖUэ۹.o-á?¦•Ö AüzpvIöua|ÈªRqýëŒÙҠΑYw*¥’ÛFedlN²­˜çAaݲœ c(od5O½&‘lPñ 32R¢Ž²ØÀ•aÌЏdRI÷3ÁNS•S©œù)²×*ÐÍ\·þÆ"ÆMÆ$c\°ZõìièÊh¤ÃÆe3´(* æi£†(\CÍQä`Ø9‚+6Ì]¨#˜yÐ0 èÖÑÕ2!\6ªŠÇ÷XZ‰ÓÈm©°ú¶*hRã_È$SáÛ6m× þ“×çõ ]>ÝT“ûm×ÚOv­!¥W 'Þ{ñû‹/^[ôntLBuSa|GCظ@È"Å@o@ې9£ —›ˆ;®àWÞÜ©aתÂ1¬;€ÿÆÐ8e¨ØLÅlO>Œm°‰GüVbP‘„5Řê†\Ëae9H²[ô>B$Ê8¹Q.xÐtKgÍϙ-Yj”ùx@†‡û‡SÄl~p~ɄI +$-ÜÀ/½ 5{Â^ÀÅ 5 ‹\Ðe…›ÂÏ»Ô1*¦±ë}V×}† Ÿ–*Ó²ÆqCÂ݅qXš½K Öf©ô«PÂkX)øàÒÀ5Ê6!äÃþ’q+žFVTY^©ÐÏQÂU‚4.N2«eߺØp4 p\7î? þI¥=¦?Ô6è$7¥¡"¤ mÊM¦6*e¬ÛF%>‘çóxŠÉ-QPL`oü ›#„OÉù]ÊBLÝí¬» Àr¾^ƒ¦"ÉÁ4OÓ²ÍóŠ­`K7ï½ã|Þ6jmR/ÅßõžÆh¹wÞGQÞ D›áÝëà£ìç_M–…¢Dc9pÚ!¯lYi"±`mIW_TךCÅGKW‚žªÓõqÛ¨(_ ¼8V‘ƒ„s÷|u ÷¡.¼Õ’ÕKc=RdY´qm*{:]±·Št@Þ\Îó/rQ½ýÞü~ƒ¡ìÓꃢÈû쪍=z®+fñq/½ôª²=|nò‡¯…iÕ2ÁG»09ÑG»¼láG/†©l”çl”ç“™«¦­à€› ¤ò^µ•uNameÍ[ÌùSü­Fþ^CZpÀó»þ‚­,ç3iì«Ù7éq§á[Îééêñý =^ +¸ méºÂ`í+¹ìƌb̎ŘËniàR·…ØWdZž‚5ƾҜô?u‹ð·nþ^CZpÀ²-Ì~|×·ÛÊòx˝<·ëëc”®îî¬Þ¥Ý“BÿìZþ±­ìµÅTïõ[ûÛme_]ÍÏô +âÄۆúß]t%ÃMpˆ†è +Ë%K”V•X\KCK"è÷F ‚琮ÝÄÖÐjkT–H)¨U½QüPó鵯Dý¾ž…²ˆº×_„"뤢AµT ü)ŽœR2|50i¿VCiü¢ÈÈ]¢`¬/ÆJ­d÷þ{аsÌTìáè‡h>_{÷òžä!,AÏÅJ`¨)KïÉb ôý¿ˆi©¸½%Ž(˜ŒÓَÕ?,'‰3Gf{r„éôQLF0„»³k~Ýß¡“CCàEWp½@¶.y¡öõó¢sµŸ7î÷‡O:)‡lŠ“Nþâ‹ß_|ñš%s Ú-á¤ßßÛÖTnÝp®ÈFå›oµ¢6L ?3«­€‚ý\ºP0hmà}9'è½·6ª<3Ë#rÜЈ¶,&EK…¯Br‘ ÕIYö³#i$R 5܏X͟}ZaL¡ÙF¸2£è%³3C¯Å7T?Ò=,•ÖSÔ@îÚ,ËG'.]~ìó$Žãƒ ++»mú~3ˆ¬‰N«jÃE~D—‚2h]W)Œñìÿ%jßÞ]%T”€rYΡFÄ¡öV€fYœ•s{¢Æƒ!¯–š€´Ž{ÉD,‰±Ø‰½ȫך[¯1´›̼UÙ£ ÅÞ©XÝËۆþasP¨8ó¾ÏR3˜ 4¨þ€ùTÂN‹ºë--C÷`÷¨Ûy£fñ¼tZA)9HÌ+!<®?$6¶y3š„¬8t¡®7T|Ð!iStú–å…åKƟxÁ¿ÒÝjÄZkûE(‰ÔÆ ¨ø¼ÛF\ó€jk‡dçÌùÚ&󭇃åĝçªñ´“Ê Ðr~ta€ÙYìø„eÛ¨È9X&ÞP=\ƒ¦ +<µnDؐwËXƟ:Sâc[màEÔ­ÕÕ¢—r¦UxÛ©óSà o±lŸ¼ÍË·xÏ= «¸¢ìüSàïÇÍëq›i»¯ÞxÁ<|ÒI”cGþäÅï/¾xà»ç€J`Ӂji±q—5”r¡p¢^xI,û¥º¶îƒ:ïKEKäumñgŸ—,.{Œ?±Í\Ó܄IE‚¸\Fg–¶îƒ:ïKÅÞe½B\ÓA¢ÎðÑÅcïÜDh˜eÊBŠuô (G¼AÇåàe®mñˆ•Wúm£Æˆ`L7EF@p¼aÊãOLª¦k|þh„«MW¿w&×Ë"‹„·¥?_:·Š,ŽŒä¸ÛôҎ1†á `"‰Œ=u0 ÆMÝ­¥ðKðL¡¥òÀ&Eá÷;[oIÈÖDØÇvUüވx`žhB~„&Y^:þĨ2€ L6BI"aÌ«³E3ÔFœ”¡örøÎ\µ‚-½æ†~#ÚjÃ̀ol(qÕç^é#&î*«L^‹2ñV#üò6Oý΃©æ4wóvºÌ荗Œ+Ë oT¼ÔË­…¤°Â#â·kaüÉÏ ’„`1´@®˜ÙÙ¢Ù{ÁPͽ°¨QÑRøÅcEv²¹Ɵ\ö.°&“i´¾lufæÀܗיùH’, .d˵¡ÀS$L`œå‹bôSÔ?¶ëI 'Ü_|Þ/½ø¢A=}ñâÏ_ò{{)¨Ió•÷~Kv†b‘%/¶¢bôÙbôٓå©YxIé_ÍWR¤SÌWÑY|I/¥ýf'1Lù­æ+)88‡´:á€çw}¿ùʳDÓn¾ŠHÛñÑßiùÖë3ˆÉÕåûWº<°tbiôðЙ–Ñûº[ª±Vc ܪH˜Nh͐!F™X1zÄÃÂ2¿ÜtÂ?u“ð·nþ^CZpÀ²1hôXßõÝ,ïÆ[î-á¹a_Áüqrõwoý. š°þáÕüSÖËËy< ”w֗×ó© ¸’nm2E<ÊM»F jP=ôÁî ’ ëá¡çG,è‹ÄµubEâ4*Ç8 ³á+A4š¥%U7ùô¤B±†èBX‰8, ¯ƒFõ áá vVVËoÙ¶@6`B돱á¥*8R>¢àÐ!I·.Ý#mÙbLê·ÉΩ͘$I@€Ì LLN®”dŸ´>Ì$êВm~%K·KbÀïj¤H60Ó»+ŸvÉäCdDË2r–AüŒNC>uÑb*¹²ž}޼aTÇ^CJ®c]?Çj<¸è5šX \‘÷Mïçl‰I—ÈÏîÝ3êÁtT}aÝúÙÈ/¢)€¥ù$DîPü7K󊆉Õ٨̷¸mÔ 4ä=i °¬G¤¼ûa—ÒýB“FY%•K«i&#>½ONm,+¨O%jÙZR$ŠoPè Ïvd`w–¨o< «¥Dj$Imê¤<"ãÊ@¦²Ñ`3v"ïT¢¹Y*` @Ðå5…Á€}ˆÐÇS žéREk @*@Ô3‡á: +m¸À•_ C`ìšD!¬¤kĪ" j§R„U¢È ùAEfUK]Õºã´ÚI¬¬Ãӝ9­Äà-n¤(¸9¿þÛ¨Rźe¨HBR-_#˜¥’ÍCÎQ±h›v+3"‡žV€¸~ÚVcâ%]»¸ðV€1Y‚ +{Æ{÷j‰š},ƒ€š94 [J7bõoÔ$éi· +\‰® ëèó»Múuuþr’Iÿ”úy’ êr‡=|´Ÿ^Í2¹÷æ÷Wßü8ÍÄ2…Ýˋ0–ÈHQÐµ«dšqäÐ7êö¼ÞˆF—ÒFÔ8ðkp¸"fmK¼²ùæm£ʀq|ó«è–`Ô¿G#¯"†°×ìåF-ÿðà ’q{¢6ˆzåëu1hÜíf¹‚fKŸc…h¯žW4ì,å§j¿Üªˆƒé/ÚçŞO7©éÑ%€ÎäÉ¥€µDMpùLì ¹<Î5Îìî© ‰/Adç+zÐÈvÚOºúmKì$ ’i'҅€Ÿ ©0Ï#U’$A …ÕrHM1*¸6 Ž‘zhqY~)©PÒʹ)ÊÅEâ4չMK9©`U¤ôÓF3ÂÖ¢"˜ ®Il ñµARã ù’Y þ’#Èu^œ^”2bå5²ÑCАHy{a¬„ܨJ_ÛjÒJtì̱Âÿ¶hóªÃÖØ¨¼oaš¼{ñ…Y.ÔH¡¨…+‡kK©É²Û*k0ŠUYR˜æi¾sìG¶‰áùŽŽ¿ÃÉ8…¦A%›Ð’‡º€Eæ¬Õò©Ê(HD‹¸sRB¦Ó&pYáìxKwwb<ߋ·Š\à É{D £|ðµ\/{Åf×WtÚìb²ÂY0 +|0 +üÉܖ,¤°ô¯6;),6»œ-¤°—Ò¡³þ©† þVÄ4CZpÀó»þ‚Í.† ¤0َØê–olé‰Ínvùþ•.Ï6;™X±ò B·±òĸ›T¢1€Fc»&Y ZÝb呉+OΈ֓Q¯N„oË&áoÝ$ü½†´:á€ecˆ•g~×·Ûìâx˽%<7ì+è£ +¯þî­ß¥ác›Ý¿»šl³{q9¡›?¶Ù±ÃÝf÷åõ|j³K‰ø+Ö:ח™ë…Œ¶ŽÔÐ™î‹ …ö«·K¼A$ÞK ¯õØúýˆŠNÁ>4@ÙJI1Á-fh}ɲg:²¡úù¶0„áó ÉÏLpï[,b,HI!è < +E1 º˜“‰‚€yM©Æ –Œ2­Ë,`ʨ¶% 4ü¡e„èú:p‹–ª$ŠH:{¯V3 ²0®,ÌU +tbdŒA1´">a v*7÷$Ðq€¾¢hâ*Ús´Y¹9Ê<@r–ücÂ@ÖÂ×yÒ¬ñu7L‹ÌúßaÁNéR1‡¼¨}‚¡c14E°ŸqÒ%Õrb×@(‘ØE]÷H€‡vã¯×ÑyµAš™¢Š)Z(G†…¯HÛÑÅR&Jø4’Õi¹dê7±žÙZ,69_Wr(Ö¼º¶Š5Ķ@JÓ®–%J®9{L@4òĐ²%¹ +#7j2VÕO3Ð~; ²ÏV-FbhæÈ,ꘇEppùƒEá1ÌU¢3zdy%.Êádß&Hm,ë‰å yñyRzy­òu?|¯ˆX֜’aˌŸØ€ú¾ O|ô$ŠTµ'& ¯¼÷ýÅ÷>1ex—* ÕÈAvQTYë´Ccgê\_œÒ[úM4Ìké‘};{-ÖnZDm× ¢Ø‘.i¥w¼›X7xú:‘À@õ7ŠÌÌôÁ°E8K;ä¹Eoia4ßðËÿ 4GŒå  ±óŠœK€D6ùÔz<ü8 …Zß0/cÀ„É'›–Ð2)„ Gºy¸¥é«©‚‚…cnBQëÉQÑÎÏ%%l“ppgx5™·;³ôÛFE†@Ñù±ºà°ÁèÿãÞn˜vÃ}†5 ;~ + Aîp?9ñˆ:­O¹åz¤€jŸ_&ó (€†ÍRN +ÈS˜0M¿r#̯4T°°Ê}WÆ!5ÊP¤z.LÍÄwâ…0Ð~ÁTB’뤰ÆÂž±Ìg¡Ôx`Âèö^-ñ]Êj/ƒÇxsj‡ìTP“|¾±ß:-M> +d6¸Q Mgaì†7TD·@.ñ@Ú:hûB,K&ŸF¤>:‡^‹ÍèîNÀLm¼8`¬û_7Ã7"p\6nFð™ô‰bФžëÒnqÍ_yç1øÑs/!ÀüøY,ò“1b[Í¿U"àpQ¤Pþ +’;]'IÌ%~"OCÓõy‰:š8¯|˜9è¶eÕC Ž=ÌóòWÂ;ø3²°™üãXÏcŒó;>½“³ÿâ†`U$oгšjý«¤U+*âåÏí~Ò"ôÖ÷9ÏñÓNߟv*ßeLœÎ@Ÿ ò>ˆ¿À}€nO’ü•dÊ˜Cù /Üõëy®šl7Ö)ËfñíseÈ>Ÿ—¿¸øSö‚üãXÏcŒ²B *ùù©Nú¥# cN„_&92¢ç;+vj·Vl %yÔ靻´ÃTíV†d¬ ÿÌ~ͨð]K؅Ï-§-þ@ñ˜{ýwÿÖñS< x ŒÖ'º”«BÑÚ~“¯Q…Ö×IðúfI™áÊYD %Fu4ܳêU<×ÄøïMˆ]á¡¡A1üA’—tOQµCúeVci³–^ÌÃ%(nFÈ*œ–„ªgiçÝ,q.%^AßÐZðëÆøô‚*åKJcüñV7`þå4æñIiŒ|åv€Þ¸Ï</w–·“ôÚ;ß_zçšsÉ­5ôU:ýýŸYíAÄÂgê$"0@œXXU$«z›¹!:Ғ Îq!¢gènHN|8y4ˆYW3㈞‡x=Agï¹+v†d‹!ƟÕ:g¤ÏÙù„-‹?Éf+TDäÙ@”kTSP=5ÏlvNY¯Ìjc4»‰' ÎðTeæP­ã¼…•M1 ¢iÖæjj_‹b8Û$ÎvۈI\ɬ|«ë5Võº%>?Kî+÷NøQ†=ñØ6'ŒË‡®ÚüÂëMôÙS•·Q½£×Þw½Ÿ<5§ä9Ô¬Ç*ò‡‡ÈgðùO¢öÁUW)aÙçóçã ۏ+!¢°ñùáT]ÏË_”vøS¤ù9ƱžÇçw|¿ÈºÄZó~£U¢‚žÛ½E0“ÇÒþìïýy'i_f’Â"?–°ü&¤ù´4¦´4¦M؛ÏË:Ç!,êL:.Q4Âb„ö>Ÿ—¿‚,QÛ@~Žq¬ç1FY{ +‹ó;¾]Ú°.ï¢âœÜs»¾X;`Ú£þî,Ö¥ÝCAÿßY»?ô_\= E=“ñ¥Ë“ŒÿÕ%üTƈ;dĕR",‘ñ]ÍbH¨‹†âvY$X~+£,‘8?Àùý‘© +ŒD:WZÊÑeŽŠò±ô®„Ð4ºo—Qæ!´* Ï¡u©U⁺; B+†aHÐú碕($á&D–3˜¤þ$Â办í€>_D—#^°Ëɍÿ‹G’€©þh9;ÊÈj…í"€Èö‡û‰átà`ȟúSˆýc²çhƒ öÚµ@íM +Þ_iÛ74–›lÅ0ÍNê—mÅüÂs{'¢[h´‡sµâV;Üp)CÑqˆfF?Ó¹p 5óQøÂ¸FÈ&Ú  òJ‘Þ?×lŸ×ƜÈIŠ žÄX Ú±#++¸òŸ,à(Ðú£Hž“˜SȤŒSÅG÷¥Ï" G×½ é@%U„ˆí4&•Þ 1󤋸¯rwq¹oHD sY•lJ\êØi:ø`͎uL‘S¤Õ‘,±i¹ÕIÄ@-çÀ»Î’œTUÅ×N"T0lbÓÛ8æ­ƒôëÞaþü^zE/‹(ªòFº¾ç§ÜVÇ¡Î5ÝøÝyӃç\_á(^ô²¯¿óý¥w®¹YìÑÌ&ë7öåê\zI-D0$'@Ùp(õ¾3%ÀnG‚/WZ)—ll2¼¸Cš›ñ×;»öfiN`ëñ¿œ±#"&ñaq†/ÒZ129hý@ Bbà…18Ççó9Hd¿žµ"{ljI8¸/ £ôÅy†m¯ %E8sÔøŠˆ2>¼~³Ä#Û¤ö2™½B8•â3BÜ´OC󃂰(‹ýMZçïÎ!1™çðožxm¼¶ß@Ìà˜mÐA“L¿8PQò‡Ìµ*ýJ˜ ©÷BvÿRAl ßÖ7Öå:Éó:ÁµÃüŸÕ®åq7‚#CqZ¤uƒ-Ò!%EÁ’ÄyXéüº†Îà  ƅÊ6:©Ž7)8M‹tL ´¹QTCÅÖØÅ5¬wuÐJä†dîôI¤`pȒ¤ä‹(v"!æ“G²l* Ž„‰%äФ‘Ãëá,Rßé†dyã""“³+O³¯qFïœåïP¨ÉŽRÞ¸Š§p3¦F¿å*ñ}þÔ€I/üïµ÷]…ÁOͳý\¡NÜîT¨cñC¡Ž©…ú¤È W•Ý!o +ñ|žÊòÂçëD¡fñƒ©P'ràñ¼üE­‚?E«ŸcëyŒq~Ç÷+Ô1æ‹BÝ~ԘŽk»·ý±B=û{ÞßI¡–™¤R³3J#á—2”´GèÊEݔªù<LÖލ%¥,eo”2T²_ÏË_A–ȍm ?Ç8Öó£¬=•²ùß®P˦ÛU²1¹çvo„~¬PÏþî,Ö¥ÝC…úßY»?W¨_[½¡sÏjéò¬Pq ?U¨´ „ýQ¿ÿK€ æý:‰jnz]ÖÒïãˆZ6‰Æ äÞ9jk7<¸· &‘Äl¤&FR9DiÄ£‹Øe`²°ÆPâåˆè$a È>IýÑ.`8Ç·®vˆ?¢òS ·DÝ Â`KÈÊGa(<;"ÄÁéİÞ@H$ʹ]iEùi>ŽÜ¼.±Z«ÏCÒ$v&Ôpq’>þCˆ=y¶¦èáŒ1AM9I®å *óåY"P®‘®Íf|â‹%Õ Õ¥º°‘€TM¸=KìR§g¨”%"œ©¢?`qÌ2dØäßLxÖêGX*†‰&9Ž^|­Þ}õDÔ-B¢û‚&CêC¡ +Q,ñÆm&2ì$"‚¦4¡ò½ 帑؆_Dõ[F¦¾´ÆpZ, † º…0†&YWdiÃèü¨÷YӐß±6ci!1öJÔ*cz• ÌÇ!û5AÚôF¸T~Ó|ë õñ1nÓgCìs²¦bN"‰éˆSB +-ɏè2CtZõáy.V~…o½_‰’„Iè +é`ôu‚È5òŽU6²GãE|x>PSÅjd¡¢¢¡óAݲIkí# ÈS¤Ø >lD ŽCê E7$X°hÙiT0nñÀe¼ArÀ‹R‰*s]bi"£×LZ„ +d{€"J©Øü%´`xÝžø=þâ,u®ƒ€ÓOñ¹óPýž¹ÆÛµñFÿà¹~ýT}ðb—øú;ß_z皛uË`?°–[ 9ªHã‰ÊxUÓL?ÏênÜ7„ÚÃQ¶Ói*<ˆŽUk kyœ‡#‹q0®rÍ¯FKZçÁ“Ä8Khêðoòp­C8H¿,“Dp7”ìAŒµÎÃßïÈzGL"R¿kííVg(ËHŽc8“’ú”¸ª9ܓ(Sg£z k`ñÎÄVpDF~€)¦™$Ùڒ&sµD ¡%ðS@ÓÑ>Tëàó‹¥×Åçó¯“ÏÃDȒ´ëaD¦#†à²~d£f’¸WØ åqåT oÒ ¬"©#l¤qÑ ;]‰·%¡Ã‡^°^Œe’À’0ÂâöƒW^¼ +Ú…¹f¹\®ÿ<‹³rªoÓÙ÷R¡  +äB”–€Ä2„Ž.ÎÐSÏ{pCBÃúÜôò£xè ¬ S"rLHì Cì|}ÎÒÓ }ðº;æj¶«yÊb€î q#™m]×i—[~:'ˆµØíGeò ¢ž§(Ò€ý·Í=\üp½ŸÙ°’d’aµ¦‚jE2°ÁˆÄk “Áqþ“H2Èás$Ÿ7 j–¦¢ίÿvbipÑx僭…4Ö.!ŠtWŽøi°ô Ö2u|¿áÍ"£èbŒ¹¹ªŸ?Õõ/·Èkï»j&žš|ó¹u'×cXwòq ëNªÙXwNV•anQËËP 7ëÌ|V v,֝¼Áû]c¬;刿yù‹Œ¹¨ÿ¨?!?Ç8ÖóãüŽï·î¤e¸Ö¼oÅ +\‹K»·~fŽ'֝ÙßûóþNÖ™IZXg~ZRÝ4óêÆô% ä¢nþ|®kïÆ‰… Ãë:-Ä™ÏË_ÜYB¥<ŸhfëyŒQ֞‚ùßnÝIð!ìö9¹çv}±ö2ú»³X—v­;ÿÎÚý¹uçÅÕ"×3ëŽty²î|u Ÿ%\ç4]È rf®KFúV¦ÄÜg^‹”å:6$ø5PÏ·Ï­!ª/­¯‹Ëêkۈ‡B«Lb×ÕÏEÃGWÂ6’†Z|ügˆ€ŠïÒQoǜT»èŸ:eÔ6€ÐÈTS,}× bP"B ú@ºÞ¢!¦DKBÖ1ÜùHUÔTfÞA)b•ûŒdÜp$CêCƒsÊ åIÚuMɳ‚8õ~ ÖP¼À-õ¡M"äÞ#1j$# ˋýÅGµ‘Ïâ 0 Œ2¬êaH…Hp;Y"ÞÜç|u6—a½t¶á™54DÝqnÌ +U§µ¡®o¤v›=4¾ï·%¢BI!SÉ«ˆ÷g§çúø÷Äþ­hÕÈ)å.i˜Î%ßÿêƒç°Õyð¢£ýï/½sÍú½`»íÂ\À¹é s²'qnåØO Á®¼<¢ÀÏçgúÓ=Ûu•g¡õÊyÃÒa*ól»>€@)ƽ\Æ)#‰ì…x͉Ìhp”CÀ" ÉpCŒ¨,ÐO i;dB Åï œq©fn E4h‰lYÁk›zº!O_’À~ àÚÍe›½-’á܋hÆ·6‚% ØX_ MUùJP/KZügSûÑ5½mugûj È~(ïhv朰H¨ÕöY4Ûõúøç¼áëJO)‹ôl‡í¨c³ŒÅ¸JŸ?ÕÅï/láµ÷]†OÍ÷¥ÌTē¨ÞU|zWqÑè]»¾3!ՉDh;éMóyêT«8"_'zW…Ÿbê]’Á0ž× ¼c¤¼à‰`3d×óãüŽï×»ÊÀ[ËÞ¥àZÐöÜî­¯W}¢wÍþޟ÷wÒ»d&)»WŒì^+3Ë_ª¶¶¥¶ZÙ{=Ï“µwc‰Dv‘Ý«·9‘ò·Aõelù9ƱžÇeí)»Ïïøv½‹5`vÉ}Nî¹+<Ñ»fwëÒî¡Þõï¬ÝŸë]/®Eþ'z—tyÒ»¾º„ŸzÕ ¤gÑT–Wu’} r˦53™ Ë+cÖhº”èB¿]¡o\ä µÊ`Ììïò–Ò~2nQŠâ½æÁ‰=¹I ÷8íÆ<ƒAêO¦cˆ"³ª»‹ ´‰CÁ°և˟–Ò’’ØßEèó…݉zuÒ $»ðVàW’ ·áǔ îŒñ›—þ@Ÿ ëL/èW½ð¸EêFirAôlÄè84Ä +0–®ò8Õ{NG6 Fâ+MóƒÔG’~Ô­Ý¡0paRæb)l7|:“EUi'FiL’„Ç‚ä`ÐÀäJ¤I’EP÷Âlˆšàœ¾Èh( ΃adÏO¬Np0‹T,+ý@ø\ÕSÿ‚Ý–3!e›ûO’ ‚Eb—âI)u&!³%jw¹Ðì«DÆcx‡ #¶]|™Ô«7®îÂÁŸ\ݨw/uÖíï[u¼©ÌeI¦›È»T^CB»áÄb–&œÞ歃ԇ‚tV¿µ»‘(81‘Ëü\ÄhK¾Âïq0 +ˆ#ï@¾jW° B\<­Ûƒ„mœÕë²ÚÕ9yGeé‹Ò2ý“Ì4ඃUåá²sÜîM boð:Ð[½ÑŽ ó;hXxtÌü„¦2E¼Ô¦ÑØðÊ0"·€ã$Ãè6\Qø©H±øØ•ß}³Çœkº¤cÔnsõÇ=‡ygÞoäޟ?Ö÷j¨ÏüåÏÞøþÊïyËKÅ® g€çZu¿$ ¬:&>j(ˆkô®»,Ì]† *ÖøÕ>ÕÊvž™IàPR‘,üEþ¬˜Ðiõ˜ÃbˆˆÊ.Á 2 ôè5ƚŠ=¡‹_Uã¦ȼs9ß YÎw°F·5,„óqú‚Š·‚$¥E9 œ1 ʀ„#89ۀIÈ0 taTà ®ù 9±»)?ÊL` :3ñµLÁœ/ç98u(Øråõï¾0ýº˜~´wÛ.I IÌ{Ç­âRòƒ\5M®!_(ù˜øA›»Ünƒ¥þ;Ó®ºyWffʸRý·‹—–èô o¤‹é77þr•cÄYˆÙ’‰z'Àï ¤GB@ i´a°€{™˜u¯!IL9…5 +Åd‘®"Pš"PŒ#ÉjµóCžRëç¢L™kQaÇ¢LgRQ̓M¢ïg°$x=†ý°¦¢Éû¼ °¢‘5*§‡Õ²ÚéÇ쪧¶j sé«ÚâJªd ð²4ˆLŸiaUƒJ ã¢âÓ_”qàŠ §kçfi£!¼çÞʦÁb …æÊ÷¾Ó'n0&ÿÐ帺ć˜ÿéC]‡HÇcø³·]•ŠÏzÁÞBv™šò°ËÔhÃNöa(Q›‰*u»]%ZÄ0v,v¾Nì2-Zİ–-ü€üEå”?E9•ŸcëyŒq~Ç÷Ûej¸ †uÑ·"róÒî-Á>üØ.3û{ÞßÉ.#3IݾF‹5UæS‡‰5UÃ̒ŸS7kJ×ލ%öۢŚ>Éz^þâ6hibMÉÏ1Žõ<Æ(kOÝ~~Ç·Ûej¸ MÍÉ=·Ãb=à ›ýÝY¬K»‡v™gíþÜ.óÚêÅòˆ0éòl—ùâ>ó‡WÐ5•ÊY9®/.´)"eMbEŠ?åbè>ÏQƒ^lp ZðwT\É>ëJð÷Š„R¹Ë c͚%µCz뫲)²,$tJ¥xS +©£2·¼B94„”`^}ÌmOC*†‰¯ +>),o÷ŠÑCM|Búø¯1cWã-„ØPd#Ë£·ûvBŸ\"¨_öØàÀéXâZo¨ÔB¨SÄ㲌!!±_ð,àb}-å^}<>¡7Ô£¼:IýQ¨êŽ ¿ÚDãïPWoû6Öá ÊtЁØeI%:`QêŸE–1d‘ĤଣëÚ>:ì?›Ëœ|€`2)j.R_‡®ªKÓ.Hc® Ê1VÚ2¸µ¤ŠMp(h±ç*Åû8¾š¸S³ä`')ëÞ7Ä8‚13sXeÉZS4XÀ¦X[1фµG¸­¼U‰˜_‰²„u" ·O¤Ô‡bŽE©üR,¡à |¸€Ç´3G°ÀßaHT„çmDU,ñ˜;ÇKXk?&F’BT;…¬$…Sށå6Á. DŒÈ~9їƒ?ªI éˆô[÷e…@ °¸‹­ ÃUtŸå~“+uàñ/øA?BöB +¶]E–§äÃDªí•y—20±îmÿð¾:®ÉE•p'¡À\›Î‚ER9¢M=Ë;7KDa —!R9¹¸aBaŒBEÎåÿáóÁ-˜#SHN t²]±žÁétbïJ‘‹Aê‚LbCÙ9€ÈQE)CZ>¤È{ëf‰•é XM­k@xòؕ—£;°ôqæ4eI¿Õ9ʞMƒÄpÀ@ýOM%p–:HR¸Ñ‘GBt–àKCŒ\NÉÆðoÉ CÀþ:4Å%_.™Aú ø\Äá4Û¡N­^Yìm£èÍ&ÜåtÞ,™m Ì*N‹g’wæòÿ7$)nû(Å8ÿQÁÇÕ:§ûèªí|þԞz¹_^{ßUzðÔ<æ_ŠóqLÙƒ’€ÞРԊţ<ròÄ£œv5ö,ƒP±x”ìX Jò>±(¹£XDJwT‹À¡ +÷Q'(¥þž€ø«¢åÏïù~ÃRK\J(d-ûk»·~C<Ã¥œý½?ïïdX’¥q¢‹m(Wø4 +ä‰mȟÃ.·ŠÅ6Ô=àæR‰|ÞgÙ¢:ÆWÎ.ôÏ K5õ÷„T_`¨ºh¤˜ßóí¦–/‡s’Ïíú¢ùgø”³¿;‹vi÷ÐÀôï­áŸš^[ÅÔ¾€S)]ž M_]ÊO€ÜÑ%À,.% ÆCÆûÝ©\ðÅ;©Ëo°^çÜFC _ oԀ0“(-…% Ù³ä&¦ßK‰(ƒÜ4eƒá;XÔ®oGÏb0,Id²ôP¦¤R¤Êì‚!6$`‰°.…E‘â]H1Ä"uÑ“¼%ÖCc·ík G艸ºCŒ˜hbYÏÃQ(¦#ˈ…M‘®1“† +œˆ„†¨O&6› +ß.vZˆ ú©0 '—°À‹ù&‡Šb{Ò8 eú("üÙå¾î‹ÿW1î[1ZY(­ÍõHã[ÇLm‡çýуÎ3wOn¢Ë‹o}í­k~Öq³›ÅjS57ΠrËäð†Š]76bbi9K1ûu‘nϲÃ茁hfÄîߎ‰Ò°=ªWSÏT¦j91ԀC9¨9*XbynÂ#Äj…jYH„ i|†l4Ë#&²!’2òNd"˜ªsنJÃÓ1O•m9j^Có"ši§5©]¬wT'wL¬’ºqÂbbñUÈÕ +‰å“Ìù‹ßch椪–Tì4äÄSú {ocüÿ(zN¶wJÛ&Ŧɺ?æ4]ï£ÏŸzCÉÌ;çé•÷]¯ªOÍ)yîWvRXŠz@¿Š&Ž^_V ¤w¾‡\>dô)4ì¢|³hzÒ¿êRºJôÔÓ1ú€V¸ÈŸ¢H­Ñä÷ÒꄞßõJSõ‚«×¯Ôv´ãN÷„è«'u©fï_èñ¤è´R tî°mîh»×&D›üªUÛDÂÕ @·…›Ë¦r%ꍹR’g'ògÐe›Xmú{iuÂkE3J󻾿TÕÑ.pms¾/ û +¦gh{«Ç;+xmøPAø‡ôÿ(]õê’ú/@ði§geá«ëúÌ-Mä:<¬˜XmÆ]Gg¨Î¡~¤Tð¯aR}ûYƒJ¤ãêt€Î‘‹{„8wÚDz^z‰ U€Å'v¢²dÓm£Ö>°Ü¿œ¯ iÄ?2ȲӪVü„äXb“.Í ž"»u\Çy¬e­7Zl>l©pÜ6"D”rÄä䑘]p ʤÎ?11™e^·6pÈ1&põ´HúF c#FÉ*ب*D¢â¬Ý@„°Ð=ügiÕi‘óV††ñqp;Ԍvb†EñÎÆ•#†QRƒ0aØ>ä͊+Ôd³w° …Ó道ah^®¨_c©Œ‰¼mÔ¾Gb$î9ªv+̏Eë#ŠÃ!œT¸Õɲ +–¾b*‰š]Û¶‹·­>¼°æÀkÚ'‡ ©U_i¢ Œ=eËÐ +úš°˜:÷±¡¦íŽB­āôyö€„>Â=c–c CÃGÍoXKKbVÕI»ÑtÈøÊÏ»mÔ5÷<¼.;¡œj9€ªBä2ç¸ÌÊ Jå÷{)ÖF¯c  ºK×ùe–µ`în; )6x$÷¤ÇÝìƒù§NËM”œã'™® ¯ä-šî¶Q×g ^ËmûÜmN¾Ç[ÍHjx€²Ç––ëèÎ36yÐvM½ñByô`_J¯O^üÕ/¼õýµ·®{ÏcÍÃOŠgdÖ'›°B +ë(†az ´n4Ã÷7êàû‹ˆx¡J×GíBÐd$ËùǟØ[Àìb ½i„dq¹DVg‹fxÿFœ¼ßP5&‰×q.#ÀÙÕ¬“SÌxʁ§h5‚öà>ì÷äºdéîµ4Ë6*¯îÛFE†=ØR{^<”·±8­“‡€õl®àÔË ŽËdÑÆµÁ•jç+æ¶QqIÖèõ*“+¢‚—ŽË¤åCS!pÏ¡b5_I·h¨_RFœïF^xç]7`dO†r¾~oÔª¡NäXZ‡€—éâœòׇð’Xs°M`dU<{Z4{mÔy*>HÞ¼‹rÞî“ñ燰ìPö6Y”‚É@Ãé4ÔëQB„ÎäI¨Z݂V‰·˜™©¾q"¬2ûì͍wÓ¯¤’Y¦ü{§y LëvI¥S Xi·ãø“ß%"Ã6Byy½Tfg†6oC37Á¢¶™2|ËÔ,ûM òNBTàá·Fë»Vgæ[Ííxž•ÿŒ"GšÈ‰S#XDÿ8ÃWýçÁc] +ñr­¼øÆ«jôè±ÉŠ¿æ¨–2ˆb êk2 TÞ[,À‹5hІÑh*«»mÉ[@@é_ TRhQ Tý k ÒÊl£ùS”p©'J¸üžCZpÀó»þ‚Ê»34`dš»×ð-Õö põøþ…Ï*™V±gxo1æúŸ»ñÀO”9ù=l}~7Ex 47¶…›Ë¦ö TÇ4öŒ,h‚þ)[$„ 7§¿çV'°Öß$ƒŸßõý*Æ_m֌5ߗ†}ë3ÀÀÕ㝼6|l úwôÿ0P½º¤é (‚Úén úúº>5PyX&Z±!ÕXr Õ¡ ´T„€]\Š*+#pù©ýnõýf»"Uú+j)G<Ö '–T¦€`¨Pž $ ¼Bl…ÚvÁH€¢àƒ¡áȃT6-ãð=B„EÚ½CT°:Ԑ#+•I-¡*3m$ØÄô¬ "€Å™ˆzænH‡ŒNõÔÐ"_^´øõ¢a˜#·Ò¶D,¤ÿyW’G®Oà;ôÔ/9“[y[·ðºï¿ýˆH"+K%•¿µòƯ3™L ÆÀ,Ö7 +†‹d-ІŠ´Ð™PWZ3í-ëL°E´çÁñÒ"Ûo)}*„< ! Õ&ó,ÑÑx8[W³ß¦ýÒ϶òZ»%r{ÕÂ2%DÖ ÙÈÁð»ŠHٞhúÕÀD@To@mîNZóËÑXÒnvj=•™ +·Q´…Üï‰37.¸Œ(Yôlþ7ÛV«Q-Ċ$´–.¬ffÌðo¡á$´sn §wÌÚ¯³å`ꆡOŽ, œÌMuجáÕòtbŸ`ÐÈù …åòē(µhЃää)ß;QY=äv¢bAašÓ×hÊz3СE ÀQ¤ÒŠÏxü,’eþt1ÃÕs€+¯˜f>ʁR´i€åÙQyTètÖ°mèÊBCL~6‹ѶãfyŠŽøóȘÒJwa@ˆ'eu‹ÿüq¢_çÐKÉQ“[&÷µ‚Q2 &7OT¨€®êO²z,QB©7¢^‹bÜc'=?c&ŸOÚ/=|aBõ[C<+výÀníÑÓð9dD<¹žÊԭۙŠøÐ”o̰—=å—ÅùÖÜ ÙŽéÃä \^o¼½ž=(KUŽ×²7½õýµ·>ÏßðÌ`Æâr“Ãj\‹£òâ +7YÖ1èµeYáÈÛÊI¨b%‹¸"X ‹±H±ˆ'ÚdØ'*ÙåÍS™Ž_ôÂ-š DoCÈ^È¡5©G‚@d…ë֒]‘x?;šÝo܇åþ.¼©M±Ñô=&ƒê‡Ôý®ñÇ`ˆÁv ŽÝÁŒ™ì{ì5+DË+Öf¤"¹#%E­ø›)¥Y0ŽþUlî¨~`õù³ZpÐ~ +³†Ñ Àש#æTƒæóúWÇ;ø¯»ÙÏ9Žý<Ƹ¾ãÃû8”/í†G6‚aG;P¬ôä>ȗvÿR#yËðQ~bx˜¾Ú©~Ø^NÏ +ë(røL½”¿éÎÕ"Cô¯® Õæ$êÏfûyMÔ@pÏ6¸P0“…q˜×óú7êfПsûyŒQw@… ·¾ãc¥4õßUJ)™×ðhÍîÚí5ûÔÔ0;}°f—v˜¬ Ñþ¾]á7–ðøŠiý‡öëø!žýP —É@&¸¬-2Z +['ÎÄ®a @DÅËÀo¨¦q^#jÅ0ÈD†VÍg$ùE@d†OkŽôÓ­Æ"J ƒ‡…`?ŒÛ„2 FȪžt¨oIú[ĵD·q.%^¡‰kÁ¯ãã;*×JЀð»z´t8ÌìægžNÐ7ú“理—õÁKñ¯¿óý¥wîÉq÷Ü^D–Í숁qË=‰XÙ`ºß"Â_ÌXY$a?E÷<„4ò¨Dô,ýe¤X>,¢xc@å628ƒ.ýÈbQz4ði©œHû´8bTÛÎF„ȃvD' â<øVòr*f$%€[“$˜áxh5Gj¾’3{Û4¿‹7M¸Gé:sŠÛˆÒ6w{x’dd"­e"ïfcëËQ6k[ÄuÂn'bÒ*¹xA±õš«zݦX¿\AmqÇiwÊE‡ÌÐüL\žê¸Âq9G¯½ïzC=yjÍÉç0Ä_Q¹ŸžC•ûé»åþ;y{ +â&“›œp–Û“GÃSW%å~…{¡ÜŸ“‡¡S'È|^ÿ¢¼ÃŸ*ïèÏ9Žý<Ƹ¾ãäþú½Ü_cãµÝ›ìøÏê#¬þÞ?ïïNäש¤¼ˆ¬ˆ-/¦x’ÓbÙzSÙzÓIÞ[Ïkô<åEJʋ9e'/20s=¯U]£4÷þœãØÏcŒºø”×w|ƒÈŸhg:ɋkzïÛa¹>«°ú{°\—vO¥ý¿hõ~[ÚqõÒ*$h—w‚þW—ðCAiž†7 \ø/dYt¦u½'QýDD£t¨Qˎ„ÐX–CrÄiœ’È¿ñ Ë¡­wl±ÚÛBêÄ+ËÇNA:f».²Š3Œ‘toT §rD+#]pw ’+†áHŕžÔj ©Bu˜ŽàHò$CÞkõíZ7£f§. ˜ü¿’ÒÄyft7®Œ¬wؐ ¨€‰¹ +ŸÆ÷Ažb,¼“³Ü{Œ”B×õeLÓ¦ÁcS)(ZL¡ R#‹\¢88­ÓߒEæEËS`Iì„mj;õB04kzáf(#¾0‹ÌÉ5*ˆ~„ŠÃ"M¸|,nʎ€} +«“„ArïÔuHÔ²‡â|¡ýCÓ- ` ¡ö> …K†\Êèp:¬X'òàÜ)GJ€·FÂõ™Ö"Ã1F”¦‹ÿ°KT•`ærbà Nþ!Í:wËľ¨hOèbºN™·z"ÊO l›D˜ƒ"r£´#¢Ó éàƒ6tO´Šé®·yÝ['éç£Ãü1o{I9ËÈÔxCJ8,ðKö#äǺõÄðÞȜž<'Œ³G}ð¢œ}ýï/½sOÎæ~‹®—°A9÷%4OG +æZ+¨íyÔÎåNˆÆÄŽ^’…Ô$ºË° £yÒ܍?œ‰Ø¶7Ou†ù Äô+¹ê‡1#š‰ä´YÌSÖ­¦g¥÷`Ĩ0ÙTÌû:I¿~hY7žÕŽÉNÃì GûmVQHPĘx„0b-öG]2#XUm¢òÖf÷o –ƒŽ3;:‹†’û!Ž„|l0™½“³Aýƒ’°(ŽÿmZErºŒHtiº!È8ÏÌV :ҁBx»->`úӁ…ˆµr{¸€ŽNÆ4B2iðä§@ÃgˆlAq¿ûû$¯û÷1üw»Qç唽åi“ö¶H€W‚ˆžD(W!%+ÅÜQer®˜ÃœT-Ë V3XQ„‘ƒ²¢§YÌ÷°]ÖÁœÕ›ä/õM„Nvè’(;”;6÷™¤Ÿþ`M"ö7 ‰þY²xczזîIŽ9."à“䢨}Í3úà,ÿ­šü¨Ô[á–_scs•ù>~ +Â_¿0À×ÞwŸ<µ÷çZuá~§VÍYÕª—·µê;mvª¹¦ñNyü¤,©Á·Ôªù:ÕªKõ`Ž ƒ_Ïë_Ô+øSõ +ý9DZŸÇ×w|ƒVs½hÕ•ߎk»·<Ægàð«¿÷Ïû»Óªu*©—!†yëe¹œô¡’–UÂnQ®êI¯ZÏSçââS/Ó©¤^VjtzYAòÐz^ÿªºFaîý9DZŸÇuñ©—­ïø­Z÷ÝY/›Ó{ßN–« ¿ú{°\—vOµê¿hõ~[«~qõÊààµË{­ú‹Kø¡V]XTˆÙG£|Ê1ïØEÄ%ÆÔ/2óÞäNΨ´¤]ŒF¡Ê†ÿµh0 "7+3z‰!þh¤'uÕñè$fÉÙCÈdBT! öÁ@´bý"É£ý»Àªéî:;‡ y±L:—.ÿ=Z@!ˆŠrT€}ŒX0ÙA¢ï±5ʺ¢¹ÊWRϔùÉH+¬èÇÊR@ô‡;Xg‘~ý€Ä£hˆ®]³8Q¼,"BGè +æ§/Žñ(-õÎ1š©dˆîLÂD‰d—N¤¢…°äH8bÕ¼Çۉˆ2ÐýMðLÎäX6FDÌT 6:|Eê8C4EÆ×Úõ…*WdåÝI’¡ÕòÙñÆm¦rì"æUJ/#§#³øÈ-‚”!ÈÁÒ8ôPا5ƒþ!Œah€…Y2„lÉ<‘x¡ÓÜB"4܎ãFá˜î%GރÖ+÷D$£Øì«·j5›Ý['IƗ‚EX-¢ÌüÍáÔê=Rjï@ sO:4V^–ksU˜UÕJ ƒ:Õ¤_x¹SU¡/Ø'°s°_›YzŽÐ¸\Ñ,`óá¡]‹¢5Œ^ ÅK’Mʚè#T†Ve ØîPŒ NÁ×K0aܑö@³È™F%ãæˆàµ6|…ˆj‰‚;eS' Jòhv+6Ã„òsÌ„2Ê€QK#9^÷€'þ!Ï1QÃÞf +ê¡a³¯œ‹|º7ÞÈãŸ<|Õk9ðWßùþÒ;÷äìk"ª¡#'ÄcÒ§.(Šk’5RÈbÜ8B £'ã4 èƒÆ‡a6AbÖê Vw5k™z¦t£п#¹áˆòEX9ÞPãôtòtíS8I?=—˜D°Ž05íIÌrmÏӟX£ÕS“XÄÜ4sÄuÆXnÞ`›5I¦uˆ +·ˆz3 µsÈNå®f׈®8¹fÒÀjOZÜÕåJbÄ.^QÔÐêdô›§×Íè7÷¯‹Ñãˆ3Ag? Ëy=šZ2l±e‚PNiã‰M–ËŒ;§Ua6øœyƒÉ…‰2(žd72±»;ñv"ŠZŽlkìÊÃnX FÇPza_¤‘(ê#æÂr€,õ`ž¨.CôJH —û¿¬ûS¥!È«b%U¤M Â"~L©#rè§^tÌu' ës³Û’ôŒ¤7YQ¬â\þØA‡ûŽrŸÊŸ`-½úvÂ4§0&œ²¥ìH'¡me+ŚûLýáÇòÌ~ÁxJ¶ó”)^ 1K¹‡5d>ø;>0\0%xPPŒX1B¤>яâH24x©ÂT ´]¢ …Z(ÿ¬£ZÅM†¶‰ÎJxkkÍӉæ‰Ã*8/bE<ëV—µp$ä¼A&‘á9"Þ,s¾:Û˰^ºH~x~ 7qn3qn̊戮 uÝx3Ç{ï¡õ}ÿy"ã¥Û +ъèv~z®ÿ¡(¢Í¿Äbî„j+sR皟NÿOê“çB¾y¾«âúê;ß_zçžöG9Á~߅µH°ÖloâÜËgbÒüÞÊhØ~€&Ivh^~éÕ.·yh 󆻐î Ñ=£*7J§3¯ãƒr6cõ•ñ^‰,KëLÉàF“¥ æHt;OڬǣÖGÁk 4%ó9†7Ö Êu±Æ±NÐ&ºäˆU±Ú9-ôyC¦¾?A“þ÷ó]»±Îãì͑6ëÞD7>Ç ±YèÆþba#“±À' ò´'m䈈J“³»{[ÛêÁö›E*lŠiévæš0([4aøYôÛõúøÇÌá͋Ǵ¦ûÓ'wËZ«\ðñS" ÌR´÷š×—ßwž<µŽÜ—²UZbÊW‹}*_-d§|•ž¥ ™b¤b۝ò<à;V勯Så«Gq¥ óyËoÀ;f + žH>kv?1®ïøå«ñ^ùA¸·£^Û½•X>C²_ý½Þߝò¥SIñ½…æÄw–yYb³þeÊëØÊ«¿÷ó6uñ)¾ëTR|Ùˉï=ú,Iý‹û Ç6÷þœãØÏcŒºøß×w|ƒòÕÈþNâûšÞûv²\ù3ØúÕ߃庴{ª|ýE«÷ÛÊ׋«¾€P¯]Þ)__]Âýë ‡TWœ½0¬fï`jH7[fÍ$Ž7WUæ Ï%ý덼>á¸È©¯\!ò®è),ë‚ÇŒ3+ŸoLSò4j/ì4¹Hò$`5oµCÀ³Cͳƒ¼E òƒ@“iŠ¡v)$V]j(¯£Í6ìi8˜4émzÆ1e]MOۃބ¡W-s½Ú×üñ‘Ű=¥é!9‡VÇrÄ`˜­åŠ6 FBà«M’‘pü8ú©Ýap\ðtPîÂktºê¤œÉ6ÃVa0ŽE¶Q –EézX5š&ñGÒEP?Ãn—[̐t¼ ‰,k#rV´aȦÃI‘iÂ$JG\”À«Ý2‘0Ømµ2•¯CÑýÇÜêaù(ìu?@Û²uW=Ìõ—Qax;—{_¦ðÉÎéÝPÀ-Ý9½ ’Gñó6&ö+ÓJQ"“€ðC‘#fxâ Ú-o7áþvo$Ê,Fº‰73°á*4¹ۚ¾ 4Ì»¹zô@¸DËno¦•{’°ët¿¬v}M^ŠêªlÀc2xڑ¨ËZø¾»ÀíŽÓ͔“PY£} Ùú­O´#Ùü.Úñ;fº|CLoÂo46îÆçÊ8N–æèQñ—ñ5G[YÄäcW~÷§}ç\Ô-!aßru ÷~#ûþø1Vºº<^|ãû+o|ä7oèl\𢪵ÜQUL†Ž]Հ†0÷¤1àáºÍÂÚfØ¡j•ßí¬vs~©¥5äðìŸdÐtó:î´8"‚´[rƄ;{Z*ÓQüÝDl)\FÀz(™¦†…q½ÞƺÞPL¦édµëa]–™ Ž2ïԟ?ÎĦ«žˆû¢nbÍÁXÎpå/§9F¬õ`v;àzhb$K5WLfœGi&´o€fv˜n"Q-0ëÑ¢ÿ’Ús t)jD!øø ”– „«Dçn§@Ԗ²([èÚd±ð…rÅÔb²ZŸDßHÔ<hÇ0hQrx`E3k`.W«ãµÛ?ŽÙUŸÿnÈAE~#¼8îDä.0_o.ÅÁŒ•f&Ü •kÈ-ӛ"¨wßQì>Á“î£Á4‹@žûÀcq#§ôϾ÷G½ãžcö[«s| +ú>$ZDŒÏ}㟽íªV|üÐ žñ‘,Àþ¿½ØOQÒ²‡»3ŠLk‰NL­;W²‡cÇjœáëÔ83²‡ÕCè_TOùSÕSý9DZŸÇ×w|ƒq¦§ ”˜H¿½§|m÷VRû Elõ÷þywƝJª÷={ªžNjuZT=-*ý¹Ôóì endstream endobj 363 0 obj <>stream +!¨tñy³éTR½ÙCPâ“Úõ/îƒQ•þœãØÏcŒºøTï×w|ƒq†EDîÔû9½÷í°\Ÿˆ­þ,×¥ÝSãÌ_´z¿mœyqõò°Ã´Ë{ãÌ—ð3ÏxG8Ý0ÉÜ É{ÇMF(ÐIìHû§lÌL@w‡ŽjˆCu‡ã£ãZŽÕ®Qb‡vä˜ò>gŠvDhÔ&‰„ÆÞdUNDŠ-Ž-}/ÐÂ}PT™oÞÁR (%ʗŒƒùîeJÆ$ñU‰øâÐ]xËúj¸µ‹ôëÇ`¯E^(qC`B=+› ”%¯Ý ƒä‡Ô6Pü† NöÙz0(Nd«üO*“ÀPÇd-õќ=± 7XTf$y4XsßèhÖ¬…]k &°Ûè©‘–í-&XG@dur£œ3z9ºÚ<Y2,–„€tbÀb2)nn’¬r;]×»$Ðij8pA‹p4"rÕ ¦Ôp{šAé:4sf®òK›¼Š;µjZvBå>zPÆ,FÎdaÌa‡ƒ)5˦a±CˆVMl’°ö( Ý1¿s ‹ lÚ¦&Цu¼t »¬¡7`ÑÐí4Øé2zãÅñä9aSújݾï|é{> +Ôpb(ÿ¬8|æÿý›‡Þ¨0ýyLÜåþœóœc¿Ôxj† G€Á©0—`›…ó`ŠØ‘ËPš‚Öw䪗 !˽è]ÞŠX3´SdD:lÆÀš_ªÑî‚ -“‹rۆ‘{5-ٝƒ1Qibâ >ëONRÓ¼:vYŽÄN„ró¡Äér—§^7„N#Q×;hì;¨M£Îju͑ …ÉÝ|›ØÔÀ…›Oƒ; +u$YV¸òλ»œ0\Cl€©¸\ë¨ïþ†Ÿ$0$$3”äہS괗Hݽ£@.£1Ú,܅bn*:Ž+‰K©ö%¢tu8’ +2mú½ÀsóDàéÒ¨,2,/‚Á +½A¦1ù±>¿¸k&.Ê +ˆ¥|—&4(Üwü}Rôf8˜¸ˆ#®z›ÈY=dÓl’ó$‰¼¸nž˜Ý€Õ´˜=üB±GwÂìãÌY +õ@Í·¼ÂÑz—ÀAµ¢‹š ïyª‘~QJáFÛD ãÐYã0irr=%'Žs$Ü¿dØ_‡e¼äë-“ç-ƒÓßF¾ÊpòβÞe]mÊ]î.Á›'"Ñ­€YåeöÄ +P¸Ìå°&}T·®ƒ‘›.ÝAÔ/Õäã§DñyPöµ÷]U¡'O­sþµ*yšÃI«’"áЪ4šª¼³æÔT¹Œ?fñÙV¡æ*Ù±Z•ô}V‰ïhª2Ý£r؟ +ÎÍ߆έ¿\þî„Xúë{¾Áº4ʰ:Ù¨ñÚã3ÀÊÕßûçýÝY—tJiŸÍCªÄ·ìuAêínÖ¹“}¡yÈCÝ´OØ\Ò@!ÓìAƒÆZÎ.ìÏjkµpí÷‚[ߝ‹]÷íë{¾ÁÊ4êúpMó};,ÛgÀ•«¿Ëvi÷ÔÊô®âo[›^[Åܾ`©]ÞY›¾º”†…‰ô-eT…†œ÷ŸP!K„æˆBBM{ÑË-—C'Ê] ®Ø¯'j°Zu )zj…@/½z³:±”äa äÁ¢F”P¢Ö%SÖÚ›4ê€dYCrÄ1ÃX5?U•iƍ‹ âˆ,i½YÀ0 +z#’Û¿vÒ0ð<+ô-*†˜!5QïÜÏ ŽÕ¤@žhƒ™ÜT¸å )Z z¤šËàÃÈB¦7~(„ ­ÇÄWÎ$bO‹ELÐ2#{ ©è—ûº/þoíõņƇ½»;»0`ùв¦À¦êtz޸ӟ=ˆâìn_^|ëûkoÝäŠÁúÝP´ÛÿNvR¹ƒ–“ÞTl»¹å0Éýê)nÃ.b®Œ6ÓΓ†½Îí:'FÃþ>ª"O*_³¦ À¸Zã¢Öl:q±)ÒÌ^y$í£ÏÀ‚Í3‰EíUs4ð"t"˜ºsهFÃӈ=à±ò-aGV›[QœS¡É=Pà„o‚áËôôô&*¤L¥ò¡ÎP«jåq|÷dU2OóGÕQ“ò¡ÁO®Õ-Ê<ü׍ñàõ,겔Ó.Å®±ˆú=O×éã§p5µê•÷]/«'O­9ùÜôö•¹ŒÀž¬«GØ»HàS8Ÿ‚úÎòüð0{Ú¿)ZÝJ•ÔÛqJUÀ™èŸªh-U +¬.ÏÒî„^ßõÕ«Ã{¯4ég¾•š>CÜÛ=¾¡Ç;ÅÀæ•2e‡Çm“8Ëqc!·éï©`“T¸;¡Ì¨ûBEK«\6tÝ<~›¡(¯NôÏjë¶ Üì÷Òî„¶ªgä0뻾£šÕ1.8nkÆ/ e ãg0|»ÇkxmøTKø›—ô÷«[½¸¤e|›Ï:½×¾º®ŸVÍÅbl#̙Xm†açà¨AnÑŽ> +EÈ<Âmfbé¼> uôòFDâG…«kjٓ += +ôŽÝQYÕév¢† ÷ +Fâ5©ÌhH†\ +­ÿ[u jp֝'ÊS, +ù&$8‘fú\䪘1|ØSáG¸ˆE±—99u&k7܄:©ëOLLí ƒõmPúZ#WO›doÄ0NĬI'*š ¦>U£™êQ÷éߔY¨Ó¢g mg rƒ!p†ÖTx$í\¹FS´Y†‰ÏöK߬€ƒ0…2Ã]h²g:㉃UÄõ´î®l_㩌¼y*öHÎ +Š~,øŸC=2¢l®aî:¸6¹S\ÁÒwL%!µû8íâÓVŸþØ} +è?•Iç!(jޟ4¡„­ÙÑMãò4d© ªgêÚǎš&î{޳2þìÿ7fðgÖêë.6ô{`ËI_«Ì]™8ÿăj=F<5bµ-`=Ôw¢Ùñ!'*?ïv¦®‰@¼÷ýtù åT+³€8fÎq[uŒÊï:ñ©[QyOzý¡ÜÂQ æîv¦E™§¼Ò{±ãîöÁúÓ¦‰pæ®Í<§¾+Gã+9G›fƒ»©ë3P$Oã°÷çžæäù­X _ð@6ÙVuô)=zsx§{ê7ʳE“)öäÅsýÂ[ß_{ë>² –Tþ–j‹ÜZ-O_0¡"•w4Ç1#ð[O4ÇøOÔÉø7(,¾S²ä$ÏúçŸØ\óÒ¸úÝ äz‹ìÎ6Í1ÿq1G=4<‰÷qm3Þ9ôj7S0Ê ŽHï⑀cùàFDÖºeéøõ4ÏNTÞÝ7OU4_hòpŠêÏëéĂçŸäÝMóO|#D—Ùmçm²hëÞàJû;æv¦­ƒ®w™*§À•=æm2êa™ŠÄ'Äd%Ý6µÌC[!O¸yãÝïº - {’õ=OÃ'*ÂõD–¥U +ô6ݬSÿú¥ÌD®»ä›Ô:yðîiÓüet¢®ËÈQñAÊñæe¤èîBÉûBÉáÎm /²ds‘#4ÔôœCÄÔäIèVû‚1W…ט›)y†iæ<{kã]çôÆ{¥æ3WþïL;4FM"4ò„zº æŸü¾¬±¾QëVY9Úº +Í]› +Ð\$Îð-i³œ¯û“—B·Žxj´¿kwæ¾Õ]÷³ò*’2y¹ëïYµÅvúç!¾j@Oíö¨—{åÅ7^•£g-^ü5—µVJT+•,Ê?ÓJ£ ¼˜„¦µhZŽ–ºz60E¨ý›•Jk1ª• +u✕Ê*·ÍNôOUÚDÕp«'7‡´;á€×w}‡•*†{ÌÀ̘´ð¨á[A¾à'VªÕãûz¼·R鼪I#F='žíqÏéïiñ‹gkÄêDmyÐÙ¼ªI4I#%£`êáoÛ#ú{ iwÂ[N^‚뻾ÃJÅh¬“IcÏø¥¡¬aù Ip÷ø` ¯ Ÿ[©þâ%ý}+Õ«K¿/hž­T__×O­Tæ ¦»DŠ€Ã"»TG ¨­E a `’§ˆLÙäeÄq#eUî×X¨rI¾%—™{®ø=œIe ›J ºA +Â+ô–JÅ+UdMØ ‹˜U´Ü±k™§×é°TüÀÜq…H8Ò,MjKÝà™i(Á&®Ë`a#"9SƋ²-•ƒU *:eX2{ÀÈ|9ð*úÂ^Î6LBíÔ‘‘qÖóuÅEº–ECÊZ +M¨+әƎƖÕrn "}p<€h>²MÁ¸ñ‘pSÐB‚Pß1ύ×fëjûÛ´_úٖư["ÝWÍ,M‘Cd½  ×k Ê”í‰4CYRÄø”ðž!¨I±À< UKSUï¨L\¸©õ°Iñž8ÃrCà‚ˈ’ÅÒÆ³mµÕ|@I"néÂêÎ`p¡á$´sª §wÌò°³%P,Z4XÊ!BX¼ÍZÍT^Í`ky:Á[lÅÝ +S€B +aF¤Â"\ۙhóƒXòwTÖ¹¨ÇPûœ¾&uCŒã/¡EÃÀQ¤âŠÏe–5‡Ê›n æ¼zpåÓÖÇ=ÓWÅPŠ×à#M:VÕ`RyTè}Ö nèËBòf3ëÐ#m;ΊWˆ> Õ€1¥•ýÂÐOŠêÿùãD…7öˆzžZ}…A“ûZQ*™“›'2õ#Z¼:Ǔ¬Ä ˜Pð­N|lâ¤çgÌ|ôIû¥‡/Lkˆðg¶Ø­=žhò9dD<¹žÊL®Û™*C?BS¾1`ö”_ç{S9d?¦s9p{½ñúzö v[-™ãÑ[ß_{ëótÏ fd.w¹Ä^‹£òæŠASXù1è½¥‰â€‹„®BΈû/Yðt§³8x܈gšñ@ì‹•üòv¢F‰±Ï¢ Kô9„Ìӄ­À0\ãÕ¸4‡BXÀ§[XÈPýÁ5Ñ÷52•=õSKˆ/ŠXG¸ +…&Ç¡«a,ÿë9 +ZT²>Õ~‚§-LYJ 7ÓàA *;a"ЈR53÷[Dw½—ó¾—[´¢®eEbE³¨š°¦³»Ýþ¬\üSç,k^!ªiTˆÒí,UYÌB¨ia”"ˆÒ±ÈVš Œ­‹¶S–i·,yÉR(­ÓǙæå«M•ynKQ«™´hfèÁ"’b±]aUe>”ßÒp„& åå’Ø \푫§ +×ܙ‚†ûìhëvÝw¢ò&¼¨ÉÒ$…† Él¹J¡q~¤÷¤åHòPȘ_ºÓ’b3á€*ËAÕ!m¹òõÈÏ<ÏèåL‘§Û¥g‚Ò¤òü«ÌÔ««B¶<€Ûu¨§‚hUÓw„$P½ëÚBâ$/èM›÷a¹¿ ogjQÀ4} +!ð¤À©û]C‘3r¾l× (¯:…>Ùy¬Zž6D˜Ë-c4•è'ð-±ûìÞ 3É.¸ÉΗáíD•{¸†œtéÍ\s“~YžoÌ-¡öòQrÉÒØž<&aº¦/¾øÆ«Žøì±óK´«ëR]˜²!*{±ŒM£Ù4 M­ýÎÎV<²¬öoÆ:-ñªÆ:”ŸtÆ:+9;Ñ?Õ¡¥)Õae*çv'ðú®ï0ÖišóÙX7þ!þÒµá[‘åøÌX·z|ÿB÷Æ:Wµì ò²³ì¤|6£äVª¿—áól”)¯Ôö…Zv¬|/-;(Ìë,;¹zX ûS÷ÛÑßkH»ØJÿR_ßõƺ”ï¡K÷Œ_ÊöϐgwÖðÚð¹±î/^Òß7Ö½º¤å p´Öé½±î«ëú©±ÕȉMr2Ö%dйyU=!•SËfj•B‹êQÕ¼XI`ŒhÀê!x™¦¶‚°` rl>¡K´©QwÒ& |ŠÉ-|E™È-BüÇ`ÊÑè©ëZNƒˆ¦æ±þ¤ñSàèLÉãŸÈDtWvsZe2Җ˹!Ð(Â*b€¬{ùÂ4‘_꣡@9i1ËÓve/Æ)‚§Ã‚M-BÐv*•›|è)Göސê,(¡Áq,%k}ÈL”™0j«Æ28¦ñmñ÷"?ØË³ÿo˜ü*”®QUhòKWÕH1‰𒠁1C¨0>VÃmàBd‘<ºuið´=E'*wÊ&ˆx$nQ¼Á +ì"Oñ 3Èiwdn6¦ˆI!MU+’áÇ¥–>ÙooƒÍ€ °À«% ï ò°5HÝÙûZ°‚=A:•¨Q¤A”YŸ-$ˌð´}\Õö‰#À›,Ó¡oPËo +Š3ȱä0̓(ŒÌϰ2º\¹Ð)±Êo=/ðe+üQëOKªîl3³ÌeôæÑ—}#?|ö ”þúÔúó¥·¾¿öÖO¬?~¥MééØÇ™ŠÙ +o‚¡è*Ä x Ûó¬­HÊîV{{·L0Í.ƒõˆ § %›Í¸EU®dS*H”*q[E”ùŒ‡ÂoœhzùoÂܞ·õ@JÅò~̰údªŽøìj* ,ÌA«ž¬® LÖ-·GÍÅkýŽi9û&Lñ.\KÄ7„–áÚá$ÂɁDÞ]Ôî¡&a ­Ï݀´©Fæ½i: '‚²ªÛ‰*¯c‘M¾Bñ8yÖÀzí‡eðŒÇÌIÿ)×R/Ó62áú®q2£®¤2o-Äîv9ލu]Yв򿂱˜¨(7Uþ6ÍÛÖWz*k˜FÝyC¿¸T¼¨a?Òf e9éXÚD¦Ee+v‘•}£½œxς…!ã² ¾[2(ŒÇ=EaUH ˜·G1œ4»Šcä–ZYl” KýLÓÅÞ·ç=5á"Lºónp-ۍ+k>ýq‡†aÔEw8U|ùuåÎæø`;ü9SD-÷-s:6œ®bî“ÇDÞE0ò‡¦ˆ/½ñ*?{ì5SDÏkN&ÆüàçíG<&þ)þfvJ;LÓç_••ÒõçAg.w×0ËÃ~J³Ñ*Àש±#ÿTcæóü ÿü¡?é0æÏ5Žý<Ƹ¾ã㹕ߵ< AÚ!c¥ÿ#B¾´û—:ɛ¨CŸf§ïŸvª¶—Óæ¨lHé3\Œÿ0“é$êOõºóç0]q?04Ý„Òù<jÂh²öNóz^ÿâfÐŸÜ ü¹Æ±ŸÇm@”]ßñ±ZZßUK)ûöñhÍîÚ­5;>56ÌN¬Ù¥&ëCSÃ_´„¿oYx} KûŠqýVÜ7¿±Ž\ÐŨÖèZ¸¬-²[Ê.E¦ +%ԋ(¨çIÈg"ˆ¥#‚ÛÃ¥}#Q+ t@¢Hlô­Ë‘É©‘² Èkr€)ЇV#ñx¤æ+9³7Gs»xӄ{”®3G0GÔ½ßÓ$#«r)À§ïšu ¬/GÙ¬mç »y"¢"!âãÅÖk®êuK<9LíË5Ôwœv§ˆ±°²ê²ÍO¼ÞE=Õq=8G¯½ïzC={jÎÉç¨ÄcQ¹ŸîC•ûð»åþ;y{ +âS&?–L¾åöäòÔ_I¹_á_(÷çä¡éÔ 2Ÿç_*ïèOÊ;ü¹Æ±ŸÇ×w|ƒÜŸB¿—û+«IÄk»·ŒèÄç"ÿêïýóþîD~›JȋȏØòbŠ'9-–­7•­7ä½õ¼ýËS^Ô©¤¼˜Svò"ã3×óúW×5Jsh çÇ~c´Å‡¼¸¾ãDþDCÓI^\Ó{ßËõY݄Õ߃庴{*íÿE«÷ÛÒþ‹«w|¡n»¼ô¿º„ +ú҃E%Adið`Ȳ–ne¿1ƒH£thÁ˛„YJrĈrÝt±ýøK*LtÑ‚ÍÊ¢²3cye9P“¡ 35 È#Ûeh³Tï$ò]‰º†úôå€è°IÈ©„Γ€Œ'03CªÐx]D¬¥#8’<ÉÈ÷Z}»Öͪɪש¼”†Š-a‚?'¹ +Qá#ëæ¤a9žµˆWš[”Ÿä)FôÁ?9Û°ð¢u=´@㢴éqr4€uôoX‰…ÊÈSúºÅB|KZwT–Kî§)°$í¤Ð=µ‚|!&šÕ¾p3 _(?uרž£4EÓ.‹ê5²TX5Vy¾S×!1#&’"ù 1Èñ&1Ë` ¡#+A¹”Aâ9Ì2ê•Á†Â Aü¹×gZ‹D¿pDD<5‘02,ç,^U³ÙË1Þ1¨ì&QSG—úÕ£²"Ìȟà³'ìQŸÊßQVSóÊäà†ºdFÈ2jÝDòVtÂûœ’éè8³£³ž(¹"IÈÇóÚë19Ô?( ›²ùߦeä©óÆQ7ç™Ù*AG: +/£Ù/T˜+æI­Œ +ÐX+üG'ãl%™t;»¥?([[¼Ü'“ô‹7˜ûïv£®Ë Õa¡<9Һ©0&Wy±]…¬J3Ò±¨7ä\1‡9©9 «¬3‚» ^€ˆ¡Ö +mÝàcz«Û£K}¡“º$ +ÐåNE„Í}&é§?X“ˆý C¢–,ޘ‚¶e§{’cŽ‹(%¹(v_óŒ>8ËD«&?Bü‘c+t对±¹Ê|?%ÂßøÚû®âà³§æáþ\«.%N­š²ªU#2okÕwÚìTs§Æ{,wkÅÅMj.µj¾NµêR=¶£ÃÏçù—êú“z®qìç1Æõß Uç\/Zõ@=¸ãÚî-÷ú^üêïýóþî´j›JèedÞzY.'}¨¤9ÙnQ®êI¯ZÏSçââS/Ó©¤^VjtzYA +Ñz^ÿêºFaîþ\ãØÏcŒ¶øÐËÖw|ƒVmûn<»¼hÕ_\µjƌ°Ž +a>Ĝ㻈 +Þ4ìÊìMîd¤QFtU†£Pe#èŠzˆ -.$\_Y$=©ªæˆG‘¹2Aöt·Â rbüø‰ÅìIpÕñ­»\WԀ€6…ˆCD­jî¹È½ÿ- ސ€C*œ&Æ~`fÑ`@l².Ö»ê™Q4I$ƒ!k\ã0¡<±Z4&4°hÎ"ýúx&EFtíšEŠÖ´j)±³Ú€SÕ Ï±ž^éЄ2d`iú&J$»t"%­Ž%G³f?ÞNDÈÖýM MÎäX \X9+6:|Eê8 +UÁÝÁ -^_¥¯;ˆÈ;Fm’ aHLk_Ä·™Ê±‹˜W}¡Šò×Àåt$ avb ybT&ƒ+’qè¡°OkýCÃÐ +³4d?"ZՔá'±gn!p×ǍÂ1ÝKžÔg%sG„cSîù\o¬„ÉoZo$_ +bµˆ2G(ÂN-™ ”Ú;PÝܑè"£&à‰Y!Wú—X|_‡ôËÈ4&¬B_(‡2ӈýÚÌÒs„Æåâ>-]Å|x@]h¢5rŸP"‘Éo,ÂQ lŒ­dpâky€ˆÁ){ÍQ…qG‚!”f‘3JÆÍ#”͆¯Q-ÑqPÇS6µœƒÀ¨DÈé„ÙÃaBMºB.†ea1Øü-äxÝžø‡<Ç{›‰¨K„fZ¢~Ð\äÓ½ñFÿ义 vW'üÕw¾¿ôÎ=9ûš!~"¥øš¡#'3:ÓtAáÝ ·°¨;,Às ÖP1õâ4 ïi±é…Møµz Ç]Íg,˜j½ªeÀ“öØDT,ÂÊ Â§§“§ËÂ<¦?¯yM櫦=‰(B0O`åVGñLb‹æŽ¸ÎZ4–³_:I2%ÁÊgn¢ÞLÂGí2ˆS¹«Ù5Ё€+N®4²Ú“wuD8䲋W5ôä<ýæéy3úÍýóbô02Eg?ŒT—z%$!¥À;L‘(j†e›Õh±S4£wN“ëó…´LuQ<Én:ebwwâíD”DÎ5rp571-fÌÒ.4 ‡É +‰ëY³€ Çdµ’@–Pà/÷Z÷?£py®v6nZ‘8²‹¬=h÷p òÐO½è˜ñNÖçf·%é8Œ¤7YQ¬â\þØA‡ûÀ ïŧ´Ä'X‹C¯¾P”MC¾Hʞ䅶M”­ *‚݃ͼEZ™ƒ» {ÙÎSVñB$#‚—r·8}ðw|x’t´,ðn‡ TÅé+­ ÞLæ шÂêÅAâˆD¯™|b^%Ž2oœŸ?ÎĬâà¦e†à­e®=C”é®ñã¸éL<äê"ìxæ¬RŠ­Æœœ«òñSÐD®×Èkï»ê&ϞšŒósOíÇ4ñÔã˜&žÒ«3ñܙV¦Íeš_Že~Ù&šîQÙ±šxø:5ñÔás¬æóM ŒxG37’<ÁŸkûyŒq}Ç7˜xJË÷&ٌrÑ=h÷–Çø¬öÇêïýóþîL<6•0È¿ÎHPúI9ïaÎ_±¨A®êIÉ_ÏC§Õŧ‘@§’F‚:g$`ùõ¼þÅ} ?¹´ÐüÇ~c´ÅÇ%²¾ãL<…Ð3'#ÁšÞûv²\ý³2«¿Ëui÷ÔÄó­Þo›x^\½ò…ŠìòÞÄóÕ%ü,ùR ¹êަ ‚ÂJs³bˋ}̄ T-ƕìIM‹óÊÜnbLêT“uÈœnžxh àMª¯9¼ UŠ&æI"„0èâ×OÄH¶ÒÍL ñ¿¥«ù‰‚c® ґ<$"Ø@HmÕÌ[+äíÙ +U¨cH.˜’NT((F¬½¥¥£8’ ^ª0(mWáØ¢P åƒÝ”Öµª› m3•<5O'š'+뼈ŒneÁBXf*¤ O&P„ÿÉ#Þ,s¾;[˰_:I§á¹5ÜĹÎĹU0+ª>­ uÝx3ËÛí¡ù}ÿybŠCéÆ*¹óÓs}üExþ­YTË„ ®Ù¤Î5?þ7žÔ'ÏÑÙj¡]õ¯¿óý¥wîi”ì¶@k €0® ;‰7Oœ{ùD„Æ s0¬C“Õóõåu€òòK¯v¹ÍCۙ8Üÿ$-õQø¶(¶3Û9>(`3VR‰ï•x(­©)Üh²dü‹nçI›õ8⡵RðÚ¦„hqžáµu‚òÒÏ&ñæ‰î9bVØvN }Þûý š$ð”}¸k·cõæH›uo¢ŸãŽØfèÆúbD?·(œÈӞ´#ÊH»œ]×ÛÜV¶ß¬—-³1ôÑïÌ=a5© ã4‹n»^¾®yñ˜Ötڀö§»e®ÆU.øø)ð…×Þwž=5Ü—²UZbÊW‹}*_-d§|•ž¥ MÅèXŠÑVž‚GÝbǪ|ñuª|õ聮4Íy>où+xÇLÁÉgÍîç1Æõß |µ#Þ+_"÷vÔk»·iî¹òµú{ÿ¼¿;å˦â{ ͉ïZñeŠÍük*¯c+¯^üÞÏCÚÔŧø®SIñ]d/'¾÷è³$õ/îýÉ}ÀŸkûyŒÑâûúŽoP¾Æ}ß×ôÞ·{+Vý÷+ý=X®K»§Ê×_´z¿­|½¶zGÿP}ÓKò¬|}u ?ô¯7ªº²ýë a5{SCºÙ2k&@q4¸¹4‚ 6L ‰nôàõÇENݒIQPþñVxÁc“’‚>ߘ§†eiÔ2^Ø nr‘äID«8²ÚÁ³§ÆP«àÞà²Ñd6h2m¥à.e‚ÄL •vØ î&\ƒƒI“Þ¦gSFçŒ÷ 7Qg*Ë^ïv€ÁU<ӟú‰RôސœˆC eyâPЏֲ…¢Ó#M‚‘új“d$ááG?µ;   å.,±E§g‹èl€¾5’‹,l£,‹Zö°j`rµÜ"é"˜ŸaµËobH:^D–µ9+Ú0džx +a‰Tg±âåà: ³vsÈtDÂ`·ÕÊ|¤C†¢ûOs ‡å£°;Ô=VmËÖ]mô #\F…áØ9݋ø2QvNï†ZnéÎéݘ<Š÷˜·1`™VŠJŽ„ì€ƒþ"OŒ0è£Ýòf!qîo÷ÖI’¡ Ã5žÚÝH̄ÁF¸«Ê$ ۚ¾@/¨É =¢#‹–ݐ”AdEÂ6®Óý²Úõ5yˆT…«²EŽ%É*s'¸í†Õ ï.p»ÿw]DÔlßh6~ëíH6¿“Ñ  à+W8ÒÆ +_hlv(Ÿ+à8É0‚U¹À×me“]ùݟösQ·„<†}ËÕu.ÜûìûãDŽü™çü³7¾¿òÆG~óÖ±-È êU"Ô68©cdP hˆPO *ã²Í&é—îPe¡»]°b +0Ñ S ,JK) ÈÚ?É  è ÅuöiñDi·äˆ vö +CÏ=ÅÑE„É á2ÚãɓîùÂrÃ{²Üð5r}Öóìo)«†8AßÁˊBh`BÐÝg(ât°ƒ…ÖÎx¹ƒ¶ö62ŽÕàMƒà–Ì艥Íáé¼* +A­„yçÉÁ½pý¼¹>xó¨§vÅJF‚Ä\x\+¡ÿÕà’Þ5Cï!Ÿ ”ŒL=¢œ‹»ë­­ëM–޻ӵëa^–¸BFò”y§þüq&òö½y"¿¬„7XÆt†û+9Í1b- ³Û!‘•e›+&3Î#h5Ú7@›vaU‘¨˜õhÑAí9º 5‚äw2PX2.I=ž»]œ"–ÙRe +]›‚ò0|¡Üµ˜¬Á'Ñ7!5O Ú1 Z‡†^XÑÌr˜ËÕêxíöcvÍç¿Ú!SNsëT‰¤50˗ø^!Šƒ+ÍLÑÀ³ÚHó¦êÝߔyŸàŽIw÷ÎÍÑ`šE Ï}à±Ì(}›Ò?øÞõŽ{ŒÙ?l=®Îñ)èøh.Š—ÞvU+ž<ôuÏøHugz©Ó8Ó³‡»3ŠLkÉ4œËp²+ÙC‰±c5Îðu*ì¡ÄFõüKÕSýIõ”?×8öóãúŽo0Îôté·÷”¯íÞänú Elõ÷þywÆ›J¨÷={ªžNjuZT=-*ý¹Ôóì!¨tñ©ÞëTR½ÙCPâ“Úõ/îýÉ}ÀŸkûyŒÑ·çúŽo0Îh)‘³z?§÷¾,Wþ @lõ÷`¹.ížgþ¢Õûmã̋«¾€Æ./ƙ/.ágžñŽpºa’¹’wdì*„Ö$v¤ý«lŒÜ>@wԉ޼¿ä+D †ã£ãZÖTú<´#ÇTïóÄȳáI²FìMVåD¤ØâH"üP2Å ´~Uæ›w@bPJ”/óÝ˔Œ!Hvj,Åà¢xÃwÀ~f盨¾ƒI¼y¡Ä +S*º \ê› ¤}ÔnÐAráCj0Bq Cì"Lý›ƒâD]lÈTò¤41 8d-õќ=± 78¶Tf$y4D­uîÛ¡’»5ëÀaäV‰¤Šˆè©‘u–í-&XG@d¡r£œ3z9º +=Y2,™TYG.kL&ÅÍM’u"Qº®w;Xަ©áÀ+ÂшÈUƒšRÂíahr¥ëÐÌ5s_ÚäUÜ©*µ!m¹1lÝi]r& cû°Cjµ€a±xߒŒ„µ/@i莈ùµ˜Ëzh)"™ÈCSEÑj^º„†‰ ZOqÖ8‚ØRëžDåVº3єGdtfâΉäʼ&FÂÊV<ƒ1±¢8FDŽ¢õ.ƒÆ-³ ]yª‘~QJáFÛD ãÐQã0irr=%'Ž󤨔!`–ñ¯·Lœ· NS·Ój×ã¼³´7O™W›r—»Kðv"Êi-`Vy™=ôBeà2—ÀšôQñºFn6ºpQ¿T“ŸÅçÁóÚû®ªÐ³§z~Ÿ>0‡S­JDÂQ«Òh¨òΚSPå2þ˜Åg[…šªdÇjUÒ÷Y9¾£y¨ÊptÊ¡8·þVtnþÞpù»bé¯ïùëÒ(ÀJèd£Æk»·ø¹uiõ÷þywÖ%›Rˆ«£yÈC­Š¹ìuAêO³Îì ÍCê&à}jsI…L³= k9»°?»­ÕÂ=Ôßn}wB,vÛ äJó{¾ÁÊ4êúpMó};,ÛgÀ•«¿Ëvi÷ÔÊô®âo[›^\ÅüËQX~u)?  +E•¨Ñ¨"͒:*̄æˆB‚’DŸ¦H+9„p¦I;TûõãDV­4r¢g!¡VH¨*¬WoT"–åÈ4•:\5¢†€°.iœ²öÐ&ؤQ$Ë’#Žaq¥šŸŒÚʞԧ“ÇQßô6ݛFrû×Nžg¾EÅ3¤&êûyxŒ“¢ÄÈÅ +(CO›0ؘIGñTΐ¢U¢Gª¹ì>,b¥WäTUa@/Ó ÀŽA|åLâ.*1Aˌ쁦 _îë¾ø¿µc³ø°7bwg,_QÖ´ØTNÏwú³Q|è“'ñåÅ·¾¿öÖ=A® ¬ß I»ýï´a'•Û8hQéMŶ›;…¢§ø »‰™ÑfڙƤOÛß¿vÒ°?€®~ëIå``½Õ4@³Ö¸¨5‚ÂznÊ$ÔváÐN|{sGŸ'šg›š5G#ÌÒ&‚ +ÑÝ>œ4< 4J=V®%ìÈjsKŠs*4 »RÉ (eM0|™ž>ƒÞÁ׳ò¡šÐ$,8ˆã» ˒hî¨n* pÁ;„† uìò¶kXh .Uó‰DL¯¡ùDeU§Û™:ä~AÅH¼&• ɐK¡þKƒÖeŒYW;N”' ò#æIHè[Áç‘۝ˉ†r[sxG…áv"Bl@ùiLNÉÚ 7¡MêüGÀ,hemsª‚«§M²7b'bÖ$OE:@€åš +eÅÏ¥©^h2A9u› +N¡-g ¢åàZSᑴcpåêû³ Ÿí—¾ÙsÒ w¡ÉžéŒ'† %qO4X#³}§2Bòv¢F m=ôcÀtõ@Ȉòt c×AÀµÉ5ÁÛS:’–„Ôî㴋O[}úcÝ)€ÿT&‡ ˜yßhB ÿÎfÕ4.Orß  +y¦®}ì¨ÁpßR:,œc °“‡/”1ƒ?³Ö_Çhl±¤ß[®H‚$Kîc ÿ´?ñ ‚ZOXmKýÜ]=pž6‡Œ9Qùy·3uM⽏è§ËO(§Z)AÅæ¸Íº “Êï:ñµZYyOƒaþPnᨠsw;Óà¬ãE齨q÷û`þiÓD8s×Uéô“vWŽÆWrŽ6Íw;S×g Hž:‘öçžæäù­X _ðÀU°U݀¸w=d“ î©7Þ(Ï ¢ñؓÏõ o}í­ûÈ>¬<XPùt`n-ÖØP‘Ê;šã˜ø­žæÿ‰:ÿ&6Äö“ÅɨCJ–œtbýy³~ h\ýn„ð»EVg›æ˜ÿ‰¸˜ÿ¦¢H u\ÜǵÍxçЫÝLAi˜œÉ‚E—x$P§áàFìܺeéø=ÑS8QywßNÔx(_’·×éÏ átôæŸäÝMóO|#D—ÙmpÌÛdÓæ½Á•÷wÌíLmZ]ï2½#€]zÌÛdÔÃ2#‰OˆÉjºÃAš:Š™‡¶Bžp9òÆ»ßuZ@÷ä„ +ޜó¿3µkÔY–U)àmº˜‚ýõK™Iî5ù&µ.¼zr4w¨ë2ÚT ¸ÊñöeÏJÜ +\¿íÜò¢–¬@. r„†šž3`ˆ˜š< }Ö¾ X*¯17'²q2L3çÙ[ï:§7Þ+5Ÿ¹ò'«8QšA‚ha!’Ï7AÞÛQ6BÕ² »QóVٝmÚ¾ +Í]Žj‰3|ËDÚL§«`þÉK ÀOÜ·®ÎÍ]÷³ò*,%U&ážU|QOÿ<ÄW èÉcP…®÷ʋo¼*GO›¼øk.k­›¨V*Y”e¥ŠÑƒ^LBÓZ´,GǶ9SôHÚ¿Y©´£Z©P'ÎY©´rÛêDáHT ×ߪ†[=¹9¤Ý ¼¾ë;¬T1ÜcfƤ…G ßJMŸîß¿Ðã½•Êæ•&=ôœüy¶Ä>g¿ÍâÏֈèñçl_¨IÃêl6]7A'zûS÷ˆþÖ=Âß{H»Øö•Üõ]ßa¥b4Öɤ±güÒPÖ0~†$¸{|°†×†Ï­Tñ’þ¾•êÅ%-ã ð‚Ú靕êëëú©•*Â<¡)Á;‘" À°È.ÕQêF[QBŒC’§ˆLyÊË¡0eUî׈êQ¼@“|J.gÅCþ¬'ŽÓ<– HA‘¥ ûXTnlÖ4ŒÉÑð0rýµÜ±k™§× b,RñÀÜ̳–Â,MjKÝà™i(Á&®€A'R‘œug£F´¦r]¿¢S†€%³ŒÌ—¯¢/ìålÃd!´ÑN-g=¿1PW<âMѐ2‚–BêÊtN–n*´:sn"}p<ö‰lSD0n|¤ô©ô€ $ÀvçYÀ£ñڜé֛öK?ÛÒvK¤ûR²M†"ëÍ ®×@•)ÛM¿ZD´‘”ìÔ X`'Ú°BÒSë©L\¸¨•õ°Iñž8ÃrCà‚#SÞbieÙVC9< ”«:†.¬~á NB;§ÚpzÇ,;[Å¢Eƒ¥¹ƒÁÛÜT=4ØZžNð[q7M + 2ybL”ÚÎ4хää1äLem‘Û‰*Ò<ísúÍb—]Å_B‹? ˜âŠÏ‘¡÷YJ;ËüébΫçW^1m}Ü3}U ¥x >%\UƒIåQ¡÷Yƒ¸¡/ úÙÌ:ôHێ³ârŽ´0¦´²_âIæÿùÃSïÀ­Û™Údç É}­(•ÌŠÉÍÆ©z ûI +E®#Wˆ&|#O›8éù3}Ò~éá Çß"üYí¼Û¯§A=#âÉõTfrÝÎTúšò €qS~YœïMåý˜>ÌåÀíõÆëëك²)Q6õ•dŽGo}í­ÏÓ9NÜÀ"s¹ËQ·GåÍ3ƒ¦³òcÐ{KÅàpƒ²0ɂ¯ˆ ƒ<–ÅÙ +<â‰6y öʼnJ~y;S$Æ>‹&,Ñç2Oކ" +•5¯®†Ra6>ÝÂB†ª®‰º¯ ”©ì©ŸZŽcb€Ö1P£+tÅ΍ÿÆÄzŽB…•¬OµŸài fT#Ã:Ø4x¨ÊN˜ˆ4¢dÍÌãý‡Ñ]ïå¸ïe@Y©ÇՒõQÍ"kšÎNìvû³rñO³¬y…B •¢t;ËEU³jZ0ʈ¢t,²•¦Ëcë^ș4î–eÚß-K^RR@û8Ó¼|µ©2-B#ª/5Ã&ã ù’ЃE$Åb»"͡¥ñ-¬Ž<-/—ÄNààj\=U¸æÎ¬ +!ëióvÝw¢ò&¼¨|B(WbÐd¶\¥Ð8?£kþ#Ï]ҚgÜiI±™p@•å t™¶Üùzägˆgô¹)O·KÏ¥Iåù)ºèˆx„WW…l­rPP»V=½D«š¾ ËþbžëÈ*r=&^Ўf÷a¹¿ ogjRÀ4} +!pÀ©û]C‘YŸÛv ŠòªSá“Ç +ñtzaC„¹¿e&ÍD¥ Õ¥wKœr»·0CãL² n²ƒóex;QÁèBNºt‡º%ݤ_–çsK¨½|”\²4¶'‰’ÿàÆ{ñWñéc¯å—h9V5Ö¥º0eC*Töb›F³e@;¶ÍÙيG–ÕþÍX§%^ÕX‡ò“ÎX§!W'üÓ¬ú[u6+S9‡´;á€×w}‡±ŽiÎwÆ:À:äú á[pþ‰±nõøþ…ïu6¯´ì ò²³ì¤|6£äVj¿§áól”)¯Ôö…Zv¬|/-;(Ìë,;¹zX ûS÷ˆþÖ=Âß{H»Øö-;뻾ÃX—ò=téžñKCYÃòòìîñÁ^>7ÖýÅKúûƺW—4~ŽV;½뾺®ŸëPœØ$'c]B¦ø‘›WÕB´l ÆP)´¨UÍ;•ƈ¬þ`ò—ij+;5¹ViØ4ÛÄ>9Qu'm‚¢©b0xE™È-òŽèÈ4iôÔU-§‡ÁDSóXÒø)²£Ž”<þ‰LDwe7§U&›´êB=«ˆ²îå ÓD~E¼VÕP Œ ¸c´ mWöbœ"8<^ 6q4 Îu¦áž©Ü䛐 °oHu”Ðà8–¢UP›e&ŒÚª±‡ Ži|Û¡øˆk‘l‡eqÿ7LþJ×(Ž*´ ›’+$øH1§XS’!0&âaÆÇj€¢ âŒZ$n]Z ÍMщʝ⨠Á-Š7hÝ„Ù„o²L‡¾A-¿ÀΠǒÃ4¢02?#«³Ÿ+: lMùÚ |Ù +ÔúC'º/7*å¹ûX†t~øìAQäR~jýùÒ[ß_{ë'֟ ¿Òˆ¦ôtìãLÅ< o‚¡è*Ä x ûij–")»{ÌÚÛ«eàÆ2X˜0½hßÝ¢*W²)$J•¸‚­"ÊüâÀMá7<-ëåï¶=o'ªp­AÛ _q„Ո€Œ`ÿÐTX.˜ƒ6=™')“uË~«¹x­ßíFgÀ„ÞÅn‰㦑ÐH‰é䡀ݨöjF ‘wµ{¨I@ØBë‹wEïñ4†AYÕíDEø%¬9|…áq⬁õ<ÚË4à™“þS®e^¦edÂõ]ãdF]IeÞZ,Ei—ãˆZ×5Už Êw@›2&**M`•?GÓÅö„õ•ŽŠŒ£ãqè—Šõ(³Y-ˆiN:–6‘idي]$Deßh/~µ7, —mðݒµ„yŒÐãQ”V…Ô€y{cÀI³«8Fn9¡•ÅF±iZ?Ñl±aïyOåE˜tçºÁQÍrcøðÇB†QÝáXµ=ÌN,Ü¥&ëCËÃ_´„¿ohø%Ì_±5°ß\OÙk_]Çñ.èœbMƒLðpY[$»–¬šDx™9”€~Q_ϓ€´ELKGI=Ü7µ`ABVa¤;ŒÒ”iHÌ¢ýáJ48 I_‚:'Þ¥Eúõ#­zõnÇeÐfU“ª6©vò¤#ZɕdªDÊ@ZIJѲ¿,ÊV³Uˆ( ž¿¡šBb ƒ°ƒ0üD]÷7IUm‘É?­9ÒO·‹(ý1@~tÿ0<+”a0B–Gp¤£ªÃIú[ĵD·q.%^Á”Œ½à׍ññ•uäj„Тð‘»zTuxÑæ7ÙgžNÐ7ú“ç@w胗*!_çûKïܓãî9·ˆQ;•#å–;î• ¦ ."<ôuÀ.•e˜öÓQtóÀmH«‰zÐADÏÒ_Fö†Žj¢Á‘ug(ÈÆ Ÿ?²¬”ž Ë€;Ò>-‹Ø"cÎFì,á.írDë>¢"õßJŽ;5’°ÉÁŽph50Gj¾’3{s4·‹7M¸Gé:sÄvDù­Ë6’Œ 5áâwÍÆ:֗£lÖ¶ˆë„ÝNÄ¡Eu##št½æª^·ÄùïK‹¨qî8íN‘j‘3¢Ë6?ñz}ôTÇ}„¨»sôÚû®7ԓ§Öœ|rAxUèMT5 ¥Ã©wâ÷”ËMD79á,Æ'˜§ÞLª|ª9y¤:õŠÌçõ/Ê;ü©òŽþœãØÏcŒë;¾K À"Ü©•¥9´{Ë5\k)<ëôýóNi6³‘=±ÅÇOb[,[«*[«:‰ëyІ9OñQg–âcNىŒÞ\Ïë_A—,Ím¡?ç8öó£íˆë;¾AH0CÅÇ5Ç÷ídáŽÏª*¬þ¬Ù¥ÝSáÿ/Z½ßþ_[½Ò¾PUA»¼“û¿º„Êý nŒY‚ÓàߐeeVÞŽ˜÷ÀÒÙ5´Ù‘`Jc%ODu2 "ÕÞJW.ìӌÄGÕ,FúÊr bCAÞ&Š;2ÌG¶Ë8ÔýÑPbœJˆúÄdC=¢r@’Ø$˜6aŸó$àèʌÌÊ24š‹éŽ$O2.¾Vß®u³y²`a(,'å÷ :.Œû ádöËa ,‘FÓ¥ÅAžb¼¼—³ ËZהü6ïW”£5`ë'¶Ò ¨^§Õ1‘—Mã5¤¹¤UISõ”_’nƒÁ§ò£`ÃjáZf¸#¾0‹š(½¢ÈÕg¸ªšpùXÔ6@ü¡²«‘°"Èžª‰ù8´þ¤àÚÀñb1‹` ¡ #þŒæ`ˆ© !ÏaY‡xx¤Ê“€ˆM6r¢ K€¨æˆ²°Uv–¼¶ZͰÖ̚ŽñŽAÝÑ»Œ²KNâf¡h Ú1]«Lp=eü¶ˆ°¤‚ç „Ý‘7>hb÷ÄC7±ëmžG÷ÖIúùè0ÈÛ^ÓÕ2Ò9ÞP¨ú% +Â{£c]‹zbxodNOž“奊^tµ¯¿óý¥wîÉÙüÑ/bÐõ6ðöÐ<)˜ç µeEÊé\nFlâè8/ÉBbÍl—!àùŽ4wãÏg"¶ííDSí&³ÆËÁ#õÃò1ëæÑ„1OY·b ]Í1ÀˆÂгiœ—×£ÌO:†o#}f^8JdT™U”æÐ˘”†Cøª–™Í@\8ÈyÒY4Ä3;:«’û!΄|lhÖû19 ÛdOÙüoÓ"²Ø N +2Î;f;&³…[Š—ÑlVI“Ú€¿“ {(|#jà5ÔÈã¨%™4øMæaa´ý8îï“EúÅLaÿw;èÂv9º”#­+l‘zÆ«”'ùU¶Ù°Î‰D„þçŠ9ÌI%YÍ`Èî‚:x¼Æú¸‡í²næËv$w©o"T´C—Dáۡ멈à¸Ï˜,Éó©1YœƒŒ¶^4²xcz閝îIŽ9nb' +ÍîkžÑgù(ÙäG¥žØJ¤xcs3?æ*ó}ü”=^àkﻊƒOžZ‡ûs%»`¿«’Í0ZU²··•ì;åvj½¦Oyü¤$C©ñ¹T²ù:U²Kõȏ •_Ïë_Ô+øSõ +ý9DZŸÇ×wü%û¬âæ\/úõ@µ¸ãÚî-Cl~ã»ú{ÿ¼?~“»Ãt*qs!Ìyëe¹œô¡’–‘ÂnQ®êI¯ZÏSçââS/Ó©¤^VjtzYA‚Ñz^ÿ +ºFaîý9DZŸÇmñqT×w|ƒVmû®=Z®ûvX®ÏPäW–ëÒî©Vý­ÞokÕ/®Þñôxíò^«þâ~¨UÖ!Š]eM֓ýïGAwì"f¨© {3ïMîäŒâLŒ÷j V¡Ê–qËÓAÀ*ÈÈßÊrm(˜‹*^ғ²jŽxt™IdA=-¼ ˜\+ DKÝ/’<:ð“oÝímM Hnûñˆy ËLG è£D‚¨pH(e>c¹‹@±b@y…QV©SÏÔzÑ" ¹Ò5JÊkIcBKê,Ò/™åb¸‰®]³8ÒVPÝXF*t…ýÓHÇx”éT´ïšnVÇä"L”HvéD +Z;KŽ„#F͍¼ˆ(ÝÑ߄ÙäìAŽ-QÎ ª¯6:|E5u%¢éýÀ×Úõ FD¨ÃåÝI’¡ˆ´­Iï‹xã639vóª>ԐìÔNOBh’Q”:4¢Üdûa…±€aZ3è.††ïP˜¥!CøÑÈVÃÌa)Yæ3bpÜ(ÓÛäIuÖ9wDFðØì³7ºìô›æ[IƸ`-¢ÌQª–±¶ˆatpP©½µÏ‰3jžh•Õ +â»Yš_‡ô[ †ê å`6„ M¶Z3KÏ—‹P¬ Óq¢d©Ó­QH  á¨_vØyY0Š¾Í€ 08…jo´Á‘À²i9Ó¨dÜ<± zfÃWˆ¨†úMäE¢h xi<šÙjSà0{¬‹ÉÇ š 6K#9^÷€'þ!G2áÅÞfšê¡…‰Ú­E>ÝoäñOžŒT½Tõï/½sOξf +cAiŠæ®ãÿ8é¦ "P7ɚITÒ;"Feú ƒ+ã4  ¤$ƒð…Mè¶z *Ç]Íòg…Ž*ÝèY-ž´„# ++(ÂÊñ†§ã“§ËÂ8¦?¯qÍ<‚iڋ˜Õm,a°®«§8&±‰I3K\g‡YYÝK'I¦D¦IáãQo&á£vâ©ÜUí8‰Œ Wœ¬thܵ'-îê‰EzñŠb¦È8ýâ铤LÖ¸ÿ$ÊP`(dÏ~‰0õhj Ȉ¿Åͤ8r/ +_a­ZìÍwƝ#L@ާ0§yƒÉ/TMñ$»é”‰Ý݉7OD 2² Bi톭j1ÃPzaÉgä£+<$®gÍ‚Só‚±æ +üåþëþÇT1By·C(r£¤Š´ +e„ÈbRGÄ%ú©óáIÃúÜìöS-D†¤7YQ¬â"°ƒ5öÕpŸÂŸ`-½úv"yM MVª¥|"9¡måÃáGÍ}¦ñcyfÇ´r ”¡ž§¬â$xË=ÜâtÉßóa#é*hÑàÝ.ÌFM-¸sÛàÍdސ ࢣȂª(Á±fò‰y•â8ʼq~þ8³ŠƒŽ†ã ¶ˆ!]{8†(Ó]9â‡QÕ¯˜xÈÕa°wÌY¥[99Wäã§DA<ÒÝ5òÚû®ºÉ“§ãüÜÄSû1M<õ8¦‰§ôêLuñ)ÐëTÒHPÇáŒ,1¿ž×¿¸ªFQU>1Ü8öó£->Dõß`â)t&œŒkzïÛa¹>+²ú{°\—vOM<Ñêý¶‰çÅÕK_¨÷¡]ޙx¾º„Ÿ¥fgI%¸duτ•æf¥˜‘8KÇôêòJö¤¢¥{en7ˆvpªÉº@—P›¿'Z x#b/X?Dó$@ !èâ×O¤‡O–÷@2š „"þcSY~-Ç\¤"{HD° „U©™‹`›I)ZÆBûÀyaæ1£ ±¶Ë+§£8’ æ˜©@i» +ԗ£™òÁn +¾¤,d!û…ñ#À3'š'+ú¼ˆHGÓr† a²ž$’>dÞ&¼Yæ|w¶–a¿t’NÃsk¸‰s œ‰s«`V¨>í uÝx3Üí¡ù}ÿy"m¥[¢7ÏOÏõñ?E@Xú·fñÌKb£NêZóÓéãI}òœì—Y¡ò¢¨ýï/½sOû£”a·ˆ$ªKµBvoޏöò™84ýP“ñîr€â:@yù¥W;8wyh0PHürä³¾ +Á…á‹yï” °™ •ç”ñ^‰‡ÒŠš’Á&K€èvž´YÏ&ÿ•TðÚFB##Ncxe ¼õ³²NÐ&ºäˆQAÝëòyC¦¾œ #ÿÈnHwíÖ²­Þi³îMtãs¼À›…nì/®c1èð"O;’c@ŽÄ39»®·¹­l¿YMéªMCÝÎÜ6‚š0N³è¶ëõñ™Ã š)Lççӆ +¢º[æj\傏Ÿ‚€Ð/|áµ÷]E†'O­#÷¥\V„–˜òÕbŸÊW Ù)_g¥giC¦©Øv§<ÉŎUùâëTùêÑÃ`i‚Ã|ÞÒYðŽ™ƒ'’Ï©ÝÏcŒë;¾AùjG¼W¾Dîí¨×voyŒÏïWïŸ÷w§|ÙT⼴МøÎz0KlÖ¿Ly[yõâ÷~Ò¦.>ÅwJŠï"{9ñ½GŸ4©qôØæ>ПsûyŒÑ|`}Ç7(_ìï$¾¯é½o'ËÕ?ö_ý=X®K»§Ê×_´z¿­|½¸zå 0öÚåòõÕ%üп¾¬ÖÞ¿N¢fï`‚·<.³fP™Œ`£ SC¢ù¿Ä ` 9uË--Þ=…õ_ðØ¢Øó™r4,㚐ÿj +F¹Hò$UYí`éUçEùÑ ¬¹m"Ðd +yAáx)$–gâÛÙ nùЅåÀMÏ8¦¬«éi{Эʢػ¡Rµ]gélG‘nyGÈ@NÄ¡e´<±)$L¶ŠN6 þÀX›$#©?ú©Ýap]pfRîj +-6¦Nʙl¶Jƒq,²°V ÝF!j™.L®–Š[$]ó3¬vÐÆ!Ø ’èÁؼ¹G†l:xA@dÖ0‰Ò×Åòj7‡LG$ v[E† }´0qsÿiîô°|v‡ +¡Ç + mÙº«ˆ€§XÁ@y ïi& ÃÆ‹/Sˆeçôf&Aºsz3¾xï1g<­yàœ"בpÐ_ä‰ÈÕ,h·¼YÈã„û{¿u‘d(5Nƒþ$ÞHÌÉF7 +ð y6Yú¡ºx¢GbéXÆ47d‘°ët¿¬v}N^S‚«?´`Y#";·¼†ï.p»@tQÑ} Uú­O´#ÙüNšèì˜éX3f‘#âXc³Û,Q&à8É0(ªbª¼­¤bò±+¿ûÓ¾s.ꖐÇÐoyà:îýFöýñc"ŸyÎ?{ãû+o|ä7GNÒ¬ŽTµ–[¢CÁaLó¡À›ƒ†Püàn›MÒ/Ý¡ÊBw»`¥ð2d*Ei¡lÿ$ƒVÜŸyöõDi·äˆØÒóì%†ž{Š;¢›§.#`Až<éž/,7¼ç Ë ÞN q3ÒϏ·‚”©!r ÉXcQ$ Lz¸ó,_‚;‚v°Ð +'=ÝáÔöqTŒ!#Ñ( Þ4¨ö‘]ãÛ Íáé¼7 z`°·ÞyÈúãú“®/'S8v»b%Abj<®•PRÒ„œô®±q:>(™zD±‰î¯·²®·f»ÓµCü€^––pà(óNýùãLäí{óDà‚#X ýjÆr†û+9Í1b-³Û1ðŽ7‹:WLfœG¹€´o€6­8¹@'Q¶ µç0DQA$P~–&IF’óLºÚí⨚ÚRe +]›‚â1|!B‘ŠÉj|}@Qó¢C«œCC¯šÅ2—«ÕóÚågĆúüW; 2·NG„;<€ù2 +Fq0cÕlšCCå‰b7ESïþ¦ÌûwLº»wnŽÓ,xîñì5)ýó€ïýQï¸çÀ˜ýÃÖãꟂþ‡‰ñ Äꥷ]ՊzÁ3>RÆ™^ê4ÎôìÆîŒ"ÓZb†SëÎÆ•ìÆØ±gø:5ÎŒìÆFõúÕSþTõTÎqìç1Æõß`œéé‚1&Òoï)_Û½h{ύ3«¿÷Ïû»3ÎØTBìÙ#RõtR«ÓB¤êi!RéÏ¥ž¯ç©º—:Õ{Jª÷#{D*€˜ìçõ/îƒQ"•þœãØÏcŒ¶øàQë;¾Á8Ãû;õ~Nï}»7Jύ3«¿Ëui÷Ô8ó­Þog^[½£JL»¼7Î|q ?óŒw„Ó “Ì ²¼w;3,z;´`Å\+ ;ªHGÞ_¢(‰°ÇGǵ¬©ôåPhюS½Ï+#φ'µ¬½Éªœˆ[iÖà ´ºUæ›w«ÒFɛ _2滗)CÄW¥X =Š7|NÒav¾‰ù;˜Äk‘J(©SõѬÕOðÀ‰®@d RÛÀÀ4u²‹0õoL»?P‘ED O +“`¡Ã‹f]ìќ=± 7y¹É¬“$âû·Èn‡øvkցÒ.е† çíôԁÈ*L +þõÐ]˘“åü˜ÐËÑ ÔïȒaA%èӄˆÅdRÜÜ$Y‡¤Pº®w;”œ¦†CĞ.ܹjPSêƒÐºÿ(0ê:4sÍ\ŗ6ywªJmH4h EwZµœÉ˜ÃÇsú{W’G®Oà;ôäÇyØÊÛº…×}ÿíg•%•Ê­^õßø©`&“Ɂ@Õüa:`ù5ùAIXû ”†¶1¿sÙ´Pјȟ¾Š‹"J­/YBÁD@0qéÁ* A¬£õN¢ñ@/ÝITãa#RSŠÜ9A‚\aa˜I–2"ðjEÖLj»Xŀ‰î`—Èè/'úrð-0¡mI'D0Cå +¬Zß«1ϾI(‡ÃF.‘ TÀ4{›gq095!Í\Ù®X¯¦Y÷l'á´1ø$Òñsۉ¸„Ö6†"øj°#ŽõÕZ#a}ƒVPšD÷TՆâ+6Òx+í»“TӉvâÈØMá5Z¨†NÓe:¿Å+ôa½>TLÙ9“Â荂ã“çPÊ½VÛïÁ;ß_zçچ5ºÏÆ¿ˆ;ó¿€Íu'Òîk¨á`T®¸ËÝ97Òo²ˆŽf㏠†9N̓¹xÛ,¨RWDwhÓQÚªÖ7äÊ-X[Î"kXåS°< ‹6ڀ´Nü¬ ð¥TÜqÑIÒmë{܈Ø{±ÒŽÌ>\f`>J‹†‰YÄ*yutìF¸@l0'19!Î+0í¤rì˜¤‹ ÊKUsêÌvÁM‰F&ä7Ò!ùQ\|ÜÑÀ¶pªp•'à ¨¯F‡†«ˆ øp¹Á¤5øæ"áƒIxp©¢Ø$Ö®Á±.ÓÞh»7Ü0:£Mƒ»P­€¤¢¸EÚM›*J’+ƒ$Š t›v¯ðÜv"Ò}NåUrg­BØ*RÔTÿC¬ÏonÁ’˜Q‚{‹¡d ßZìþÞ Ç’ÁIj {°Òšâ›f#­›¤“HÁuۉ•Ù XM‹Ù+R äÁÑ5~œ9M¡Cý½æ=•Ï®0B⽋à á§fä+OUÒoj)Üh‹È#!ºjæF2N.§äàø·”³0ì/§/î*eœIœþ*×N³rUf±·b¢M¸Ë¼ÄqZ3˜U2·'🍁Ë\~ƒ7é£ÒvuOkØ6ÒÕÞùø©aøôÏðë¿ò¾«)ôÉS󜭐s8Å«D$ñ*õºãVÞysÊÄ­œÎõø,¯PÝq+b‡^%yŸësuG®ô®í¨úS°º]›à•ú÷Ó_i~Ï¿à]êù] ›¬—pm÷6äðºòƒþޟ÷wç]Ò)…¢×òP„øô ” yÈ?Í;wøêy(›€þ KÚJcšwÐCÏXËمþôºV÷Pÿžèë«B³ë^ ì¶ïù¼L½\ ç4ß·˖žWÎþ,ۥݧ^¦ÿà*þ±·éÅUô_°”.ï¼M_]ÊC¼ªd‘»%$1{®ïP„p_7â Á'‘ ¨’ÞŸ´ÑuÇ~ÿ8¨Ukف&„àô¼5‡Eô:¹@ÄRJ»ky°¨–xï’Ä)KÕÀ&•Ú¡Y7b·ðvÉOFååTì’g#¢únDЛºg‰äÞ^;ix² +~“Š!¢l1ý,Ûó¸1Ž‚3te@î4CÅÆLnÔ¡Yœ‚´N=RÍÇàÃè†Þ]‡$šècÎpóÊMØ1¨¯œI:£4b‚ž™±ª(€ûr_÷Å?¶ŽQ~¬K|Ø¡¼Ó<¾"ÏiÑ©:NÏwúg¢ˆv•'õåÅ·¾¿öÖ5A[¹Ø}7hÀß?Žã×aM>6*¶mOu„ƒ²mØE Œ6“Γ†½Îí¿¿ÖhØqIA +6*ƒ»f þ4k “Z’"è ¬ç&LB|W€®G^Iëè3°à íLbQƒähx‰à•ãý>4ž¥¸/·–ð#‹ÏÍ Îé !iŸFN‚Øøczša5 %á1©øÍzʜԷÈ¢em;ªµ ï4äɋ6èíð_7Æ7ÀëyÙß9»»F³sÖ<]%ÒÇO ÑüƒõÊû®Âꓧæœ<¿aöR™ŠÆÀF`o¬ëްwÑÀM97E}ª §>ßw˜=é_©}%FAp;Ҟ—‚8³ù)F”æ£@þžCZpÀó»þ£À»vÜRµ»î4|Ëp?©ª={|ÿBw†Í+uïvܶ±§×'r›ümV?´ÂÕ uFÙ¢ZʼŠj‰Še›j)(ʳUÖu›nú÷Òê„Ö}AÙ;¿ëß(nåúÇmÎø¥!Öð ßêñÁ^~j%ü——ôϋ]½º¤é Ø|Úé½ÅðÕu}ZUÛg± pgbµ†üFõižR[ â¦mH@?_‹ª–šøô€ÔQá]?Ê/¸¡ÿ8Ho—Û±;*‹<ÝNê° +êIâ51[4$C.=ŠtÙðé¦.]*Ê^ó4H¸DÛoy³‚îƒ6öLc<1|¨(˜{Ðpݕôkv*#$ouì‘ÀAsƒ½„ˆ1¢dWÃØuPpurU]Áö–„ÔnýØÅÇV·ûØíàþtL:AV÷¾ÒEዉ(×Nr_§ yRç>^T -÷Ý#•VÃ9*;yø|îü™¤:;F£‹¬0ÀA›‘ˆåÍÜÇÒ½þăju=X|K"X‹ÜÀí42>ä òón'uNâ½]اkŸPNµP:¶YÖ9®Z—aRùýA&~XñRt~§E†¿Ìò¢zÌÝí !„—çƒV‘Ís²ïû©Ó$pæ« w'?iuµhòJÎÑ¢éàn'u~jæÉ%ÒúÜcN¾éޚÕ¸ îÈ&[¦®GÜ;ÙdB‡œz£DùìÁÁó>y¹¹~á­ï¯½uهuÉ=+ +‹¥n­šì.˜P‘Â;êÆ1ð[wÚÎøª1þIÄMêà­Ü$ƒqǨÉIë‹õ̋qõ[#$«™MÚÎüâdþ‹Š(gÚ¸Ç¥Z¼³oE%“&ÇXp@z—„Ò óqÊ%eyñ{Ð6¦pP)»oÕøÒx{±û¼ØOÜ×ÑÒʌ=×Fˆ.“•G&šH“E3¹Á•ê÷2ævR³”IY&2åhœI“^œfFß F­øŽ ÒØPêÜ×òáH‰w¿ë Z@öd¬÷‚áï“Z$ê‰,K«PšN¦ ¿~ 3I­Ä½I)“Ϟ6Ú&ŒêF‹ +'o #w +·ÊàÙ±žm /²ds‘3h¸‹¶€!bjò$4«}˜«L1¶æÑF ®™söæÆ»ÎéreH¡ƒ+ÿ}Ðp@ +µ$ˆ¢Ú*‘,IÖvLIb3öF¶1÷Îm‰‚¶‰‚Z%q†o1¤M¿‹‚ù“B ø‹.¶om´M<ÞÏÊ7TDaò·¼cÕC)ÖÓo_{µ€>yl˜BÙ]äʋo¼GŸ=6yñ×®¬¥p¢x©BšÇݽT÷.!ó™çhš«§ƒ)ìHÒ¿z©¤4£x©P'nóR þÈìD~Š.5äÄ —¿çV'ðü®ÃKü=f`bLšÔð-g÷ 4põøþ…ï½T:¯ti„°CύŸ§ÿ Lð9ùÛ<~áôF„N÷…¸4d^Å¥‚š›K#ÆFAʉq¢ÐéßsH«X÷]ó»þ /•Dcí.5㗆XÃgH‚«Çkxmø¹—ê?¼¤î¥zqISý¼ vzz©¾¾®O½Tî‰^÷k,ùPå†îR6ªGi-J«$y•)™¾Œbé‰zy ¶ò0äëQ9 2ð/à=ÙHHñT%a§Â3-¯P‡l!x©k†¸ÑððP³²”aÞZ&»„„‹T|OÔu-Ù­4©56…g¦£›˜(T‚$gêx@ ’ÊÁ*2,ª? '¾l›ØËI‡ÉBh½-¬ž_ï,3ÞÆÔÆ H^J¡ êÌt¦³£²e±œ[(´ŽãiðO$"‚qã#GŸE ƒ„‚”É +xTŠÍÚÄ÷·h¿å³5aµDº/buK AÙ+®WG•)ÝU¾ðXˆñõ¨èmÁ¥]°ÀvRŒ:SUï¨L\¸T$Ÿdr#¼'XX®÷\ð1¢(±´ÈÑ­V‚¸"IÄ-YX~á 4œ„z¦Úpz»•‡µ–@±¨Aa){j`=P0Yͯf°õx:âo-îæ™ä£÷‘ +PùROÚØIãä‰ârPY[ävP‡eFÿœ¼F²Øëe@Áð’®øœžµÊyDúQ¨²˜óºs€+¯0_÷L›C©^ƒT˜#=mTÞ>K7ìåAƒ[5©[‡7Òºã´xÅPÀ;¬0¦8³_²‘Z“ûñ_?*0wœÜGnT ¸À¡É}-(•ÌŠIUÇhz£Š\F®eY7¡âj1|lâ(ç§[>ºÑ~Ëáó†ã¯ þ,Àö »µ…“Ö„ñäîTfrÝjCwÏHHþnÊ/‹óï¦rŒý?Ìå€ôz£øúìÁ1©ñkûò[ß_{ëçé7ÐÈ\îrDI”¼Q)yÈaæqD¹%‰â^X +÷¨ÁWDоÉälÈ$ìá ľ8¨ä—·“Ê 1ö© K¼sð‰§ È‚(P!”WChv)ñŸ¦ƒ¤+çUL¤%&€KÒb;Z†‡ „uô4ÆÆ—ù&عã˜GÖsTXQQûÿ ž–04U2 |­9<T¥'l¨”ìA2ó(ßB× º«\vK.T)×£%0Ÿª YIX“Ù M¥?+ÿ’9K’WˆÊÉ•âèÖÊE•.±%NŒRðXjÇÒRº¢^•£q·L×þj‰rª5!ß±õ“¶ëW“Š0¥J¥1 Ž _ȗøæ5")dÝZU†áCÈ[ÖéœZ^…ÄLààj÷Tvê8à+S0 „ìN3é™wP) oXâH“4M&ÍUò•óÓ5ÿ‘ç.JÍ3î´ÉÖYþ..¥å:È×#oy £ÏÂÓUè©¢dTžŸ,‹ŽùÁ­®(ÙRÚ`ô»ÜôB-t}ãìæR0Ï%O±…–z£©€ã>Ì÷ÂðvP‘@Ö¨”ã=^â@“ÜFÊ~—å¬5Ý5Hÿ“Ka«»6hI6U˜;)3iª*ñž`o‰S®r 3Ô’ 8c§0¼T‡¬Q–Îɵä6é—åùsKh½|”\2-¶OƒEØ^É.yôÆ«øÙc/æ—HVqÖÅ21e}Ì;¨ìÅ3fN3s ™Õ~çgË;²¬ô¯Î:)ñ*Î:”ŸÜœuRrv"?Å!¥)Å!Ï!­N8àù]ÿ†³NҜOg]ÿ‹øK׆o¹Äg ³«Ç÷/ôxï¬Óy¥g•—7ÏNL§%M°Rù{:>O§LÞñJu_ˆgGæU<;(Ì»yvRÙa5ô§ìþ­{DþžCZpÀº/hÛÎïú7œu1ÝC—®¿4kž!Ï®¬áµáçκÿð’þ¹³îÅ% +ñœuÒé½³î«ëúÔY‡jäÄ&9œu™â.ÕÝTH唲Y€@å ¹Q•¼xIàŒ@uG©ó/…i¬„ o‚kôF,ŒzO쓃*;i>Åä¾"rF dïc0ÙUzF’”ÓÃ`¢É<ŸT~ÊPß\Œ;þɘˆ¶•Ý4¯LB}º|6…ŸE u?¾0*ò+K Jp}8hAÚîØ‹ÁTðV4Ød£ÁòoLÃ=©Üä‹À›rd_à ±XAÙ ŽcÉR%LB¤Î„Qk56àábßæˆ¸ùÁv˜þ˜íÿ ÀäoP1×=oÔA&"W‚Iðj4'$% +c$Æ ÂùXCP´•1‚Éõ.=m›¢ƒÊ²Pé°Eñ)°K3 ñK–Rt0‰ëPpԞœžbèôü¸Øü´' û¯²û`˼¶~´ôc§+äá!”dïkÁ + eat´`)QX·v¼9K×̈¶—*ûdÉ?Œ·¿ä âù…l“cIÞ܃(ŒÌÏHrÙϕó +÷ê‘Ýø²¾ÕûC˽Üèø•t÷?òþôÑ9øágúÈh¸O¼?_zëûko}âýI¸WBŽ M™†€}œ©´ð6!²¬@ ü®aØßçŠ(ùž£EÀ‡º§«šûÉcÄqåWėÞxՀ?{ì5WDÏëyŒùÁŸ·Áþ)~3;¥gE”_âefZ KMɟY.Öó0š%Ȉ^¾NœÑíø§»`ÏË/z„ù'^wÓ?mëyŒq~LJ9ý±ã¡kҊËí¯!Ò¥ÝOš$o -O|ÖéûÓNå»Öjêt"B}j_⊟ú~VÈù%^uü)s(fÍÓ]Ï#)C7@´u’šãÑŠ&7p˜çóò‹{Ê^?mëyŒQ7LàùZ¥ñKKöÈ(…æ‹®,Ù]»¹dé©«Á:}°d—v˜«Óѐ– úßYÁàWøƒ%ô_q-°ßš~þÉ:~oÁ»(ÆÌ4\ï+|¬-n–2ãcˆ Å&± …6vßIΏ„°\ĎÂð¸Ð¾‘(õ ³Åp¨0$¦2ˆ@è ø@’— s>á2i’~ÿÐaF¯fÞi–$‡j'õŸ uãÉEŒI*¬\fER­?¶Q@1¢Èö¨ ø°"­cÓ¡V|òü†¢öˆÁû5àŽ’ÑÞ 2ÆWyFJâÌõ©u#ýÚVcGŒ‡ïmÀ±TY0BVCØIIî—F“8—è¶çR⒁1üº1>”PÙ½P„þƒ7(ØeÇPǝ™Žß¾ò8@oÜçŸ<çƒàñà¥&È×ßùþÒ;×ÜlRn[C'Žµ­¶[ ëÕò›DÜǗ/–AIØN.sï`7vúxH”sÎÒR.ÒD‰”ùð`®•¡!aŸSۈz«XDJAŸóNÚËF,âšÂÑ0yÎ.'4­ +[do5N;Ͳ(ˆÁ9“Ô"¼p<³†Çe¯äÌÞmßċ6˜Gn2sDr$ÐòýVÒÙ°1’W³>‰öµQg›ÄyÀn±J ]¼ ËzÍU½n‰µ½úåz â‰sÇæ*,D¸jó ¯’è£§¤Q(—côÚû®ò铧æ”ö õ¥Úœè “­ÃX$ Y 'yô$c¨©‹hÄèüFO2潔½]mêÏ$6°8ÍwŒ³Â>GõâÆÅÝKƒ÷:€(÷ž¼qhß§„ñcùp3im²S°kêy‹‚÷Ë]ÓF#¼d+)®˜}©|Iqô¢»E©8 @¦M[‰ì÷µš¥Cx/DC³ÎWg £ÂG^,k„ÂWU®—ÆñªrÀÇDzF„ÛæoÞñÚj¼7NE³ÍXYÆ<`ú£ãm©”DŒ€ì¯( ¾¼Jòh°ÉOÑÙÚUœ´)N vˆè¿Úõ2e JÜIK‚-RÀ«„%ÔutZµ/¿hUðO±*äOÇzcœßñýuJåbQw”s×vo©øg0ñ³¿÷çýÝYÔ:“0Ê¿¼Œ²”c(ÇéPÊE=Œªù< .YûhK$FY.a3Ê22‡æóò+ÉyÛò§c=1êÚSc³ïø~‹Zw]~´Z÷íÆj¹gè𳿫ui÷©EýßY¼?·¨_[½\¿€ +/]Þ[Ô_\Â-êÌúBÌ3Ä @epOFi9‰3b‚‰ÊpF°ò!ÏÆkPtI⸄Bs-AÄK°‘—•†Õ, }(aHØÈÄjÄ£‹O¼{YL™ÒõñC…H ûI2‰o]íp FëÁFˆ3L(ÓČsT¶sÕÓwc‰@eo:BÀƶž ˜A¬•Šn mL”›JHË®jô% 'ֈƄz–Ê™¤ßc–³â!níªÆ‡¢”L@`Π œŸ¼`tŒGá9‚äx|Z°;“†0QC­‹©KM¬q$±;Éy¼DlèÏà39{Pb3ÔûÀ`ù®£ÃW5ÅYS÷øZ~@vFÄ`v]bŠi ˜p’ÌnÄ·™(±“˜fU¡¡ò çNBÈ‘vb“›K†£$V è͓Á‹!Œ¡KX5Y:1?Bœl +¼16]-$&”–Âq£fÌ{¥§Ô/߉ãuÕa³ÏÞp9'ß4ßj¤1¾è5°jÇÅ¢™h“˜“—«(ñu ¦ùFâÝ̀èh5óŽ-WùŠ0¬˜ABu+Þԋj;ûµª—ÇùÊåÂ#Ìag«ñA9š^Íg(Œ˜ãPÿ—ð0¢2GæÁÑY–àƒSvXÐÄwø×ì Ñ¸íD M”НŠZ$‚ Ê»+0GÀ8ðhV­9Ã„Jt,\ KU±ùkìqãuxâ÷Ü5ìͲO§þa’$¶`£˜Àùõã$&Ñ7ZAøޚuíy'D•îÊ? –~Á½C¦˜ç7‹Ž¢‹ass5?>~jØ!H«»“"¯½ïj™|òÔä›ÏÝ;¥9sïç̽“[ÙÜ;wnó·¨ëÅLÃÃ=ÓvdFv,î¾NÜ;¥ï`ˆ•ÕHíyùE·êÒxBþ´q¬ç1ÆùßïÞÉ5Ý»wÆVbîA»·„+ÑÏÝ;³¿÷çýݹwt&á!È­o‚Ü˼ùéÓPA.êaáÏç!ÿuí£-‘襻ÍCÀºñóyùÅm å¹ äOÇzcÔµ‡ö9¿ãûÝ;™EêÁœÝûvX­g…=fVëÒîS÷Îgñþܽóâê¹/Ôð.ïÜ;_]ÂgéÖ%Û%2´vÂFšª•W6bIÁ4‹ÒDo$ÜlHE±Øå6m¬‹/zÛvµèï""GnºèùVØAêlñûÇFDQo$ ñg ª Ý,8ÌÏþ‘ÇUœ"AxHDÁ ©Ð*¯5sÔÑم>°[0%8P°ŠX/b¨|Ã>ty#¡ázʛõ$í +\\UÃÝ(I긍¡M"_—7R€®Ä³»ržÄ‚8)Q0-¨ n($cxos¾:›Ë°^j¤cxÛnDÝqn̊¤…Î uÝx–×½í!û¾¿7"ŒÅ\©ÚèU„µÛ§çúø÷Diþ uÏ âN-¨àґs:—ü8üo<¨Ÿ<(³ ^Œô¯¿óý¥w®Y”¼o»þ!oxÁêâ)-ñþ° F¥›Åãª|üÔP¼»°…×ÞwU>yjž¸/e§"¢D ¯š^Õ§Íð: ži ©Q$J۝áäw”-v,†_'†W ;°•$1Øóš²‚wXÖ žˆ{–ìzcœßñý†WuáÞðZð8†åÚî-µò Á~ö÷þ¼¿;ÃKgº{õuÓÝYàeêÌòKíÖ¾ìÖ]÷^ÏCÕÔµ¶D¢»ÅkÓÝ[ØÓ"å·A Õ¶üiãXÏcŒºöàRó;¾ßðªä}‡ê>g÷¾VëVýìïÁj]Ú}jxýwïÏ ¯W/~–^º¼3¼¾º„Þ«³D’˜*ë^p ©¤ýb‰è¥ÓŸ¼PÒÆ°5:/% ºòæ®YôA“¼S® ï +…<|lRª<_™ G2îk ›‚KNÒx2;ÓEf»ö™Á¤¸Ò!æDö éO_)¡·¯K… rá=J³ŒM3$&@²ÜìFSÖÄë´nÎ¥üTÚ¯ÓYNIïá Kao”îEBŒÄ.e±vbˆ”p’ðs^E`“`$ºZ¤1’‚p׎vÎà·z¥‹¸¾Þn1t&«Õ †§8ä±ðŠJpT®‡G“+¥ß&IA/f;”»Š¬qŠŒóøPÚR :Œ±épýA¼ÛN§ +gÇu@roizÓƒÝV +ƒî8ë³ì?æ;ÐKއš?݌š­I»+•7ÂIƒã1<ç£eû‹/Èäí²€>¼¤Ø/»~KØèíánx¯Ì#E]ˆð^mĀ۵Œvó ™š¸öÞÞj¤1¤´†£ÝÄDÐkĸf,Iµ^Úyn÷ŽL‹&‹ˆ +í“@³Æó¾ú ¹¨ók4 3ÅÑ©L +dã^†A¹c'2NqÅ +gu¦ “]ùÝ7ߙsM—zÜ»ÎÁõÊ|0ï7rïް{vcþìï¯¼ñÑ}9k…1‘w´4«‡@ZÏäg¯6@~R”¸ï|Ýeyî2lPñǯv^+' ÍÉIàPR7±ÀËþEþl¸mí°lDf׸ãfçÑ3Ü|§l'tq[YhÇã}g óú}g óúx]GC¢~W÷ûx+HILF $*ĝ4  ^Îv²j$¸¨ãÅ:8hÁå<¯Ái郻 ?Æ Ÿ3ÈþàöÊl§˜S:<™wàB!Øðå"ò:£“¦?I`úã`2ick—µ>$HÌ}‡Tñ™p,ýEÔtC2¾1Pò1Ésñ^ºMT–ݹµÑdec’ÁNQ‘úëÇI¤ð½íDÀ|#F o¼‹y ¾IüuYŽK ˜Õ0’ ÉÍ“ôH@ ˆôm€f‹Á©A,/AM ÝBçR⍟*‘ÆHR²<«Õ.˜>•ŏ²QLçšÖ‚á ‡„)YUµ6‰¾‰‡(¹A¡—B8tâP°„k_Î;֝ÕÎ{qÌ®ÞõÏvd:zcžŽäÈ@áM™x¡8˜ƒ#䈏&‚"Ë­þ¢˜8ˆ‰wbç¶ÓKA€Ͻç±t¨sã_øÞwފï “ït9®—â¦æølˆöùø³·]ŠzáF¼ÇbŽ™–‹9fZÚaÃî"æ)Q§‰u§c%í°aìX3|8fzÚaÃzÙ!äSþ)Æ©üiãXÏcŒó;¾ß1Óâ6l¨¾­Åtm÷–z†6û{ÞߝcFg¶ýøw³í[J‹ƒz¬¿8I•©tâӍT¬A,r“¢Ý¶€ÉÓ¨cÎS—,©xAFéæÐ™í‚›<ȤMðM"î¨àÜs— ŽÎúëcYq‹G0¸ÜÅÙDÎ+ ±‰|“«Í@ù.ޙ€“*ŠEbí೐i…v;X¬b´i0jT¾‹ ÊI¥M %ÈmÁF=ªM»×wn±1ï @¥ò"¸1F)0yÔÔ?Äøüæ,‰x·€Á:–°]¹3)õÂÞ«Aò3]Ù€“Hl9€x“›f#­K¤“H¹u;ˆÌh j£ëpY×ãÁÑ5@}œ9E£@%žæ=uÏn¨AôÜE0ÐðS³ â=K¤ßTR¸Ñ‘GBt“ð˝¤Œ\NÉÁðo;©EaØ_N³\ÚEÈé7Õç*7N³@ØÇÙÛN1É&ÜåNÞ"ÜÚ`VI]žxL´.sùÏ=I©ƒ  ;×öÑÕÚùø©aö”ϐè¿ò¾«!ôÉSó˜­$ždmÒ£$À7ô(õºƒRÞyrÊ¥œŽõö,PÝA)Ù±x”ä}ZvÏÕ–Ò»¶£pèOávm"SêßuBÌüù=ßïYêùN ƒ¬—pm÷–av|îYšý½?ïïγ¤3 +çD¯;¾¡¨{Ó)P&¾¡ÈvuÌ΅ù<mâÚTFYªáÐ3Ârv¡?“.Õ9Ô¿'®úꄠëºघßóý&¢6ž>Š9Ë÷íÞ(“?÷0Íþ¬Ú¥Ý§¦ÿÞ"þ¹§éµUtí `•Ò坧é«KùawPPAb Q+š…sа|݈ƒÁ-óCöÞ4À¢~Øï5kM:Є* ´ƒ0HA•nrsˆ¥„rRºfm0€‹P)‰7ð,Ip²ôP XR©jeñq#ö®é’Œ +ÊɂҖ²‡ Æ]z³èö(áÛûk†'«Ä7©b‚ÊDËz>k¼»$z¶ð )Þ5fr£Ý´`ç õæ‘[>vº`¡7(®PyK²ZpcÓ½Ì$"N³FJÐ+3ö@ío_îë¾ø§–1ªˆu {#FwÚbÇGdûV›©ãð¼q£ö *—gyòÐ]^|ëûko]ó³U}Ý6"‚ÐíßÇ~5*w±—ÊыŠ]gq(‘Cºî”m¿.¢c™tÆP4luîþã˜( Ûcp]@ÊÁàŽYþÂZ¤–¤€9ˆæ¹ ·Ì1äB´N> +ÚÎ#ÕI^ÆØrN'‚Ù:—m¨4< äIžª½%\È´†éEHÓAÇ8ó¦·â¾› ÷czšá2`&a1ƒªÞ ‘°ª Nï:¬=vж“ºQ«°ŽAC^<Õ?[ØGãŸCéyÙÞ9››¦èþ˜Ót•G?5SÎÓ+ﻊªOžšSòüfÙK})CM0½±¬;šÞEû6Åܔô©4œº|ß!õ¤5¤‚•¨ª³Rçfv"?Å Š;bÈßsH«x~׿P¡Êµ ¸Þ©Ýu÷ á[ùºÞêñý =Þ6­™Kèv¶±§×'L›üm¶U?TÂÕ FÝq.›ê•(;¶é•—<;Qôd]¶‰×¦Ï!­N8`Ýä¬ó»þ…ŠU®_0Ûæ„_Ž%LÏ ÷V–ðÚðS á?¼¢ÿ ‚Õ«K꿀çÞ[ _]×§•±}Ö¸Ú?&V›¡×ÉoTï#£×ÿâUWEhý˜Çþ³EUIMvzàçˆä®IÁ¢ü‚{C”^M'©ý,r+vGeå¦ÛAíyHԄÄkb¶HÆYbѹ?à N]º4H'€±!Òipy,ÀÇcˆždÑPRK 器@¸Dè (0É)–œ]!eRçOL̐¢ÑŠVi›1a«§EÒ7b1IbÁNErÐ~‡VÜ*~.}ôƒ–Æ›N µ&_ç- œ¹¸´*š#i®så­Ç¬.ab±ý–7+¸`ï’Ñ>hcÏ4â¡ÁyŠ¢·; T]ÏßAeXäí¤úŸ è:ƒæ î{ WcDI¯„¹ë Ýê䚲‚¥o˜Jbg·~ìâc«Û=ìv +po„奬~}¥ Šÿi͂Z[ ¡ôˆ{Å'Ô¹7jU€wŸ‚V@ÀíVgxèñ™¤Â:F4‚4âŽ--‚€—e™ûXº×Ÿx0k êވ%µ$l5ÉÕÛAÓ!ãC*?ïvP×Dd©°M×>¡œj9·xYç¸Îú Jå÷©Ù‚Žßi@¸vÂ-u˜]ÅFè¯H‚…Ís²íƒùS§‰¸å[Tž$¥ÕÕFã+9G“fƒ»Ôù(„'Á×ës9ùžûjSã¸#l™¹ž Ÿ9m<èSo(Ÿ=裋úäåÆú…·¾¿öÖub–÷¬ò'ì-–¸³j²;`¢B +ë¨à €jÝi;ß?¨Æ÷1ú±ÿÉᣣæ#œß-Ώ䉥_0®Bdv¶hï?ˆ“÷/*ÊAÓ¾…8.Õbœ}+*˜¼ÒÆäF"E”šÁÉ÷!pG§å…ïNÛyÂA¥è¾TȰ¥ñöb÷xÈØ9p]'5f¼¹6BP™¬<ҘD˜,š‰ ®T¿1·ƒŠ¨T:Q&"¢c!M˜ôâ4BP÷1jÑöΨVîëŒt‚l¤À»ßu% {åYN¹ð÷AB’ÁNäXZ€ÂtqNùõ[xIj%îMp±§,xö´h»,:¨SmT|0¼)‹àÃÝä‰ýü-,;Ö³ ÔE–¦`þq e;-Nˆø™< Mk\0Ô*SŠm356N‚[朽¹ñ®sz£X)édÊŸ4Í¡ö¡3vF£¸S¸µbLÆÞ(ö)TfgmJ‚EÛ%ÁF͒,÷ªf?%þ¤L:³ G£õ]«³¶IÇûYù瀚¦3$ý=§F†~;ÃWûç“dž!¥úN¬¼øÆ«iôÙc“íªZª!Ї*¤‰ˆ=»‡êÞdž"óMcõt.…PúW•Ô[UŒ;0 ¸‘Ù‰ü#\*ʼn.Ï!­N8àù]ÿ‚‡*ø{|ÀÄH4ÿ¨á[FÔæÕìñý =Þ{¨tZ©x†°ã̍Ÿ§ó L¤9ùۜ}átE„lζEœË¦þ ÉÜü1î¸ úS¶HŒrNÿžCZpÀº-(Íçwý *†`îŒ5ᗆXÂg¨«ÇKxmø¹‡ê¿»¢ÿÀCõ꒦/@ j§§‡êëëúÔCàšèuªÆ’—þs(.e£z†–ƒp0«sèKI•e„ý!Guא™[«l­–ÈïåAC n d${ñê¨%¥{¢zIIvãÕ°øQ£Û"J«í4]27õŽÊd…ÛAEÂI&7Â{‚ÅâzÏÏc Z9.éV+ê: `$ñµda%9Ã"À '¡žé5œÞn%`­%P+jPʞƂ ›ÞkÅR¼šÖãéˆkb­à֙öã#j]$Ôȥž´a“ÇÀ“Ê"· +³Œ¾9y ÓÖ±«ø×  ÀQ¤ÕŠÏCoV,;ù“ Ä,ם\y…ùù¸gÚ¬ +JÝ|ÅdÄ.0* +¯%rÆò !,?©K‡WѺã´HÅо;L0¦83^²“Š\ŒÿúqP±ã‚œçEcç™É}MDJɄIUÇ0L•(˜ã2r©£¤Rª½¡Eºç&Žr~º& OÚo9|Þûµ!bžƒÔÜÀnmá¤aD<¹;•Ù[·ƒî«ð |Ù¦ü²8ÿjúÆØŽñÃü ¯7J¯ÏÁúJÇ£·¾¿öÖÏS8f á¸Üä~tXòF¥àé9YÝыؒÌða(*dŒcAzԘ+æ\t26üÕÃA3ˆmqPÉ.oÕ16Œ}fÉQâuƒOÌ÷²ðvR»à£É{T r)û]"‡˜ˆ^w +ïÊ}0¢&ÕØ&¯û!£4ՔxG°·Ä)W±…êÉ䛱ƒSÞªtwвtN²Õ¶I¿,Ï¿—OBÛ壄’i¯}òذ³{%£äѯâg½˜S"EVÅQËďõ1ﲯ˜9ÌÌyf6û-ï(²Ò¿:ꤌ«8êPdrsÔIÙÇىü–,(Å!Ï!­N8àù]ÿ‚£NòšOG]ÿ‹hK׆o9»g€²«Ç÷/ôxï¨Ói¥[µ•7·NL§%MdRù{úuÔ¡Ü8±HG]Dj¸Ku7Ó#.ö¤6@ÅF9hA®R%×8"*@ù½bÅ{JÒX-òž×艘´Îº©Ä:9¨²“aSLhá+²!eÔ݃ɮÒ+¤fŸ”ä®î¤òS†îæbÜñNÆD´­´¦yd«×Ÿ >ágµ¤Ù/ŒŠòÊú‚EB€Rìê-à ‘§;öbPýß"A& •ÞónO*7ù$È9R.ð†X¬hl€ùƱä$u<†Z"&ŒZK®&7Òø6G0ĵȶÃôŬÿ›€%ƒÊ1ç:h~lJ®²ÞuhdKH2´ÅHü‹A…ã±(h`g}d5YòÜçÒû°Ñ¶):¨Ü)“иÂÜ¢, +È{íŽÄtÄAb,YêÍáÄ9œà¨=9 ¼ÄPèùq±ùiL@ñ_e÷¿&`h™ßْ›Ò_­P¹Òõ¥2 w!Fg(Ç µkÓ’7Ç/Ž"ÃEm?.;UöÉFÀ52u¼!Eý$¨ ǒ¼¹Qü˜Ÿ‘ä–Ÿ+çÕïÅ»/ðe+|§çþ£¤èø•ì4<ðüôÑ9Øág-¦_á—ßúþÚ[Ÿx~®”zPƒ§!LG +Ȭ­Mȅ,‹Ð¿«×˚FäØÜ]Ëk¯–9óÓW=–ó1L}fþðÝ5ˆa5ö¤`B‰—±S†!?p¸&Ñ ;Awçm§‚iuúmø +ç-˜0 B«ÅMâY˜ƒYn97À SÞ-þg-ß&Lð-¶–U G¸ÕáDɚðf“˦„øàÒ̝ÌëAk“'ëÙh: A8Õí ú$…4ùŠª¡”’ˆZz°¦[`ã;æJú[˜–^0MSdE+ãEMHY…cvœÊFxÂD]a«Ð½p)å¡%g-¿I³ÅÞ ó+7*êêx8¶°ˆ]¾0T”Ó=[³l‘e,ÕPh[Y³Ê°/t—ƒõLò-Ýà«%ëó¡G—…Ð—ìYùo””*Ž‘[nвqQàÄÔÚš.öFX{~Q‰á q°óœlðîDâ`4ðWqNBÇ0ê,;‹‡J½üº|ço|°¾Í Qò=C‹€—u?MW%÷“Ç í^“^|ãUÿýì±×Üa°¡ä"®—àë執/`´4‡!@“ ¸­É~Á—(Y›ãø‰xl>O‹9,ÓP'«ÜÒVm ¹ù85¾büÉ·ÝìO†>.#´¯øP—ðµ­0 «1œù3µúW”Xn Qpiö“¶È[ +án©?êñýYòEke«û™¹Xã8 ()ˆÌ‚. +O"Èö[&‘?líÇàF` ³§Aô¤lþùK·`¼}ÎdÑ%!á¤(è$ÒjÂÍgT=Iú +„^sßé÷€4ôä÷f¾Æ•bBz=/lwR€N_ùä"B¦ MŒq(€MÈ·g)øØ †Ÿ€QªOü®"g‰ùö»‘HLx‹£ŸŒ+%F!6À€&FB$rƒÇ¼'\›-Ò¯µ‹8úCáçö–¸œ$GØÇ”$TcôÜðF\+t;ˆ¶’ãzÇ´Öû²/>”vµ~Éöð–GÊ:Úòx㓊ß¾ò8EoÜéŸ<‡˜E(ɱœÇéµw¾¿ôÎ57›Ü\k”Vtú÷mµˆÒäVv±wx‰) ›$ȱ;빐ˆ v%FٍÈ#Y¶@m¼iÅffö"‰¼LÆù±S0E°Í´–EôÃ)<%ñy€—35)º¢è‹|kÄäÞñØÈþ¯.ÓÀ(µ[Ž}l¤1<Þ!í­J˜gB»Ú(‹¹q²ÛA,¦Èþ«¬Y[çýn[||žüWDÐPìŠìl_ï7¨ñ¹õ…W‘ôÑS¨„Põèr”^yßUJ}üԚ’ç˜19³ ¢sӂ@@@ªžßiîmimé ‡ SSŽn†þǕÑSYöC¤¯Úž–_ԇð§jCú§ŽÂçç7|»ý`kµêÉê¥wÍÆw÷¹é0Ñ,žvvg:È š>ÙÓ©O"žhרô·è“üaú¤ý0-ÐzRíFÖ_õI™SÕ'cʇ>¡1l=Íß\3þÐ}a?lt³'½ìÕ'·ïünӁWTmrÎÿ¥éXÎ{|µÏ;}°¨—¦Ïì†ÿ¯ó7Ø °Ò5|ÅhЎ–ûC£!¢,·8Z¡µ*ì¸jPà$F‚(0±َ¼ ÚHISÿ؉ÆLÍ!s¬*€píÑ«+…ցÐëXA,ââÐ´ ‰k¤CŸ\†$ể„é8)UóIwZSÀi ӕŠ$¹YòFùÍaT•÷Ö â.‰•´gÜâ.²;š=ºÓÞ8³=»°‘dQJŽg;ܨ:՛[Aµ„èˆÂÂad\{'#ÀÃ{Q5—á³€ïƍ)¿tÌ\ÚI㛇êÍ™Øz;ˆ€Vç?zÃèÆe€ ·JR9“A°Pó"±ºJ…|ǒ²«.ÞáŒ&T‹cÌr‡ÂƒÀ}´Q’ÔÅ×.bm¼u6äz©‘~=:Í‹³WL½±e‡¢—¼¸ V¡ÊPגŒïüé“熩‡û+‘‹©÷õw¾¿ôÎ57›ž³-a•Õl?‹¦YçºѾ2.&»ÝkΓEúb˜{,h!ȍ¤{ñ׏“È]{ۉ(dOË(b§:Ù(Ð*x++åÛ)ÃgŠuÀ Ü0³a„÷y5õ¬ÌO¸Ø[€›ðZ»”'4ú.lÁË݁ئ70½œí¨WnˆíôÁ í8 ÿCð)¿•9ï -Î!:eg€‹Ø4†×¡,ǁÊ)'Ã-Êp=[ÞÚA! ’±¸ÈDè” ƒ¤7ŜŒR•»ÒÆaULr×{©¦T Qr’öfÅD–˜(S‹´I²EÓ²ŸXN^n‘{]8HôY1¥ÜËËÎÂÄæ¢Û7ã–îöC¢µ†(k»P«È@OJi틈P|^Q‹Y‹äK‹é×q¼¼ñ%ìhMÑ+ë‹Z f#m,rQ˜«Ëù°ÞªñÛË¡þC|)º{ö²)>ú5Wðã§  –Œð•÷]5ϟZGü¹¡žè±C½$3Ô 8 õ;Ùlg1£MQ¿3µëf¨/Xy‘Á4ÔT3ÔÕI§O«;o0¯(Û(ìqp~Ãwê1»‹¡ŽºuCå¼oö–Pqá3C}vöþ´³{C3¨\DÁồCP÷a"éout¤eÀÍfCYOf–qýՀ“9U.¡°ÍfÀ Ýóèiþ–5‹Ë€³uڊý0àdG˜·¾ó› õ±=šo6ÿ—¦Xλ€ÔÏ;}°¨—¦O õÿ¯ó?6Ôÿd¥~n¨[ÇCýëËý±¡n5ŸE}Ä±Œˆd)TFIB!¢‰ˆ­Ì9„€wb¢à¤GAhÐ'‘ %É;¨…‡jl¥£•×'•ˆÅlÇbFÌîc˜ÔÄ0A’7ÒxÉm™Ár«î꺶s-E \c4Tl3ä6ˆŠÿÝgÇ,>|¿ÆÍ¢°”S,ÍO„ºy)°ÅïX"Ìgg‚—‘ÆøZ– ²½ÁH¡7†ÕDàPÃAÿ‰˜Zˆš–ªx¡ƒÄj–Úû1—{R/¼ډÁz¸&9‰%«ðŠ\m’Ê ¨B(|±Ír^H'ÇU ¾U)jË1-¡ßRœÐHˆ—»ÍE”)Ö¨Çù0Ô³Wk'!g’¨“²ŒV{ƒîZřS ‚bõš9Gš—É@0p6ÿK›‹1J¹ÝÃæ½iÜJŽºT²ëA, +À%E_4Íÿ^=Ct_/4Òì½êãF£82N·‡{S½^Iá˜\Ü1ˆn£E)OÁ(ÄõæNËÀÍÇ)óL•J†“=Êiˎ`LDí!:Çhû(º9ç;²$|× ?.Hn¢Ö£î“çݍƒÅÆ4”ÁVdHÈSm~’à““ si¦Üvâ8CÄÈÀä<ã|ñø'Ùƒž?¸+"%­F”‘åãÉyuíܞ|ð›n³œû£ úN9'Ã{¿-ð!2ÞÈÙ?ynÌJ +òàõ6ûËï|ékn6 ±O'š5&bÎÍ–Ä É݆DVƒì§€‡ÂËÅ Û‹àŠ¬†nœŒ'ê¿ %í¾ —ú.睲‡I+ˍÜ`Þ­8a'ÐH¿æÐæ±Dœ¤šêöð8åzîÇ¡ŠpL/ÊÆ&m¼«#Øtë*£Y¯T8 šÞ7¢È¢œxo‰™óŒûÌÐ¥gdL:£R@Zü³#¡ü$M–Ú&ëÅ2©WH* ͸ûbämq÷ÅòÛäîÙçÃՐ4ú,ÀŒ[â›ö"±½3ÝêBÎjf°&ZCâDA˜¼nÂÂîÄàí ¢p^“‡]è*iYØN²“ŠŠí1`¾ ü(d¤ Þ+.ÙêUâ×%ñý¼ï¶v¨´'ùxY†Š"¹ªgŒÃJ7A! ësS‘Ç`kÖõ&¾šð_(L*Ь7"ÃpU˜ÂR˜àìíhç§ú5Ød,u'mjÚFäòu¶ËUæIjAVÖE”ß¡êi +>¨“§zXèØÃÌÁ¡§áŽ IW¡Å¶·fD¥æ¹ÎÀô(—)Œ³ˆ ,(«‡óœ—²I‘!ËóN2ióëÇI¤\ºĂSÇLh[|\/ÉË. ñÀðWâ8ÀӑŒp°æ]“ÖɹZ?5,ä‘WÞwµG>~j±Í/¸‡à÷àÔ=„¬ªéºw̔e –e}\|?af†§•ðžjÚÜCÍíO󗸇š›î!ùÓF¡Ëí¾Á=ô“+³ûk’a5nK^Ç %î¾Ù[‚ô¹ó}ÒãûÓñYÒÁZJ™Põ"$“n^&TüµÙéú[½mmyæ³ý­'ó p;˜¡ÌX»xzj={²ß|'Ø6Ñst֓¾ÌOûµç?÷é*Ä}zËCG‚­Ä¥)V÷®Æz~°Æ—¦2ç*ß¹Žþ¿èä:úžeæ¡ÿ胮/¤—þY{ÊÉÔ(…Y”‰}®nĔºi3ú€°“Pü$Bi؉¸-ó0öª\PlD+_Äõ†N”ÔY§¡ç=!Œb#AýK7“Hu›7¬c$ÅéÅÿAœUYŒ˜oV«NK ì¤ °šc|q쟈9^½Í•Xo5Ò1¾m7¢î‚“h»ó"èNsO]÷ž%ÌoÛÈ>ðïE¤±Z)\¼lŠì6?×Ç¿'øAªËEâ^ç—õjÞý`o<±Ÿ<Ü"^<_çûKï\³þ(¿zßwy®@®s‡æ9ÙF\{ù$ârAM¹H(ÏÔý 2NP˜é³îé½FÐ0 ¤è¢º Êà$<ÞÈfvPg§¬Œ¦ º%ˆ^tR"=xá =Àˈ‹äÉTPmô mÌgQ“ˆÌ'iµ#Ä÷'[¯¯óã'oìëüø{.zŠ8 Ì +ïè¡Åߟ#aöÆ>ò­í檭Þêý©ýµ¯î6¾lD¯µ-×½UùŠ—2!;iã?‹ˆ®!e¶ÞlW=Ø}VqbèMæBÜ7¦Ÿ¬¡ŠÓä˜Åm·^ÿ˜5|ÝÔß{<ÎÚ!Ðl1®JÂÇOAYH¸Â+ï»*?µܗò~s ÓÚëaZ{€›œÖÞig™&¶˜itwöZÞ¬½UR2Ç`Ö^ŽmY{9íIÃò‹š*þT=UÿÔQØãàü†ïHµ] ½þWŠÅ¥ÙXæ> ˜½?íì.@fÐ4} uîš~ §.­¿ÕZ›¦o?L?·žLçú«¦/sªš~h×ôÓ=zš¿eÍüÒô퇍nö¤£—ašþúÎoHÍ=Tñmþ/MÇrÖþ$àèôÁ¢^š> øÿ:ÿó`€?Yiԝy `_L¹¯/÷‡Áá–͝ÁC+0Ì"#fÜ/DsÉò7õ ïE„j$^=Š#XK’ƒ$åâp¯wmÔ&ÒDŽgwgïÝ@JY‹yðtŒÁu¢¹é÷+`_c8ÚáNÐ룼”ʈ£W%. Rsl¢AқCªùøp~ƅ<7Ka6ÕºèÖǜéÅÒºðπo”Õ®h?oò!;6JD‘F˜,'±—Š»Ï˜Ö¡pd»Œ!¸MÁVÁ@˜y¹H˜¤˜(íœU‰¾Ô¦W£Y3œ‘’šæ¨!T˜$@×`n™=)²zC2[á +°hçžïÊnò:„Èôiм@·F‡;–½HÐ "P\û¬‘W8'~yî¼Tô®‘°Ç¿ø$+ià0éAl€´–+t˜äÜE®ì7òø¨šs?.ésZÌÑn,Kˆ¬7°=;8T©Ù¢P m'!'‚÷m;Q.ٗ\Ë1ù5àÉùN#ýâ‚&¹Ã5âÄ -¦ÏøïF—8Àq ±Cf«†‘žq¥è$m¤ßÜmv-;Û͙ƒi‰»ÕÆÀ›·Ð€ô³·Á»ÅܰɃ•ìÀÉ);–äژ&Ïɝ4ÇIÊI[µt¾?K}ZÜ(å"çãÌz=|Œ“Šô“{]¹Ü7_õ#÷jÄÀïÇv:ÄÁ¹ö‡O c¾>º¡yå}ï/¼ïÑcßtg”>ÄÂ8B ‡âúӄSbf*]6X^ ·®íh(ˆÒ-ÿ +çÆi… +ö_ƒ@ÌÉ¢{;%1 öØÊFÌL°Èv(û´ÍEą~—­Kÿý¥3b`c+bìÐrìa§Hw”àB’‹–8À3ôç7]‚(²ëAd`E8Ö2Åà—uˆêLŸ–0á>NT—ÉŸ‚^ßw¤½ÙøºÇiŸ&ä€ÞxÇçÛäóY@ø·Vي"àÒ¿SQ(Ó¡ä5þ \eá.xŠU½½%ß¾“f}J3ŸíxµkS4VÉ­ØI*Bý8‰¶·ƒèDJð)vq¿KøyÁ!GŸòÞiâé†&#"3i5 :2ZͺO¸NŸ¡aê: …UՃ +OÖ«es]”¿”7s̔I§”S×Ù¤,-«/MlpôÂ6)ýv”Íø }kùNdD”(3j)&†YA`M«Þïû ›]—ù˜ÞÍó¤íšA]¶È°ð› à2Ðr×±ŒA£,ˆŸ‘H§B6ŠÊȖt'on; 8 ­+È¢D8âú×®÷÷ø÷Ýtàë-¾*ö=á}~‡ÿä]W#â£g^¹¿Ï}"¹å<‘Ü2 CÌ£sçK1'‹ø[¦Ewúdúòè [óèô‰ãV܆ãÆÔÏù´ü¢¥Š?ÕNÕ?uö¸ оá»=:ÙÐÛ×:³ßP§è¾Ù[ÂÙüÌ£3;{ÚٝGGfP-ýœO\¯ñÚӖN®—ü˜>±×ködö{Þp½dNÕÒ/îÄõ*îÄõš¿eÍ6\/ûa£›=Ùèû†ëµ}ç7{trzˆê5çÿÒËù ¿íèôÁ¢^š>óèüÿ¹GçOV:|¼Í:¾÷è¼°ÜÏnæ3â»j÷¬8¶AÕØîEFÔO“á–퐪Cè; Û#®öÅ(g$a ÅlÍÖH³œvåÞI]zës=ñÿ'Š~ƒï…oHUAL—I撦ý¶Êœ„\&Dä9ùU%hŒ³è À>v>m¤ñ(4cޛ!›¡cÔC·ƒD‚f£7u"We„Ÿ÷¤xY¼ãψ0Ðä$µ~vR0(‡G¢œåf¦Á3´˜乸“ðVM<ßÛE©m-÷TÈCº¬DG ¶ž#&‰Ð̈́X§"ÃqI,:(¡£ŽŽ`Á‰@r6"¢³¼ëiŒ¡¨ŠJ6Û¡Š¶94P;4#âYǁ!ßÐn5Ù_$F³|)®š¸¨‘@ÄÅ(<ë³ ¬h…7d¹¯ŸG„}P÷wÒo~(-¶v-Ia3¾b(âK3ì… F×%tI“¤Yg4ÃI)׳€ˆGZÁN¢"*ÊN4 d +ó…ù@<—6Æ01’PªªÈÅ÷¢;‚ +9%k¨â³¡ì'úrð-*"oÙ6êOHVørº + +Nvõ4k¥s9̀ƒ’)¾ŸŠ3+VhTøqÛa¬òNŠr,~ý8‰tÝ"Ò6PÌC‘¨eœAÅã+,bXI +°ôhÖÍv8îêôDü2÷"Eõ¤ˆ·‹@=ã 5اé2ßãT¢1ú5 gþWî.ÁØ!“Þ(:>y·aÒȃÇÒ×ßùþÒ;×.|%¾W•yÁ±;¦^ƏšœlsÖ€âþ”çyÊk”Še{;8™&9%àøCæI³&À!§¦—N ddf;F…#e‰œƒ€X'ÁZÈM_jà6^ÜåàJ–q®L4,&ÚÍ{:Û!c©e…:lC»Á|DÍ$aùTÙ·nGŸ°80qÎ2Þ|Ãõ‡ƒxèp“áDìåT•+_P_¨ˆWhoצŒ3ÔH½ÅC†V…Q{p|2@œ¡PñXQé +:BáМàFPâߋw#ý¦r££í°ÐÅ)ÀHÂ(J‘VT7>üCÙç¿^«˜€C§h`ÝeÕ>¥ ©8–yܜ{S]N@Tÿ<}€ØþóF‹q ;I9¹“ãßvä/‹ZŠÏEÊÔ%eÆwvKñ‘vX²fwDòÚH&ۄ½ÜIÁÛADá88PSݧð@ñ¯“ù^)qyúƒqû]‡·t5|>~j@‘½ˆ˜WÞw5‡>~jõ/…•2BK˜@¡Åo@¡÷®¡ :=I·w.&¿…¢[uPáeæ *P¨DÍ§ë +¿8¨êŽ‚bËË¿ZÜ(t͆„Àûfo©øÏBggïO;»sPÉ ªã¢ø@²ø@Ò~Ëüù @rþ0wƒ?$eýÕq!sjŽ‹rH–rHÎß|gÙ$íǝõd£/€äößì *î!|äœÿKÓ±œîPèÑéƒE½4}æ úÿ:ÿsÕ¬tî_ +µŽ/ª¯/÷‡!G%&+ÊÜÐ « ”Áãå~Æh%ž­¨2ÜЄwRŸÓï'‘p“ —MTŸáQs3[´ +NÀX[Ö +ÅM~hƒIÕmWQ͖ÑÀ<èI¨±póx½¯:H:HߎA/bE‘¼¿Ø™Äãû.çûK•4ƌl¹^7â `º8cìáœ4|[òRBF²QþU?"Jð*¹äˆÄlÉì(µƒé+^E“ŠÃÞH…3ÕÄT @÷pÜH9™‹{Ýß`;ñ0â ¡Ôç¦ÂPP¼B¿R'è8.oÜ՟<7Œ¹¡|ñÁÓv~éï/½sÍÍ&·å×ñü}ìÎ:÷D@¥Eç7"ö˜íºÂ‚;eۜ‹·Æ¾rP³IvúöN%as";Èíí°#‚\opåEoDñ× n‚ìoÅÊáƒÛ ¤u¶ªp’ŒlDh÷í¢be2‡è~Ó) »__íf…óAª‰½UÅÅE¬£KŒ8é3”K˜k-Ñ¢µ`Ž—1U9lG,$|ÅFڎâ"a +HAh)íkxÝÿŠP#5ÁÁÏ­hljMÎUÊ|ü¤M~ph^yßUö|üԚ’çwÕ5L(ÂÒ&a©ánÚ¹(ê¦ +Ü)óaiа† EXãEX㞩.¿¨âÔ8¡õO…=ÎÎoøvS ^ ÇÄ·’Â¥ÙÐëçP„³³÷§Ý›mƒ¨+õ„¨+õ„¨³ßjJmuó‡)võ„¨“õWQæTUÄNˆºOˆºù[Ölƒ¨³6ºÙ“Ž^v„©ˆë;¿Û¨êæü_šb9ŸA>XÔKÓ§¦Àÿ×ùŸ›°Òù+P„ÖñÅøúr?»«®N¯¤ üšc ÐÍW7Za¼—iÊdû9•Ü&ˆ!S ʵ ø„ÃeaÝnèwágt¼!»#vúÎw"Še§1:F©Ìv a›ˆÂS#R³Ò3\º3L+‡qu·ÈÕ.'P½|'5T|ÊNä5Âm'Ba@x)æ„)輛‰yHÂjÁøë÷êµû֐.ìm${áØå‘C»D`v 5¿zE„懶>Dʉ˝æ#KoeÞÂ0%͊X$9xçA¢ZÂZo!ðNERDè^á7Œý‘‚&GøìúA‚’3yYÌì¶nu†0Å+ â&óÒ¡R+ËAíUfÓ´.ô˜oõНzîe»z]»7¥˜ô¿ÇoÜ ôV1›«‚ZŠí´‘E˜ +7×N´ÍºÎ4þ*¬õª7²(ň¥ÇÃàšÒƒÝpÝV]0à. @…±S«åõòž*’m±7Á¬¹:¹ÝI:б*‘Ÿt;ˆúéáàÎoósÎ æV6<\@54Îé0´F…ñÍ̇áíNʃ;줱ò•W;±þäMÎN*¸‰’`¼€(á<ÞV|ý’©ÉRÔl5iRÚ{ïh‘ø:LÌ"é°nQ‡ðb}ä9ßs ]žÍbÌÿª(ߜBØxÊ!nÞ(>y·‚2|Óåúëï|éëD>º†ÆÁÖøÔ8[‰ vKœ§%Zìo¬l:H“ƒŸDåàq†=‘iùÁ‹ÞcnÜ~ ‰2GRbA2™Šíh#-~•ƒïDÖkAÊ ùÐñ6Š–¬q0(Û-r È E£ÿ™ê!·ä#¯mwÒ<ñwDHÜÛND îÈϘ™;H2\ìÔ~û!",bMšÀƒ¦ ½˜4¨÷Œ«RïEÄí ¢fUîÍkŠÛà&žâÀúš$œa(i&Ú¡|FÄnXJ܄®—½ePØzøä;þþ÷AÌ£D•HJ0P +.n¨¿~“S„ÃÞÅ1’A#°£4ÊIT²ñ1©“Ÿ«@u u -+oDŽ=v}jXöbMÃi†øp‘—ØɉR"žˆ(HµÍ„ÿ94;ÿ×9cs‡]¦ññ€¢;“ýû e‰!ƒ )µ+žðÎÓãâéš{µˆ­ íh')OßI“§oDÖJêƒÛ0?wž®¿0D:¿7Y3;Ú¾oʶË<|fyuôË=õm= Wkä㧆URÜáðÊû®6ÊÇO-¶ú¥ äÚ&BaM¡°¦ ¡ðÞ_3 +§{çöãÎï“6„B)$^£6 +kß +›Û/ä­áæ&B¡þi£èBáü†ïöÕx'lþ¯6ԕK³·Á}/à„;{Úٝ×HfP½ ƒ·ބñÚÓ^:ü˜~·nöd>‚´¡Óɜš7¡ŸètµŸètó7ßÙ7t:û1G×Ot:ÙêMؾó›½Fc{>ò%Ìù¿4År>@#ü¸Ó‹ziúÌkôÿuþç^£?YéðáÎï½F/,÷S¯Q) ßcŸÇ>¦a²±æ&Yb¶–¾æ,Z0Í{ØTC¼fÀGPÇC|ä (!:ý v±“êÔI†/.*ð‰ÑÃu;ìdŒ"´â7žìƒØwbâ/Èí4?æjl‘¡ųnRD´Gö(Ü7s¨Ú2K ðZ?*.+ęñd÷z­N‘jÂKŠÔ X¤1>¤*œòl×ÅÛ¥oe*ª©‹´.¬ã¢•Þ€;¢¡·Z W#ù¤ê‚NAÀñÑ`“2ô! jiV…ù–µTɚ^¤ßüT-20Ûe”PÔð\¸ø¸qtª]]Pt ‡Á£ùΩd<¹b@œI½‘²€ŽáD& Übg御°h%²Ñ‡¶*#Év+™ò/­|j&DÚ↠•!톯W4ø•à‚É$Fö֮桍[!¾Î¬MbõùR‡øæñ(®Û²UŸcÖMm3ô™¾±ÜIiì4v¢Ö6œDšUc¢ÆžÃ+$íuðW­]þyÀhfâ+S^ „ ™Èø°ì{Þõõ𛯠s£…4X·Ëyò…laÐFÄ!à宆K7NtëA}-¡ò‚D+ˆÑò £x@QøÌN*rïüëÇNčgN<‹8!ŒFnÚþÒ¤ì3 ¤$37±Íe¼ÎŠ ŒÇ9 ®HV‹×)w†„‚I£+tÏv,&D*^‘s÷ a҄q?‰Ì‘ºÄ&±Åx…Ì ¾,Ä¿š Q[þ8AÁ©”<Ÿ<燵Z^KxðÎ÷—Þùy‚ÄvÎ-ÐõoîHæÝ,"¤9%¯À=à™ p4;I‘0—Œ` XH½‚¥¥QÅÐO’24p¹tÏún1H_´ør®ð&ç*œ‡~‰ñvîHˆ¹ÞÛî™(q2¥+“O“ÉW¸¤¬”´ŠsÎæKGÜØˆë—ä=«GÖ ôÎ +Q5ŠiH1ɨ!“Ì ÜDye,DŸ…áèq}1DR‘Ê:L‰¼¡u‰Ðô3Iq‹Õn̽֐jÈò2©UF#Ûì—L‘‹ê¬wRD©Ô@a¤¤eFžÀÇÙCÖBéñZkꢀ¸¥€ñ—ïíòTqXu'¤MëYÄÑI̺ö­©ÂTñ2¼ w Î?}(*⚠’4¤ŒŒ™ tŠqÏàWš5ik×öt:‚3OҒHSþ^vÝb•<ÂÚ(4›‡ipCóô@I]É:ãV*’ºƒÿû±²vYèǹ¼œ_ˑ˜Œš'…® Õµù‰ê*±»ôµ¼¡º¶²#ˆÈ/ñ•‰êªÚ(ò†ê:¿áÛ=dý‚ê:Œþ!tÜ¥Ù[jîsT×ÙÙûÓÎîçõw̞Ԕ—õWω̩zNZ>Ñ>[9Ñ>çoY³ íÓ~ÌÑåíSv„zN¶ïüfYs±>çü_šŽS۟¡º>XÔKÓg²ÿ¯ó?÷ýÉJ·¯ ºZÇÙחû™‡¬!©¢–ÓCÖBõgÐîÄù“XÍ÷awFäj%B"6?„­sšŸó¦ é6>ª†>ìŽ~P?•ùʓ-ë»ý΂DÊÞCQU"'£9ªæå:ÃÓ1ÚT’!ñA}lž¬j…UC€ù¬±©šWCdw8š% ÙfÅêö öI¡=B1žLUU’øÍ`äÔE¡–x.ølvTvz%">Ý~ë•3_YåjXlŽñŽÂ"Î3jŽb•]ó’éŽObŽm9¯Ën¾‘ù_ µc숨c]ƀ-E܏åLJdê M,ö†Üw$ Y£¸.†*vÖ¬ìD̊ý¦½æP6’½kÁÜ$æÑÍ¿—ôDZ6 ;BÉ|À3·åÜ»{³sóÕvÙ\MˆàCrnÃÝc±»eâÃáÑ6í°±Iß|ªˆÙpw¤uŒh¾ýC#‰Ï×i­ /@Í7”Ža‹Äºø¢㾒×ÿV'L{eþWËÞvû'L„CQã?çCíîs'ÌÞùþÒ;?w´%kƒ6I‡u> K«$ eæÖ(õ²«ÌZö61 foíFhž`V(iãS¤ð ³KŠl;= ë +¶iœ4I튝DÉj¿×>¼Ä$’ì]#ZÀäQ‹S L]Œ?Ú oO‚0àÃnÀo\hðœ"çw8LdlEy³ïœ£7ÍËó‰÷3-eºKÅǁø:pMc¤×$”aÝxí¯Çoÿí Žç\‡ȂH)G)·ò׃U7Ó}g&êÓù›l¨É…Œ!j›"†*> x却¸$ ؕAÁ܌96vMë‹dß¶ÿžß¶Ö¢@¿Ò.&ä%G¡­‘áÉNÆhYƒ\8E«b€a× Ÿdç'ÇœÈgK{ÔvæIƊ<¶¶BSîßð¨&ÐqtÜV'ÝkÝ`áÁIÖÕÝsÖÛA,"¾@ïי¥ŽƒQ$‰ÇmUö¦„ÔéÇêºø¦PRÙ×óºîßç&H÷Ìi©Qܪ$~üÔÐö™›à ï»*¥?õ¢› \¹ãà„¨Þ~„еŒ ~¦h0PyXèò‹ušäϔøã?ª<¶=? ^é˜f¼¼Ž®ˆÐ6´Ï ±0ö8±6ºüÙø +þ9‡1Çí+>©ãTü‘§ uA¬5Ïp}ôK3 3|KÐ>sÌߟõ(Ÿ´–Qç1ь q@’‚\ÞG͵±ß2‹úCæÑ~h†ÌÖ®fu¹ø§-`&”¤´lùìÉ~ËÊeÀmþ˜£[=Éèëü´_ûw~lFÆöGf䨧2t˜‘sî›êšæg>ƒ£ß+û iŸù þ¿ØÿÜgð‡‹¾â6°¾aDþኈ̰ݠ€î¤Fd†€,1ÖȜĀ€È¨‚T`P烍‚…Í7"ÃpÇ|#‘‘­ƒ”+­ _´Yy& ^¯ÚN_1þO–ÍH¿„1™:Ël–ªÔa¤ô3ºñҝTùTùä"ÏkhXüEVl†`åÑd’é2yOûo¤_ûbqôWôæ{0©R»ñ²¥ï$DXàÊhô·ˆ¶B·ƒh+Y4b~_ï˾øXà¥òJý 8ÞþŽûªyùp“ªß¤Ÿy£7nõOžó!Ô&¬k /¿óý¥w®ÉÙD綈A:ýûǾÜa®,. Ä(4"6B¬be +’ di؎½Wî$JÑÍOb”íèÅ4㨍çØÍ>U%òþȎ.ˆÁ77Òv\‘©•…g£hà8i—3šæÍA + ííPÓ©#­L@*äâÜJ”Uä‰$¤bîv҄¸íä8tyœLŸÜ`Áº»ßÈJÃ+þ§lwk…]Qíj£,vÊn;,kÙ•5 ëÀßm‹T(_¯4€­íëý]œÎ>ñ*”>zªS2=:K¯¼ï*§>{Êæä9ŠCLÎ̈èÜ4#ººuSê—úޖîЖæp˜}ÓniDÈËhDÄ´!²E¹.Ô§å5"ù“úüi£XѾáûˆVâaü·K³·44¶ÏíëìýigwöƒN¡ª”=*ew§Ò¦¿E¥Ô¢RÚSWOTptˆJ©“**eLùP)cêGOó7MpcØÝÖG¯[BTÊí;¿ß~hí‘J9WàÒ ú¬èÀÑéƒe}Ðôsãáÿ+ý ÆÃ¬´ûJÑëøÞrxa¹?´"Т %¨Õ@Ž\­b·#\ԁW©ˆËv'5Aúýýc#%#'Ķ9ø, rރoºbU3Ct¡•FÜâU2oÄí"òg¬í8 —'9‚+t˜R z0ˆÑ̨ÜiAýƒ!Š·šZJ@8n |Êå7‡QEæÏfxâ^5Àè蓤 ’3ìdµ| © ͎P(O“ð ̒ËBÀŒ5©ÿ5Û ”KúS{ÜIcr“µíÊÑA—Í&Kè×Rë+¢‡wŽWzрX« 2‘…Þš4>Ž^©N?z¾B¨jÑFÄühe‡ÆioœÙž]ØH²(%dzÖväáY#¶M”aЗ=ž$X§ÿª.B¿cÔèüRV°“Pœ¼N"±Žo;ÑmqªÈ4L´ÏP•n{Œ·wÖ¥*ªc0mD%Ã@\/dHÌ<†<–*Þ‘œÍ)6bŒc¤•z-t|ì£EÁJLÄ݉E«¡¯Îæ\/5Ò¯G§ùc6÷’½7ö,.ð´°ÅÔý".±e¬¶¦ç{#ƒúä¹ñu)HjòÅÞûú;ß_z皜MÕÙÖÐËr >ˆ“Ÿ©bQxR‘›¼a§dÇr¥1t‰ÜÛGýX3Ûd›¹‘l3þúq¹mo1‰y„#³ˆÖÊ«¨Ð¥:c;føL1Q/‰¡€æ`†Ìý óQ\#н7Û¡N¤8‘p¹‘çgÞÐý}¾àåzB T"þ Dàuªrð"ðò°E;«¾‘ö¨öco]Ú-ֆÚ/;e》ˆ4œ1ÄÂë8ÜÇ‚Œ•(£« PG’¹Å.ÂA¿L˜ +„éÀ ÆiY[ËE¬”)VCýѬL5–˜7¤i‰²IâA¼XN"FrLGô¹ì?ìËËÎÂÄæ¢Û—X?7ÊöaÅTЍ˜!U#ˆ6¥ƒ´ÉöE„‚€À+j1‹‘ŒiãAy2¦[ecLØÑ5´¼? N¯gqÝX‰´ñÈIÌNp]¶Þì°>8Ôßb­“1!Tåä/›>¤ŸsÕ?~jhƒþ'|å}WÝð³§ìŒ?·ÖE0е^ôO˜ÆuYëwv²ÐfK§eK/{{ƒl”ni­ËËh­'¿&ŠsƞV§Þ`¾?>P¶Q¬Ç©;èÀ¿ÝZYÝ Ûrãº:„K³±ÈýsüõÙÙûÓÎî­u™B±ábn‡ s:­$ý­îŽ´l¸ùÃ,¯Õ“Xf²ĆÓI.¹~ØpÉÇ£§ù[-.Î~ÄõªÃ†Ó-¡6ÜúÎo·Öcm8[KÓ± íûÑéƒe}Ðô‰µþÿ•þÇÖúŸ¬tý +»u|±Ö¿¾Ü[ë,Ä`¨°‘À8…ß$ Íˆ¾ù($$å"³‹5‘hfBÈ;±K·» ( :eé©7HÈõ®ž˜¶µ2OdïѲ!ÚñŽ€áEFÝ)KÅÉÕÁ-]ۍyÖW­V<·$1ƒqƒÈ¬$¾µçN]¹âêʃ8>‚jNíVò8é(/q‰—£”æ|v&diŒqӎÞÐÕ®H@+{“Äz$ÔQËAÿpàIhCT̀S@ؕ’Æ#2—{Ó¢~ý؉ãs ³4ObÇui\ø7˜<,,"š +“×r—±a$¸èë³ ò¾U„!ÒQ+6Üí²PŠ‘0o·œF”).b•χ­Þ-ÖÂÚIYò±Ú‹¨÷¬‘ f¥2G“«×ÌC‚[,Œ!ŒeÎæ„ibwÕ4»ÃæÂiÜJî§ÔÜbµ%0ÀEGR +-7\,³'•…Ÿ3_h¤14U‰ 5âE/–7×IÜR¥ðáw­ +êiÂTz…ç%Oµ‡€FGÈÂÇ»³=Zð݇,á½4‰.ÂpU?/¸¥a©B\®ËF(ˆ¿¦j‚ìžw8%ëÑdˆ^§_Ê8Ã$!«ÃɆ9ˆ4Un1"•å<'ÔÓ,ӆ©ë³²‚*üÚÁ¹¼‡¹ÓšflüíÊ¿ë^Xa€ögžëԚROå{l…™ñö?ö®Ɏ\ž@w˜ HÁ¥¸¹’Û·=÷w?3à«×›¦¿'Cý ‹ÅYûÏÅióÕ'•¿?÷ϟzçž§$ŽåJ«0¶+%€>Ô Ä ÉÞÆY#¸"ªá”éfo, h¬~1¸ÜƼߨç!ˆ²âyRÄ.Κúŝ£¡Lfb­UæŠ­}Ó:—î°¦u.QÅTìõõ0‚WäàÏ”áž^Ï ù¥"Û]Á€N³’’ÀºšÁÁQ„‘&cæ"QúÀøº¸Gˆ€6eDøIZx‹t2Ňp¥tø¦ì;­tý­î¶¾}뇙ñ»'ñ ÈVPB]?°nùô!´vöd¿ùNý![D¬Ñíždôu}Ú/ÿ_á-Ò%È~nëSG‚-í)–öI¥Žwz~²ÀOšb&Ãq\\G—ý\G_³ìù•²¯t}ó }jáßË1¿Êº¿²”¯š;”Y6âu SfùAÀ‘:38".[¦äŚÍOŽrWè‰Y*ÿnâ•×-t<*€Ž¤ñ"¿¿yb׋IT‹^2XŠðB%ÛÀ[F(ª™Ø„$¶¨þ–ßxá˜T‹¤ìÎû± a+;$ÀsˆZ‘øÖ~i½*ÀgU½ãÒî3B­G;ä` B—Òå›D½‹âl«Þ²Î‘1Joþ1 †×&^Ð[¤! ‰/æH¨¡ +zâ%©ç®·µû­F:Æç–qmœDÛ-˜—³ßS÷½g‰înÙþ{¡ÑWªW1=ÖÍÏýñ/Š€ í{n‘³ðÎª­úÁ ¾óȾñ\L`3ñàÍ3ðñwþüÔ;÷´?K›ö[`¬%˜«h[`¬ÙÞDÛ̱[&ô܅PÖÓý¥}„’ݦïv¸¬KÏkòTòä5‰¨ÈHÅ¥ŽñM«œ†eå„EaDå'¡ÁŠ„›·É‹«D¢E8’ã>›8 ¤@î3?ƒî*Dù+Û,/ïsÌûÅG6za‚ƒaVÍīܐ’0{U Ð|»µ»·öxl«»Ççö#"S!ù–à"ÆX`‹’¥g hÆ1ãzÆÎn»Ïê.\À[×;·1ׄF5Œ‡Yt»õþøë¼á¦O)vš;l‡H³Õ¸« ¯?5Յë[øÌûîªÃ[OىûPpɚm:`èŸ0­Š³öN;Ë 0³Å®m‹m{́I·´öäe<¼%;¸¯rùbùE]Uþ¤¦*Ú(öãs€ë¾<"àjjžºGN{ ·fß/8ߊXý|·³GO¦P•ý^Oe¿§SÖßj.'§ìÛSÑwO¢ÂËe_'U”ý’Û¡ì—+=­ß²hq+ûöÃFçzâèuK¨²¿¿óË#®žêù¶·¦XÐ÷ õNŸ,듦oGü]éÿð'+>©oß칏/÷«q—=œ˜¨Y°”8mÌ5›[VîrqG'ÈÚpÂ^Œ¸xÿHgðeø€uºÔ®Ë|צøHSJÑçÇt0¹»J ÆáÚH¿çX³ qûv¸Œú(/¦ +€ºT‘«?XÕ +$½>¤Š±¯½ª‰ÃÓwI&´ÛüÂJè½9ÒÀ–åZt·«ÿŽë|ˆGi¨›ÙqGey*O€ÏJš—J¸QÁVÁ@4ÓH˜U»nµCm06CEhqøRÞªa­ 1ÁHWœÚæ¨KÌð$…^8·]JÐ)E–À2¬ܾU;|_œ[Ô!dfSƒ¯®#ÍtºcÙ«Dž , aǡꘄF_â›çΓ˜s-ÈÑ‚c¬Č«±ç¦žh¦ +p…ê¯åñQ­”áHst@@ŠG»¹,)Ï}t< DA˅‰^çöv$fGðÎÍ+/ٗÜÂñÒ&áÉõN#ýâ‚jaq#¾˜´åœÙÁÁ;KªF”¼zìÕª Ð@A-KÁm1Òoî6½5ÚíÖ̱*C™»ø{=Z|@MúY ÞàýbAm̒ª¸Q°‚¸øÝZG¬ÛuÐÂԓ8¹‹vq'/¥ÊuðýE"Óq«Tªœ»aE옸yÈXLÎq¯;—ûêû~`,­x.¹~ɓÛþi‘“m¿úTœ6åõÞ]ÿ;ïûù‰÷=»ç/) +âDyÀ2Ÿr¥$$(ªv1#À•æ§[lÜv˜‘~ËÞlýhºTƒT,þÌ]S™(þ‹<¹X<‹n~wLµ%{uÄÂT‹b÷ðˆ·÷$w6‘·úCöz>nþ=?Xažs¬°ðCM+XOV×zÔ´¤RRȖC°{ô7ÿWIQä\‡`¡l¨˜<,žº@Èí)«Á׌ Ï÷Êý%« ãp6¾¡Äy\Àè³I¹Izdôi1zD,s–VŪTâæPS¨Ë­†ó9ì’†Á¥H¹ªW¸À9gy‰³¨÷޾]7Ù¹, G2úëÛI¤´}9ˆ—ˆ ¾Br>ìöދøuˏ!³ŒkD\ñwC•™9»•oFoE÷‰fÚÀó3UL]‡›ê î ¬W/æ!ºi=ek=ÁÒ͌Q§*Ô¥¾˜MYjÖØªØdé•m®œôÛ#œºè;媜wŠY٘š±Ä +J¬iÓKþrç³ëFÓ[²¹Ÿ´]7Ô½«1vü&)ØÌÜûX椡„+È©S!ÑŽ¢‚Âåz8/Ž¿.|쾈qA·žp½/½Ì?ØïÖyŸ\å«jÿÚ30ž‰ˆ¿ënF¼þÌÇ/ñ%,—nRº[„ˆ¹u*æi1§Ëµ.Û13¶[Gº·ÎXØn58l·<¨ƒü¢­*ÒR•?mûq оáËÝ:åºa»5‚‘Þ›}'hä[nÕÙÏw;{pëèб_ʉô5™ÂiN_éË~¨gìDúr=‰ _җNªû5œH_5œH_ë·,šCú²6:דŒ~8¤/÷_î֙;ô™±¿VàÖt.h{Óíèôɲ>iú¶[çïJÿw·ÎŸ¬tý ›uüèÖùÄr¿wG_î¾ÂÀ—¶¢¼8-©&ÇÌÛ)Y§à¿×x6ÅñœZÇâP°%{Õ9Rr×< šÞESë$B…z9hЭx6"AS1UW€S¨s!¡£1;¡Ô$¢“_U“;‹®€˜ø/Gš"R3ß y PÏRR¦ Zµhµ„ƒ#˜UAQ$©ç݆ÜöTbÒtä>ÿڟ#UCvðDÜy•¢¯0[}ʞ©É N’¢j) oÕ4tߎSX„ÄŒ”‚»ÑnêIœ6E?±2bDËEÂBâñFvÖÑÍaN!‹” ½»Ö³™bŽ4GG”ˆÒŽvsïój„ eÓv„|WCü$±Ò󫱂¥YòrŕU@ÂdTžõ¶J­#É% +ÃM»¥ÀgØ0Óàj%ýæ‡絛ó›%Ü´)ö„¥™¶¢†° +š,¡Ä¸Z=£2V )Œ=I¬îýƒhVˆ#Â*‡ ÝßPƒPöa’ qÔ ˆ£êŽ RFùƒWg ðêOôíà[|Dqù4êO˜=]WvDL3‹`‘4-–Áå0#.HÅ,d´št¸° Ho–î4Wٓš‹_ßN"}G/ ᒡhør–èx|…† CV’jµÃqÏgR8÷&5u¤ž™çˆ¸Q¾°äós°§é6_äYz¥î`=áz„ÙŸ¢ã;eÇÏÅTÆ3|èϽóç§Þ¹·á³x0¾¦¶YX‹¹%£8@²Ï5n9ÇÜHÂ[z\@:Ò®æ ùN×Ó¨]#ª˜?žAµ|­UKŽ&>fÅ(mHnÀAHöèÖ5,†í#Ð9pš—¶rO°]¹hÝ\t˜uµëQªJoS½Á|¨û©j±ÈÆ5À: û‘‰ –ü«X¿“¨w5˜˜ˆ…Ñ÷MÙòMå-ª¹†v»¾ä™± þDì9b78ZSN ր望'«©ŠÛ +˜©w H +bCɼÉ÷´ä{K6ÚÕ -ÊÌìäÂ(ª¦œr´”VP* ¦‚ÎGBíƒR“SQ.Ü8x’h2Ø4éQåyñÄ¢ixCÁ\ +DM`$½™82 ZN‚uQE"ç½ Xñ‘Ã+²€% +ªGš¡¬L3<-lõ¤} u)º^<‘P–\fÝø¸‹A–'‡×ª%àÐYò ª …¢êgÑ| FCQc`]çás\u{±z§#ÛÝk1$ԑŒ•ë1ñ,ÿå AéCÀÕi¶dŸ›˜‰[Ì̕–ì#í°dÝn‰ìåI*܄½<ˆÁ—ƒ8¦ +R;yŽVf1F8Èî“ù%®©ç¥rn;énú¼þL 7k|à}wƒè­§ì°(ø¨ÖZӭс‡>ú‡xèr'™iù™¢•n饒—‰—ª:ðPq诧Û•?ÅKÕ<(Ê~¬ÿ/ðÐnࡨqƒäÀÇfß/øßòR­Î~¾Ûك—J§P|5ž’5ž’ö[&0:HÉõÃ<ñ„”Ô ¾ Tõ]ÔR²ÖRrýæ;«ƒ”´ktõ„”Ô-!¾ ÷_á)¤äZ[S,è{à¡G§O–õIÓ·½TWú¿{©þd¥ÓGÀC­ã›—êãËýjðQ£U÷Áͅe*ê •áh5 ©uL…(M}ê q<ýþv A ’BµAý‰nµ`pc6`. ˆRÁ²h.û\Ük +Úx©Ê=µB„±e6€O#&„戕¥.£^\O=ä:HíŽA/"J0V|n“²btH1üܽÔHsÌH>‘{v#Α@³”ÛÂõ0B™Ì-i*SCs$C0Ÿ#qD`j`# ŽC +0Á;动í8s  ¦%ß©M!Lœ0S]́b€÷¦Bԓµ¸÷=ð´—BЕº¥4T€étè çå;·õÏMíjj`|ð4 ?õϟzçž' ÝúëxþõÛӈ؞€z ѱÉlÛn°zŠß›ØÂƾJRÛI¶º;JÂîD¶Pðí°%p—Ý<°ö(^”­Åí*¾08Ÿ@ڇ›A 'ɘ€#"o¨¡]üLÉ)zÜuJ£ÕnÚw»fnå EÒØ[3'â5ÉÅà3;E¾ÑE-p‹ÏçT•äΫÌy’;‹‹Ÿ%¸˜U¿.¿†÷ ðð„E61*Ξ{q3*›»œyý©ïpæ<95Ÿyß]ú¼õT߯{çÖº¥OXû‚'¬ÍÁ>h⦢›¶~mm}kôžPº¥= /£=вƒ'lÙ'®Ë/*9ò'UùÓF±Ÿ\ßðõö@»Á6VZO·fßç†~žpuöóÝÎíî@ëj;Aëj;Aëì·T´ný0Ý® uºDKÔI-±¥´®å´ný–Es uöÃFçzâèuK¨–¸¿óëíö´n­À­é\Ðð<áÑé“e}Òô{àïJÿw{àó+]ÆGà ­ã›=ðñå~ïÖº½œ®ppÎ-ÀÈîæhu+OŠšÝµÏ}0×D웸PLŠYHQ\þ]úÁUÎyWö@t¢{âQ¾æ@è!<:à¿õÁ(lucktWԔ˜+äÐFÂpà>¹Ù-Eh 7 ‘—S'‘÷ /qH°)æ„i鼤Ée +ÃfõÂøë÷·€àޏ&‡ ÉwäIú¹Ë"‡ö≕ãóá&HÑüÐ>¦”Še9‘/Xeì­®ëÜf&4«fB¨nzè‰– ×Àë¼Óë"2íñ s5®¤¹±„qêëâLžD–:{9ˆ¸Þ™ò¯0ЛÁÛ|ƒ^ cwáûd6MAáBÏù^îqÛ©ç^¶KؽËqgŠIÿwþ?ÆŽV‡Â[J# (G‚ÿÿªÜ\žh›Õ‘ç>ÿÂ9ŠRM¢ªˆµ 3J×=†¡k +K÷n-¬˜C¥¹S›¥úòžª–|±›à6VB^/¹—õ$è\•ƒÈOz9ˆúé Áá!ºù9gs+ðý–:çµbuD|³¦Ç4Ü0NîàI¨óË;OŒ?x¥ãIW’S„(èá<q¯¸ý’©)Rñl7YõwG›Ä×ab6I‡õruøxÞGØGžóðEÒMŒÜ"fÈú¯–¢ c*‡¼ùN±ðÆsqî–*u»þø;~êûH>»ÆÉÖP„¡ÚÜK¥®í¾¸LVKµùß\Ú˓6 ?‰ÊÂ=¨´äZq²àª7šž…'cá dš¤Ä:â’ڑ'-~•…;be%‘¤šQƒo£l)3'dˆ`\hÕd¦¾AÊmÉ \OZGþXÀ܃ð›:v&O9ø©þFҕ¯IԓQŽL´GΏUi2âå ¢.c’UšöÞȅ/†Ú‡´‡ÆË¸¯•x‡2ö»aÅ* ú¤ëmo<¶>ùÁÿ{‡„+Q'’Ú ƒ‹Ú¯ßdéÊÉ7‰q±Uíȓ–D9‰*Q<s 2t“(ñ qK†5«8"Ǟ‡>5z”kYƒ‘™×ÙsŸYünUYªÊÍÄ<Ž Ý1ck‡Ý¦ñò%E<—ýדpNISÛPaÏÔÛfêÁî荈ÑÚòkGŽdLݓS÷Ä ¡\Cp8 ž©ë/ŒÒ!ú&îû¬#GZÂí6_‚cAfãÁsÛNèÝyý)Ø%ϤÃgÞw·RÞzÊøê‡®’[_¨…RӇ®£v9ÔÂG§ÍB-\>sì,çÏåP ¥[qõ…Z؆C-ìÁ£`È/ÚÃò'­aùsb8ÔÂõ _î:jùXØã?}j,·f߯i¯¿é:Zý|·³בN¡8&w? +-Ÿ uö[}o´ný07Àu‚ÖéP‡Bw umœ u“¹œ= Zg?dcŒ´Îõ$£ï´Î}痻Žæ}æPX+pkŠ}Søz§O–õIÓ·]GWú¿»Žþd¥Ë+ȄO;~t}b¹ßuQcí>zîä¡ +|¶ »¤#lwàÕ7`4ˆ&|!Y˜è¢ç]ˆÍ ¤ô3؅#•¸ôRGÔð6¼@"öŠËEê5:žœÓ£ÀÑÖEä6ÚLœsÕä ×\¥H†¹++H÷H(…/ã…Ä"‹¢ƒˆhR¹ˆCAй¼3#jي«]xIµbFšã«]}»a./†¿ÕI‚a[«^WyÑjrÀ'ÑÑ.®œZÜíçHR#†¡ÓAA”vÕÉð1Ž&?ñ$äeƒ.VWQ‘ÌTY|ªÖ[í üfE/•‹ZîA5ì¹ ª®á4z4znr<¹C=ˏQ ¬iâîAdÁ‹'"·5nM©A‚úÔXe$Å.f%y㥩Oå„\\@I춐l|½nóï‚ÉTììÕ®Mµ¨[•¾Ál]B÷ùҀhçù(3Š•¦cNë+ ‹„€KG>d žöIÔ‡ŽìÍ1¹_!™ès&ÐxùÜÕgKS_4s©ñ>76’“ña%Òó²õýð›Ã ssI… â5‡H¾PVP´qxË«ÁӝÝGR‡Kj¼)nDÿnªÅ#<Æp¢ÒxR è_ß潐õ;"°N®dÓJh“÷s õ2“£ó\ÆÔ)qM£Œ³f¿ˆÿ”;C.¶$‡1JÎj‡0cÏÇeDO L„w?‰L™z9ˆI"ñ + Y|[ˆÿo¾Dëåõ| „ªRô¼ñ\Lm„ÏåKužØ +ܚbA߃{=:}²¬Oš¾í&û»ÒÿÝMö'+>÷jßÜd_î÷Üd¡¸­žn²øÅ²#v à‰äbšçd‰—[Yºz͐Š=BŒÍÐ/e +Ԏì NF¡Ñ©Úzj` +³'r}ÝoE€eïR˜­ô?È(Rɪ}…Á`uŒö’B¶@¹€ +ÙÒ¬¦åUG¸ùªÀ©ÚWGœw:š]S ,E1F¦Ê=\…’3Š"„™·pP”â­²<֎•¥ºªãƓ ¶Ó5qñéû7ïžùÊ&wÄbw\!rŽð¶X9ŠU“ _¸ðÇ'I‘޽œ÷e7‰û/Cò˜;"ë&v„ÿ‡lYã“MrŽ*!”M,EAX^’)訦â¿S½ð¤=+žˆYq¿QÖ­ÈsVN·‹‰ÄA sò†ÿq¬ÝPÐdÕñÔwé¶Ãöqv@e®R¿Ú®˜¿ ö-òu;î «]27öe‹Í¿8ß«؏¤}‘î~#!_|n.¸NkËS sÁðϟzç۞˜~eIâ a2`¢ÏSÃÂ+—¢‰2“ ‹têÕfφ–ˆ]¬õ´W;¢š?˜õKz²²(L6©²ïb$$1ð°à›ÆJ»T¶ð$ŠV÷[7â‹'ÂapIö. +¼ÎèD«A2yv1þ¼nZšxðI%'oÅ{6´¬xN‘ 9¬vÀ»íUcz'·óCdM×<½xñ–¦ÓPÇÆP;°Mã¤È©!ÄasÌö׷㷌ÿå ¢f׀(U‰³Tzýçɪ›ý:vþ%êz-£DÈÚ®×Yle058m —°0T¥I +@Hg̱ñC„#õqømþ÷ú6Gœ³ l†lK¸Ïp¿ÅQH«†²¥‘ü$U)Q.¬¢·A9 ؆YâÊÂ6+ŠÅÒ µÂz.ãEÈ%_ÛA*·pxÔä1:n«Î“µª°0aG’u ¬õå ‘_ …tf©ä`—„‹ãΪDÓ ROêùcí]|SªWõëy_÷/ô\ÜiëHO|ª&¾þÑg|ô3ﻫ¥o=õ)_A‚D5̓“²þùò-¥¡E^ði§WdÐò4Óåׅø*ù3t>Á?£<¶Ÿ‡Ñ›òÂøäëÄ1×y›û ll?.¿ø +þI«ü¹†as„ö¯ ÕVþÈ[’ú!öšOQßQŸö¡™DNñ8Þv¬¾×£|Ò^FÇNC2å JJ¼ÃAƒ'ÖoY(ù!ó¨?І<ìž"nhe¹äO]0ù0XHmÙËٓþ–Í¡?d{Ø]ßP•}[ŸöËçë†d dHÎ}*6\? ɵMmMßóý>YÙ{S™ÂW½û¿{ þp±ûG¶Š1ŸŽƒO¬ø«P ·IÐÀæ6) 1+!@… Ý‹˜¨#À¤. *ëž;""}pÕüB"tL®ÄBl‰ê.Þ@dQš„rv±i;}ÊÎsßé÷·„ñ.”^{jP2]OÎÒgÞw—So=esò>¨C¾‚™9„eF Ei£Žþ ¾÷­;ô­9fÀpq9,6¾LŒˆ|9”¶ŒÛˆõ´þÂäOêCò§b=Ž®oøz#¢×G#¢FXÿýÖìûã›öƒuöóÝÎìBU)Çuª”#œJ›ýæéQ)õÇRWO¢àÈP•R&UUÊ|•C¥Ì×8z²ßÜöƒcýÐÑíždôº%D¥tßùõöCïÏTʵ·¦sAË{¥ŽNŸ,ë½é;ÆÃߕþãáVúúH)[ÂGËáËýªåcÐøk*A½%r䦽1‡ëÇH»‚¾IŸ­'%ÿýý́`œ°èpZf~BY'AknOîš´Òû¶äýiÿ3×6e–C¹CqÑOCëGnjé8)H:ä(­Šƒ]‰»ZJBTnNÀÖ*Žò›Ãh"óW3H¼KL•&(Ò9^š óe€Ê Ja1 í`{Žˆº¥É ms´‚ÌJÀŒu­ fmB]ý\¢=z*xòNÁ»\:‚t±n´.€q-ƒè5Âd$Þ9_Մ‚kAàã©ÿàf—£gN5»8Ò3°˜¯»ˆ6"æGê=PÿŽ©sfG ɑdQjÉg».eù†ÈÖ©?þ`ýR ƒÎìù$ ˆJLUàM‚)ãK¢<©ü˜ê7üA$ò‹'Âï˜; +nG-ÙÅÇ>¸±ÆjBL8_Põ2Š&Ğbëjè<†ZÈDäisŠ˜ç«tá p9J˜4ǵXºëlÈýR#ýzvš_gsŸ²÷æžÅ ž–»Xº_Æ5¶ŒÕÖôà|ßÉ Þx.Î#V%Kùfï}ü??õÎ=9NÕqkXd¹&ÄÉ/T1(<©ò*/N“²V2ÍiHüæ$Vñ`Ílç‰Ðô$݌¿¾DnۗƒØÅ<Âͬö/ċ—¹-æ[¥n±3|¦˜((ƒ¡€–d†Ìã ­ëQÜ#н·Ú¡‚¤8‘p¹*€ž-SG4Ç!|!j•>¨¸{Âf”¼# ˜|‡,HlÑÁzpd€#«ý8úv›µ¡"Œ§8¸‰“A!£<£ + Œ#_÷RŽ TŽ®68|WSR®ÎdíB’øeÂü$¤€LfpæáS?<Š£üæ¦É„ÌwÍê’Qs‰qEêI[”mZ’P^,§Äƒ}‘')ŽÉ´øÙ`_Qv&–(ä7ÀÅy¡lŸVLݑ +Cy¬2¡´×uœlßD@ÀGàÄ=§ÅHÆäxÐXŒÉq«aŒ ;º¥^üÃàôÊûݍ•p$Ç#7ñŒכÖ'‡úK¬u2&«œüe«>ö9w-ðõ§¾+;{䄟yß]7|ë);ãï[ë"ÅZ¯ú'Lã¶­õ;Ù h³¥Ã¶¥·½ís]‰|™XëWtŠêª‹ë¢ñ5AÌ÷ǪÅz<èYþåÖz.áf­ã¾:¥[³ïWJoC²¯Î~¾ÛÙ£µ.S(6\.ý°ár¹N+É~Ë]ۆ³ËòZ=©eÆ  6œLªÚpW‡ 79Öѓý¾dÑò¶á֏È}Øpº%ԆÛßùåÖz.é© g+pkŠ}’ýèôɲޛ¾g­ÿ]éÿl­ÿÉJ‡@²ÛÞ¬õ/÷ëÖ:«Õ¡*l&FNF98F´-bnšhFÑ0ò”Š™…’hfBȱ밻 (:%B«¯#R¾ÛA™&_aš#¦ åz2s©x+‰Ú˜>Ú¤ù(’´X ÒµCpËÐvs^§õ…‚‚ÌF‡šr¡#—ZTx©¿êʈ1Vk.à#¨æ´¡ÅÐ#,zTžÏ]ëññ;X šó‰k—MšãëE1 ]»ª!­1j~ý4•%i’ýÃ=€'¡ Q1›úX¦ +2I’ÌD#²ÔG“£~}óDÀŒ1Wó$\—æ…„ÃÉÃÂ΁°Øû¤dF‚‹NŒ) ¾U„áT +eåŽéݑ0h·œF”)®b•¯‡W X<,åIC²±Ú‹8uîÜ¨iGfjrõºyHp‹…1¤¹ÌŜ0]ì®fa³19NçV +?Xˆ Šö…+0G7IôñMCî:\,«'ha•Ÿ³^h¤94Äò3”lç(FÕ´¸ýðÐÜ$ºN”ûMÁ ãï- +jØÔÈz…‘­ŠÞ»LÂê™è1MÛ£´;ùù°Ú¡ '`¸ªŸÃ|Ä}xÓh |)\-]TûùÚiýñ`u@> ŽwDÙBE4zOŠà Ü0‘¦Ê‹'Î3”ùù¸PçyŽÈÙ¯ˆ$C×g© ¥ÝùµD/ƒ¹Ó»âflþvçƒ_u¯ Ø0@ý3ÛuiÍà?å{l…™ñ¬ýçæ¹AË[IðϽóç§Þ¹'Ç)‰c¹ÒŒíJ 2¢”°*Ù`üK•æF$£Qfg h¬~Qè\ì×É+£ž‡ &@”Ò§ éNW,~GqçaÑ`¥ô¹øÃªôÑ\‘£µ`]çÒÖºÎ%j›Š½¾"„ü)ð2ÜӛâØÃ¢Í™AþŠï*§Ù¯TXWSd¸Ea$×œ¹HÀ¾l9þœt¨€´(CÂOÒ⩛85D ãMåB5ö¾9yÝì}óüºØ{G@m8nŠ*‹Ó? .‘[…Э5–C@`DÐtxœ‘Ÿ©R %Içû±,ÿՓz¸̇P׬[>}­=éoÙ úC¶ˆý°W­žtôµo‚ûίðéd?·õ©#Á–áÖt.mRµãžŸ,ð½é;~£¿kþG~£¯YóöJýŽç]ßÝG_õ÷ò˯²®¿§ÀBVs;\Ÿ„æˆê+¨3ßIáïH(åÌbbžˆ»²àBX·Üzb–BÀ›xåu?펪ß&A1¼ˆ•ã‰I¯$Q‡,2°©rÀ’ÊIR‰EEÍ'$±Eõ|°Ç Ç,á´HVæÍØU*VX0ç€-‘­W×jH/®z»!¤96Üd„ZvSñ‹AÃÏ¥’¹#e)á6·‰IïWçHj°;?OL‚ᵉ`‘X‹@,OÂ5d„èˆ(žÁ´óÝÛZ‰ýV#ãsË舺 N¢íÌKŠÙï©ûÞ³$w·ìÿõD¬ù¸Š ÖÍÏýñ/Š} wí{n‹³O/ò¾eVmÕVðçõçæ8ó%Þ|çÏO½sOû³Œi¿ñòZÃÖ-š×lo¢mæ“xit©J†ê G¨î#”Ö=új‡kú¨QôÌ­)‡¬‚š@redáÒ4g‚s.ÊiX_Nˆ‘xC JÎÉd!#ÁÁ˜³ã*‘HŽä¸Ï"Û"ûÌÏ £ +!ÂÊ6ËkûÅÅÛ>@ñ‘žÄiÙž³’h Nõýv€”„Ù«…æÛ­µØ½µÇcû˯™ŸcŽˆÚÉ·1Æ+” (=c@›ˆ.ˆ™Ý›íª'»ÏŠ/\À\×Û·1ׄ¡Na³èvëýñ7xÃǍ<žRì4wØ‘f«q×^ +ºB}Â>ó¾»ÞðÖS×~Ýû À%kžé\€¡¨*ÎÎ;-,3½Ì + Û +ۖšÃc·bçñebç•ìоÊ峇õÞ RM•?mëq p}×Ç\­ßL<¤³—pkö}rª·1õWg?ßíìѺ“)TM¿×SÓïéÔ¥í·,Qrš¾þXúùêIõwnÕôeRUÓ/¹š~¹âѓý¾dÑâÖô×ÝîIF¯[B5ýý_ 0wèS%ßVàÖ ú¦þÑé“e½7}Ϧû»Òÿ9àOV:SߖðfÌ}|¹_(ˆ¸ìጘš¤ánâ40ÔlY¹ÅÅí¡µé~½ pñæQÜÀY¡=&)\j×e¾kSz¤)eèóC‘ÁäÖ5ƒÔn^¤ßs¬Y ¸};\ F}”WR%—ÿÒ(l–¶I/©b@ìãÃk¯jâ0Ø´Àã)i„v9㵒¿ï/} ÑÝ®Zä;.ò!>6eެCếÄQY£Ê ;Ÿ”4¯“p—‚­‚h¦‘0!VÁn·CA9‚šD-_jÓ«­%TËÓ¤§{j?˜£.Ñ©é…sËÌèE‘%Ðû‘Õ +þ媝G¾/N-ê2ó¨A›ZGšénDzW‰9A@@ŽÀKç“]¼òÜy’ús®9ÚCËJì0#ªA칩šIÜE¡ú y|T#Š´»£/Ø(ñh7—e.Æ5Žg)ۊÔ¹½= y¼móD‰`_Ӏ$؄'×;ô‹ *%Æñ…Ĥ-ˏ488úwÉÛ(’Q²ZT(¨h%NZI¿¹ÛìRvµ[3ó7«Ø{=Zd@MúY ÛàÍbA…ÌŒAN&‚ާã°ŽX¼ë …X"'×hœÙqà½cDù¿:øþ"1é¸O*UÎÝÐJv‘A`‘‡L*Êmîuçr_}Ó€¥\ûéßɶ_}jž†Ñß»åç}??ñ¾g7ü×bC€¦De>åBìoÌp¥yÀ’ï;,ï6÷fëG»Ð¥„$aáà ü'ëB Šÿ"O.É¢›ßMGL“?öꈅIÅnàiïIîln"îó‡ìõ|Üùû—®€Ï9VÀø¡&¬‡JiDMH!u!å#Ø=úƒ³ ë´Ç"ç:„Ćëä9,<,ž:\AV”œ_3. @Ì!“—´„#qÀl|C‰ó¸€Ñg“r“ôÈèëbôˆU0æ,­Š–ªäÿ ¦P—[ EÎ0«ä…ap)R®êåmjwq֖8ƒÃ0~´ëK6ɯð$•¡¿¾DJÛOd®`¾¸‡5ëÄîí½ˆ_÷û²Ô±Ù퀆+þn¨2"3'»”AÕVtŸhŽ þ®»ñú3¿¾—€\ºuJY¸nà!æÖyp¨˜§Åœ.a;]¶cfl·»U·ÎX¨n58T·<œƒþbaΰPÝäOÅzœ´oør·N¹n¨n8¤÷fß/¨ˆo¹uVg?ßíìÁ­£S(Æ~)'Æ×d +§9}9Œ/û¡ž±ãk÷¤&|q_2©jì×pb|Õpb|ÙïKÍa|­:ºÝ“Ž~8Œ/÷_îÖ)×SŒ¯µ·¦XÐ÷Ð܎NŸ,ë½é;n¿+ýßÝ:²Òá#Pn¶„nO,÷{wô…ÅžTÃWøÒV|· ŠÄ¨Ð0o§d‚?hä^ÖÙÇ5j!;Šc À–´Tóbn©Ios}"T¨OC^:0|ÃÕ]ñteAp±0æ%”º±ªÄrò«jÒ0gÑZS´áEš"F3߬+ö±XRfš±¦ÕŽ0V¥-ê }·ýe-^xä< ý9R0LG̸ó*E_a¶ú”=S“éSS<-%᭚€îÛ¯Nð´Šä¢À׋v¤½@„6E?±2bDÈ͈’¦ÚçJdÝæÔ°‘ ¤wb]}1›)†áHstˆFˆ²Ýå¤Ì«.t–MODîü%ßՐe…ÈDîâ +J$~)®œ¸¨¢ £ò¬7«·Îôf”( 4í–üža#µYó<”ô›*°ú»]¿¤_ÁbOXšiÛ(^« ÉJt+°PϨ +! „?âAŠRMüÐÍ +ÙD†¤Â„Á&‘s9Õî„ab$IÂÅaÅQuGP)£üA‹«tcT¢oßâ#ŠK¯Q÷ xÂTޝ+;"¦™E°HšËàr˜wIµ,dԚt¼¤ HÄm–Ðí4Wٓ¢‹_ßN"}G/žó v ‡"ËQãâñ4l$ ehIªÝÇ]<ŸѨ<܋”¢º‚ROËóÄ 0䨢Ãbö4ݦó‹îbP‚åÉáµB 8tš6Þ8BQõ³h¦<‰kê8ŸãªÛˆÚ§#ÛÝk1$ԓ”•ë1ñ,ÿœ €Épuš-Íç&fÊ3Ðõ,ÍGÚaɺÝÓˑL¸ {yƒ/q*E­vòœ >Ô 8AùŸ'“ù%®©ç•rn;énú¼þL 7«|à}wƒè­§ì°(ø¨ÖZӂ ­ÑÁ†>ú‡lèr'™iù™¢ƒ e·â¥âËÔKUl¨8ô×ÓmÁ†ÊŸâ¥je=ÎÖÿlh 7ØP”·AZàc³ïT·ÞòR­Î~¾Ûك—J§P|5ž`’5ž`’ë7'0:0Iû±<ñ“”  ¾ ™Tó]ÔL²ÖLÒ~˶¨Lrý°ÑÕLR·„ø.Üw~¹—ª†§`’knM炶÷`CNŸ,ë½é;^ª¿+ýß½T²Òõ#°¡¶„7/ÕǗûÕà£:Mnuƒ-°à@E‰¡2­¦!µŽ©¥PêAÊâxúýí$|$iƒú3YépXY£EæÒ0- hJ C†æâBk—ªÜ¡1¾š-³A{1Å24G¬ÐHrԋ멇\I£Ý1èM.>·IE1:¤~î^j¤9f$ŸÈ=»çH€#·…ëaø®]Á÷zŸš')vù‰#¦IÄF@‡Z‚wʵ0A[!3 +ð`úæ1h¢M!à䢴“XYUQ#¼7 +€à¬Å½ï¯0 ­®‚¨Ô-¥¡¢ …~¦ÎÐq^¾s[¿ñÜT?çšñÁӀþÔ;~ê{rœ€të¯ãù×oO#b{¢HbˆŽˆMfÛå»ëAq»s#CØØWIj;ÉVwïTv'²…‚o‡-» endstream endobj 364 0 obj <>stream +즰µçhDñÚ …l(nWñ…ÁùÒ>Ü Z8IÆœ†vY3%§èa× ÖuÓ¾Ú5s+OR»Ø[3'bDÆ;ƒÏpì ó6áK@Tg€YP¤}ÆX`ΓÜYÜÄK¸2úuù5¼o€/&,²‰ÍuîÅͨlvîræõ§ oړSó™÷Ý¥Ï[O]û¾skÝÒ&¬}Öæ€ 4qSÑM[[[ß½&d·bðeb´ì€ [ö)ëú o?©âȟ6Šõ8¸¾áëív&œ3ßë•n;_ˆ)yÓh7`Â×:{´ºƒ««í„««í„«[¿e‰\ýXº];áêd¨–(“ªZbK'\]Ë'\ý¾dÑ\Ýú¡£Û=ÉèuK¨–¸¿óëíö®n­À­)ô=`£Ó'Ëzoúž=ðw¥ÿ»=ð+>LhKx³>¾ÜïÝZ· —ÓιÙÝ­Ž¢•I¡õÚç> Ð."öMŠV(&E+¤(®ùöxÐaáá~weÄA'º'æ-_s ôR¡I³;qb +Xš°.â:‚\eàj€‰Ín)B;IHÅäåÔIä}‹'^lŠ9aZ:/ir™Â°Y¥0þúý­ö¥÷£ ‚Cò9’½pîòƒÈ¡½D]O]¿Å&ÑüÐ>¦”Še9‘õ'½U»ŽA计ARpþpÓ7B&5 r ¼ŽÀ;³|•ß0÷Ǖ4W"–0"%9“'‘EÎ^<%‘Ó”§x…¡eÞ>àôJ» ß'³©ª !ÌoË=n;õÜËv »w9îL1éÿÎß(¶5­âð–¦—b@9¼á=ŒÑ6ë&RªÍ¿pŽ¢Ô‘@ w'Aí¬$]÷†®)òsqïÖŠ$Ô4ô³ìžª–|±›à6VB^»ÜË:’ t®ÊAä'½Dýô†àðÝüœ3ˆ¹ŠTúîœÓi HÙ +#â›5=&ßjrOš@㝁'BEå”n҅+É) BÜpž€¸WÜ~ÉÔ­u¶šX)d×Ñ&ñu˜˜MÒa½D>^ ÷ö‘ç<|хt#·ˆ²þ«áJE1•CÞ|§Xxã¹y¸ÁñQ· 鏿óç§Þ¹ä³ iœl õ™¼¨¢ôÙÜKˆ.v_\&«%ƒÚüo.íu ?‰ÊÂqZ‡ã"׬]ÕMÏ«±ð +82 MRbqÉíȑ6 ?‰ÊÂ=‘5\D’jF >t¾²¥ÿÄ L +­š ÀÔ7H¹- yëIëÈ?k—;b¼„ßÔ±3yÆÁOõ˜0n+-xMš ÿN9úeâ =r~¬J{”/w®IVyHÚ.ã¾^Ò/ãÜšxŒËŒÝ°b• Ԁ¥údo<¶>ùÁÿ{³„+Q'’ª ƒ›ê¯ßdéÊÉ7Aìþep ìȓ–D9‰*Q2\ƒ Ý$J9$Cْ­8"Ǟ‡>5z”kY‘Äëì¹Ï,~·ª,RµgÑA Ý1ck‡Ý¦ñò!†“Ëþ{²„“AÒÔ6^Ø3õ¸™z°;z#b´&´#OR¦îI‹©{bG(ƨcêö c@8Fˆ¾‰ûëȑ–p»Í×àXYçxðÜCã¶z·G^jÚ%Œÿy”ŸyßÝJyë)㫺Jn}áJ5ºŽÚåð +6 ¯pùx̱³œ?ö8ýB×Â+äËÔu4^aCá ò'­aùsb8¼Âõ _î:BvՃë¨ÇúÔXn;_5Þ  +ŸwöóÝÎ\G:…âP˜Üýp(´|"Ö­ß²D±Î~,7Àu"ÖÉ0‡Bwˆumœˆu“¹œ= ‡Xg?dcØÝ8ëtKˆCÁ}痻ŽZ~ +V·VàÖt.hxPøz§O–õÞô×Ñߕþﮣ?Xé2^%|º„®£O,÷»®£ZîC¡ç>¨É€³ØJ·Ò‹°ÝTßJ1M8"Y˜“ ÁeNÄjn\È ŸÁ.<©,½Ô»„·á±‡LbËEê5:ž“8<±Õ©Ëm´™8çjn‘©UE¸îR.DŸ‡W¾Œ‹ÔZ$¶4˃·ŠhR¹ˆC)Ši=¶ŠT‡¨+®vá%ÕÊiޝjí +ßn˜Ë‹áou’‚«^W–wQ™é“èh-§xÖȇ©CÐi‰ x4Ù¤\u2|Œ£i©OÜ?οZm’H½I¿ù©ZIlµ+¨×¨8â¥rñQÅ=¨†=wAÕ5œF¦@_µàÉÕ9~Œa½ISï#âîAdÁËAl,ÆÀ7HJ Ô§Æ*#)v1+Éó/M}*'àâJb·…dãëu›ï|L¦¢f¯vmîÒnõù°u ÝçK¢ç£=ýŊÒ1 §õÐ=õƆ€KGœ@ ’öIԒ‡žHØÈ¹çð +ÉD‡ßµ6 ÆÓ5lHtá}0°ÉœŒ+‘ž—u¨ï‡ßn˜­­Á¨„ÉÊ +ŠV"oy5xºs¢ûHêpI7Å ZŒÊpð…@<i<é’ è_ß<¼¥\<›ÛûúG6-¯Â±Ï0z™Éщv.ã Veeœ… ûCü§Ü +œ£$9ŒAQr¬Œ6?c;ŽxP³…Àî'‘)S/±J¤1^¡á#{‚o ñÿ͗h½¼ž/PUŠž7ž›;¸<‹eýÜ;~êoçKøƒ®a¯ÿrKjŽ!6È*yÙ‰£9ÝIêF€»@jY©Ék4ð´ËqªœÆIRŽ6w=ò¾—ƒ$–Н<‡ÞàSž‚¬‡Î‰ùvnIȹ1Ô$JSºsù´¸|CYb«%íî,Øð#€|$ ÃPŠ‘U%ÛÂngÕ(Hƒù¤ÆZ¸‰œBÉ\ÈU”Wæ*E&àOÃ%ƔI:•L‘|¡eËй£¤ÞÅn—¦š049 Ím b?«FöÙ/™"A M*E€Èâ "ͳ谨ÿ¾ ‘K„°…ÖïºÕƒb$lˆj^óÝ®,u†•xÊArjÏ&ÎYÍE×^.&Cox^P£§')¦ª2®‹@C½Å>g‚L0(nčï¬,ê%"nµë>½Ž°ÍŽd" r*> +¯O̚WØ:b“&÷0-nª’.(™,…ègÜJU2y +P\/n]ê}.oç×R&<§n”ENif¤15“᪱ຓZîªçʨߢƪ€¬-ŒÍ²…MBè—'©P’ö ¾^b‘Òà|…`îâFBF—,L¾2}CÖ«RÊ]<.Er)EÃxF%†w×3­Ò¦I¢–'©TÒÃ}ʯ—ƒÿs¥3\’ÙÒîR³™Ôü¿e\8åðžqaÒëOÁ«ŸÉ¸xò¾»EöÖSŸÊ¸ÐZºÉz\p¯Ó²Ún²ÓAµØÛp¯«³Ÿïvöà&Ó)çI'h'èú-Kä@@퇹¾Üï¹É:r,Z=Ýdq!eGì@Áìn€@v‚šeêê5C*ö©²æ4C¿”)P;²o$8°Sµ=HS ¦0{"×wÿFL’8Ø»”d˸& 2ŠT²j_a0X£½¤„-`A BvBáYM Ê«ŽpóU{Sµ¯Ž8ït4»¦XŠbŒL•{J –#¸îƒÀóÉ«™·*«£¯_ÔjDvÁqãH¸tMD|ºû ½Wm,„ÈQXü9cå(V56|áŸ$E:örޗÝ$î¿ Écq¬›Ø¡n†lYã“Î9P@¨„P6±€Ä viB³"ŽFñ_„©^8’›OĬ¸ß(èVä9-¤ c&1ÌÉWþDZv @BA|âœšïÒm‡íãìPƒW‘_mWÌß4{c¾nÇdµKfâÆáÑn¶"—8ß«À  ¤}‘¾#fn!v«NkËS sÁÔõZF‰µ]¡D›ØÊ`j*p bÃ%, Ui’Ò¹³>·!p×ÐÇAâ·ùßëÛ6Î] `ƒ4d[_ ÷[…¶Bôm$?™£m’2‰“ÒÛ ÐlÃ,q˺±MÀŠb±4Hm‡°žËxrÉÀ×vJÇ-Õ|:ŽŽÛªó¤G­',Lx“t]Ã#k}9ˆ—È/B :³Tr0ŠKÃÅǏP¢i©'õü±ê.¾)Õ«úõ¼¯ûú +®Gî´u¤'¾U_j*¢ð ¿î+øÀûîjé[O}ÊW Q‘Wú﷔õϗo ¸[RÌsþÆ¿yø»˜éú Î\þ ¿î‹þ ÛÏÃèeÇbËóu⏘ë¼Íý$Q1ö8Ñ_Ì?ñ¶ûӆas„ö¯ +Õ?hb>ø)©b¯ùõ•išIÄáùm—Áêñç{=Ê'íeÔyL4$S^°¤¤$wøU­Bû-³(?tí‡Úr»§„ÚtDu:³‘F]ê ©-{9{²ß²rÅð²~¬Ñ­žtôm}Ú/ÿ¯’£ÿ‘!™’ä)±÷'kúØÔÖô=¯ÁÑ½7•)|Õkðw±ÿ»×à;~Äq`}cìWüU¨†„Û¤L€‘P þ í6bÂ]ifpj§ZT +V<ßÄ®š_H„Ž ҕXˆmù¢öÈ¢4 åìàÝ'I_1Í@Ù7Fúý-Msšuúv3|Ò"LÀÅó¥žtªñÉMÈ×T±¦‹,yŽ· 0~*AK±§@œ¬‹ßU§ÀÀåd‚Ί۶űŽK(kÉØ;â–g“EBÖË<æýbA€Eúåcg¸t Á·LOe)lŒpÌ)=HMòäf‹¸Vèå ÚJÓLÐé÷zßöÅë/\Ÿ©¬÷ÁwÀÂãÖjÝ@$ܧÊØgÇè;·úÏM 0TqaÝ«k|ø??õÎ=9NtºE Òé¿ßür‡µ²¸… U¸ˆØ<‚_À•EDH!‘9b;ŽÑ¸S4W¿³lGµÍ¸Zg :vs¼šy dÇ ÎOßt$w\6‘i–•gCJ9à¤ÝÎhZgt¥æk‡"™ÁHYþ`¬ Ës+Án“& + Æ`(`‡%™!óxBÃz”ÙF¥øv¨¥G'z+©èÙ2EpDs¢V飁Š»'lFÉ;€É!ÀwȂĬG8²Ú£i·Y*ÂxŠã€›8—åU¥Zà菷+Ç*ÀŽZ›y¼.FR@„”«ó#³`¢H-zæ'!d:0ƒ±EzSÿº‰•k‰HBæ»fuÉ(Tn͗#yQ¶iUBy±œKÏÑkØhR šó9˜–i¤9¾ù>Å0Üíª…´ö$ùõÓTÖ¤Iô÷ž„6DÅ l¨‚ônÉL0"K}$19ê×7OœŸ[™«y®KóFÂÁäaa{“bï“Òdl .:Åúl@€oYŠ.P(+ϑ—¸p#a Qo9Q¦¸Ò*ßï"@#H,OʒýˆÕÞÄKöGfšÙ(ÌÔäêuóà c˜v"’Ä ÓÅîj6{“sátn%Œ¦‹¢}á +ÌQ摔jEŽ6÷I†‹eõ£²òsÖ 4‡6Pi;fGœ£@rÓâöÃCs“è:IPî…7xŒ¿s´"¨`SLHÅø#²UÑ;’\it$_Æ0‚íQ`i͓Èa¬Ú¡€fCp†«úùœïŒûð<—!n„ùWé¢Ú×äÍRçöÃØ†à£O“‚½'ðn˜ƒHSåå Âl½øaYÎ3N6܀x½$7-õ€ ´;7jPF˜;½nÆâow>øU÷ڀ Ô?³]—ÖŒš±ò=k…™ñ¬ýç¦1‡Ä­$øçÞùóSïܓã”Äa®4,ôè•dÄePbdoS«‰¬<×U2eæðÆÂ€Æê…ÎÅ~¼2êybÌ}ÍÒ§ éN¯âcpwmîŸyžÿaÿ¬ÒGsEŽÖ>‚aKwXÃ:—¨m*öúz¸%;øSàe¸§7ű‡E›² +ù+®+ðÂi6CRX—Ö¶ÜDFx™‹ìãë˸/¨€´(CÂOÒ⩛œ„v@/R0ö¾8¹‘„µ*Ï7â %^8‰\lA•í«Q¹Uº¢ÜE„å4çهI­¹œ“­$•nÂÃäàËAÌS®uy8Èî„ð…ë C©ªÜNˆ¶ÿͩͅCéÕ|뜟Säé·=½ø¶vÀ# ŸÙۨЏQoNL¼¡_"Þƒ4Éø™G ª¤hòK’¨1EøÜx µ}1ªGéÚS²«»]\úW–”OÚzš#,ß`;ÍFâÇòHõÜù›"™Î—¤žž0Rîá\-㑠+IWAJö®vså•ló±$!ëËÈEd.BˆðLOu‰‘)ÌËARqóëÛI¤`z9ˆWÃͪ,>.™¨ÇÝ⫱៊èSOã7;µÙfçn{¼þÔw&ÊÜ¥ÈgÞw·HÞxjñÍøˆpÅG„„2õ])nÑ£w¦n±nñðò$ÕÈnÕGTšãÕXâ<ŠþiþþT‘üi£°Ç9@û†¯ðýàÒx§ÍÕ³å֜éõÖìûÆ­VÇ=þ|·Ço‘N¦ø®”Âûi¥ëou·õíCX?Úr>Ý +êC¨ëÖ-Ÿ>„ÖΞì7ß)?t‹è5ºÕ“޾®Oûå¿ó+¼EºÙÏm}êH°e¸5ÅÒ>©ÚñNÏOøÞô¿Ñß5ÿ#¿Ñ׬yx¥~Ç+]ßÜG_õ÷ò˯²®¿›è¹ +®O˜qeÄë¦Æ æƒÂߑPxšÅÄ<we6À5eRœOÌRx¯¼îç ÝQõs¤K"E~óD‹køZd`ÉT:X•…   ¢f‚’Ø¢z>X„ã…c–pځ«¨žW‚´‚€”\rZvÞHËÎëÅÙy§…e¦—ZaªÐ=XjkŒÝŠÇ—‰W²Cû*—Ï–_TTù§¨©ú§Žb=Ž®oøòX€«õ›‰‡tönÍæ:·1õWg?ßíìѺ“)TM¿×SÓïéÔ¥õ·ÊÉiúöÃôóՓêï²DÓ×IM¿ävhúåŠGOë·,Zܚ¾ý°Ñíždôº%TÓßßùå±WO•|[[Ó¹ ý=Lý£Ó'ËzoúžM÷w¥ÿs,ÀŸ¬tû¦¾u|3æ>¾Ü¯ÆD\öpÆÜadAYPâ40ÔlY¹ÅÅíœ@kÃýz1àâÍ£¸›B{L’à7íâ]‹§x×ǔ’õyĶfãÖ5ƒÖn6Òï9Ö,Pܾ®£>Ê+©‚›QUä®,m’^RŀØÇ‡×^ÕÄa°ii'i„v9㵒¿ï/¨=/¢»]ÕÈw^äC|8JAñ,Ø-'qTÖ¨òDÔ¢NóY@IÙw)Ø*ˆd`.&dU°[ía+ f“D-_jÓ«­%TÍÓO÷Ô~0GÑ …^8·] +Ñ)E–@ïGV+\5Ví<ò}qjlQ‡™G Z¼ºŽ4Óݎe¯s‚€€„7xÇö]ëôÊsçIê̹äh-O(±ÃŒ¨±ç¦>h& p…ê/äñQ(Òü(íæ²$ÏL§ ¨s{{ò"xÛæ‰¯Ùïß$ 6áÉõN#ýâ‚J‰ñE|!1Ie¶ù‰ippLœ¤ç1à8Ø!«UA¥­P[Œô›»Í.eW;›9„7ófµ{OФ &èg1lƒ7‹2 0 É=n\Ö‹w´Kää.šÌëxïØPþ¯¾¿´¡¦ +£aèÃ*ÙљyÈ´¢Üâ^w.÷Õ7ý@XZ1ÊìŽc?òà;Ùö«OÅTkzï–ÿ÷ýüÄûžÝð—íNâ;`™O¹€’¢5ԌWšœq í¾ÃÚÞas/´~´Cjކ@]“˜(þ‹<¹X$‹n~wL%ÄzuÄÂ$‹b7ðˆ´÷$w67¼fÈ^Ïǝ¿ç+`ÀsŽ0~¨ ëáÉêZš4BêB"Ê;G°{ô7"±CQä\‡UR5x €‡ÅS‡+Ȋ’ÓEb—¢` Ñ_²"¸>Eo(q0úlR÷ä'£WÊoŠÌ+s–VÅJUÅõ‡Q·zo‘3 Ášeùa0FÊU½¼ñ&Ό„Sdoúv}ÉÆ!ùž¤2ô×·“Hiûr“ˆ ¾B²=ìÞމø}¿!k›Õh¸âï†*#2÷ò<ðfôVtŸDõSL.5UL]‡›ê î ¬W/æ!ºi=yk=a%š)¢NU¨¤¾˜MYjÖØªØdé•m®œôÛ#œº… ,U9ï³²1.c)”XÓ¦×ûùÎg×]>¦·ds?i»n€{^˜êøMR˜™É ö±ÌIƒ,.VÒµD„Ä!8Š +—ëAà¼xBzVPD‹HÄíŸ'\ïK¯ñöëôâû%¾ªö¯=Ó¡¾}…ÿλîfÄ«Ï|âúž¹âÖ)eẀ‡˜[çÁ¡bžuº˜Mw:fÆvë°[u댅êVƒCu«ÁÃ9È/ÚªüS,UýSG±çí¾Ü­S®ª[#é½Ù÷+—·ÝVg?ßíìÁ­£S(Æ~)'Æ×d +§9}9Œ/ýaž±ãk÷¤&|q_:©bì×pb|Õpb|­ß²hãË~ØèvO:úá0¾Üw~¹[gîÐgÆþZ[S,è{hnG§O–õÞô·Îߕþïn?Yéü(7ëøÑ­ó‰å~ „p¨†¯ð¥­øn#NKê‡ÉñóvJÖ)øƒFîu`Mq\£²ƒ8 +l©ÁJ… /!ææIÐô.šZ'*ÔËA«³ãŠg#R3]ñte¸XðE4æ%”º±‚Ärò«jÒ0gÑZS´áEš2¼øfðþt‰‹RR¦  gCq„±*Ô5e$Mnû \MDž‚w@ûs¤Ë0<w^¥è+ÌVŸ²gj2ˆDTõWIx«& ûv¨CO? .¬‹R ÊФ½@„6©Ÿ‘X±¢Dä‚XE 쇦ü +QyÖÛª·Žôf”(­ØÅ%ÕYØ­J5ñMúÍUXýÕnÎo–@ÓѥؖfÚ6ŠÂ*h²„Ý +¬Ô3*c•š;ƒØÏžT¤šø¡'š∈ ƒM¢ç @EöaðyÔsœçDw•r0Ê´¸:@7Fõ'úvð->¢ìLs‚'àŽúʎˆif,’æÑ\5âL‘Ä߁X¢¸¶¤ HÄm–Ðí4WٓŠ‹_ßN"}G/©ᒡhàr”¸x|…  CV’jµÃêùH8÷&u¤ž–ç‰0䨢Ã*ØïiºMçy–^©;XÆÂM0v¥ï”o<SKϪH}î??õν ŸÅ‹€ñ5õ^h1·$÷õZ~òÖ+È>—¸ Bã<ó¶Ž9a焎´ƒØ šét 0Ú5¢Š™à‰TækÅ£Ì&(LẙNڐրƒöDÐÖ5$[˜øRà4[Ò¬ÜHÔÝ®kùOémª7˜qÿ3I-Ù¸†tGϰx0qÁÒÞbë^ÞÕPÁD,Œ»oʖ$Ð"ßTu ¹v}É3cAý‰ØsÄ"n2p´FN ‰Yq¦pE؂ŠÕTÅm5‡ÛèbˆtèA$(òoò=,ùޒvµÃB× H#FQ«$›r´”VP* ¦‚ÎGBكR“SQ.Ü8x’h2Ø4éQåyñÄ®±6xCÁ[:DM`$½™82 TZN‚7q‰>DÎ{¤â#‡ÏV_¡aÈ¢z¤Yëv©ØêHîê Rt½Dæt`Eeãó.%Xž^+”€C§iƒà#U?‹fJ0t„kê8ŸK÷ܞÀäîe7Ãö_÷Z õ$eåzL<Ë9HPzÀ°(ÙÒ|Ō‘d‹åai>ÒKÖíF˜^ž¤ÂMØËƒ|9ˆ¨7Y;yŽ–Fònƒƒì>™_âšz^9Ð)經î¦ÏëOMèz³úÀÞw7ˆÞxjöÕº`CkZ°¡5:ØÐGÿЂ ]î$õ!m?St°¡ìV¼Tµ.ØÐZl¨8ô×ÓmÁ†òOõR5‡²çëÿ 6´†l(ÊÛ -ð±Ù÷ é-/Õêì绝=x©t +ÅwQã &Yã &i¿e£“\?ÌãO0IÝâ»ÐIUßE=Á$k=Á$×o¾³:0Iû±FWO0IÝâ»pßùå^ªž‚I®¸5ł¾ztúdYïMßñRý]éÿî¥ú“• µŽo^ª/÷«ÁG5_ê>€) T”*ÃѪÕ:¦B4uÉzš8ž~;‰ŸIAژ(]àV +kt`À\¥z%2T24÷šzÀÃĕÑ_͖٠=˜hg4G¬©h:S¸ X¶#i´;½‰S®W|n“ŠbtH1üܽÔHsÌH>á=û"Α fH¼=\. æ–4•©¡y’b—Ï‘8bDlTphA¡%x§\ P¢Bf‘@³›däLu“0S]Ìa€÷¦B¼“µ¸÷=ð´Õ•BЕº¥4°@§|¦ÍÐq^¾s[¿ñÜ4 ‘®>¡üOßùóSïܓãä^ÿ ãù÷؞cm +I ѱÉlÛ±êÅAq»s CØØWIj;ÉVwïTv'²…‚o‡-·nSØÀÚs4"ípÐtëDq»Š/ Î'öáfÐÂI2&àˆsÄÈ©H»àç3§èq×) V»iß횺•Aj{kæDœÖA¸|†c§˜—ˆ›¸_¢n!˜©Î©*ɝ1˜ó$w7± W@FB¿.¿†÷ ðÀ„E6q{q1ª5;w9óúS7ùÉ©ùÌûîÒ獧֜¼kÝÒ&¬}Öæ€ 4qSÑU[WeàA£wÀ„ìV쁖0a˘°eŸ².¿¨äðOQqôOÅz\ßðõö@»ΙïõJ·fßé~}Óh7`Â×:{´ºƒ««í„«›&ò©‡5W§?̤:áêvOªûuW§“*ZbK'\]Ë'\Ýú-‹æàê쇍n÷$£×-¡Zâþί·ÚS¸ºµ·¦sAÛ{À„G§O–õÞô={àïJÿw{àVº~˜Ð:¾Ù_î÷n­[ÐËé +çÜŒìnŽVG±Ê¤ð÷Ö>÷pW¸MQ¦Rzšû„¯¢¸:ä»É=ñ £ÓŒweÄA'º'âúš¡‡Tè€×Ü’‘iŽ­ÑE\çÿ +À¼¤#€÷ÉÍn)Bó$ˆ¼œ:‰¼Ox9ˆM‚M1'LKç%M.S6«Æ_¿¿5V¶êG“|Gž¤/œ»ü rh/ŽˆO˜ãóá&ÑüÐ>¦`ŠÅœÈ˜"½Õuƒzî_@!bàÞ¸ ’艖 ×Àë¼Óp2íñ s\Is%b ã MæâLžD9{9ˆ¸Þ™ò¯0¸›ÆÛ|ƒ^ cwáûd6MAáBÏù^îqÛ©ç^¶KؽËqgŠIÿwþF€îp´:ºÀ4I# (G0áU¹¹<Ñ6«#"tsþ…s¥Ž ; b0f”®{ C×ù¹¸wk!-/€sΝÚ,՗¿ðTÕä ×·±òšä^֓t sU"?éå ê§7ìÏÝüœ3ˆ¹• HÐ9§Ø7±:"¾YÒcpÍs•É< ~wÞl"£,:§t“PËxr8¼€¸á<q¯¸ý’©aè¹o²J!ïŽ6‰¯ÃÄi ëå êðcOºÿòs¾èBº‰‘[Ä YÿÕ&w—´˜Ê!o¾S,¼ñ\L¹üø¨Û…ôÇßùóSïÜGòم4N¶„ú€U”>›{ ÅȋÝ—ÉjÉ 6ÿ›K{9’cá'QY¸'Nè"׊“W½Ñô,< ¯€#“Ð$#ÖÉMhGž´XøIT¾‰ü„RE’jFÍ Ê]¦l)3'dˆ`PhÕd¦¾AÊmÉ \OZGþX»Ü§¢F~SÇÎäÉ?Õ_`ÂqÊ ^“&¨$£‹ÜM´GΏUi2âå ¢°c’U’ö„˸À…/†×‡Q7^Ƶx-ö€0òŒÝ°c•´Ró“½eðØzøäÿïAl®DHª2P nv¨¿~“U¤+'ßÕv.ƒK`Gž´$ÊIT‰â‰ø˜k¡«D/uKûõ[X°^q+‘cÏCŸ= Ê5‹¬‰p>ѕƒ9†ÝѲH•›‰ücªvñŸsÆÖ»Mã äΌç²ÿ¤&ád4µ …öL½l¦ìŽÞˆ­-¿väIÊÔ7É1uODˆÕÀ‚CõL]a ÀŽÑ7Y³;r¤%Ünóð%8dÖ9<÷иí„Þí‘ן‚]ҟH‡Ï¼ïn¥¼ñÔ⫺Jn}Ლ¸ŽÚåð +6 ¯pùxÔ±³?—Ã+”"Aâ:ê ¯° ‡W؃GÁ_´‡ù§XÃú§b8¼Âõ _î:jùUØã?}j,·fß/¤#½å:Zý|·³בN¡8&w? +-Ÿˆuö[}o±ný07Àu"ÖéP‡Bwˆumœˆumœˆuë7ß9býX£'bn q(¸ïür×ÑÜ¡Ï +knM± O +_ïôɲޛ¾ã:ú»ÒÿÝuô'+^%|Úñ£ëèËý®ëhÎ^݇BÏ}€/àl#¶Ò­ô"lw Õ·RLFi‰D‡IAr%õÈêâ©ïroçãì€Ê\E~µ]1ÓìùºwÕ.™‰‡Gû²Å€ÐFàüåXöãIr'Áùáî÷5µò|ñ¹«NkËS sÁæ+8 »Üàù:£þyûržÝŠyŽß¬s2hy˜éò‹=ù3>Á@}Ì=?èÒ1myyýÚ¡6‘k}{œ¿¬'òJKþœÃ˜c„ö/ +Õôc΂óT7ÄZò!é +ÓÞ5“€Ã§ØëëƒÙãó[=Ê­UÔi,´#ϸP!A‘Ó$Ïß²NòC¦Q4…xt=á‚VW‹Úzñ`âKJ˖÷žô·ì ý!»Ã~ØèVO2ú:?í«ÿÎíÈøÎå¼3#Ǽ‹W63r.À}S]Òò–Ï`ë÷ÁÂ>hÚòÅg–Ýøs­ÿ¼Ïà;¿Çm`}KðüÁ¨áÄ]ô¯1‡È2"PÙ­‚æ$žÀ ˆ -€¥r–ìI +ë;bIrÑ|#‘!®¼c¶aâ‹ÒC"KҜ(fª¶ÓWœ¿²lFúöåÆ4«ô­f©jyö³À]1^êI +•ON"Qㆂ5Ì[äÈsw‹æC ±Ÿ•q ”%cJbe©Oh¬¸k»‘¨Ö"/–;QÔR"?€¡‰¨åÑd’XîpŒ,0I_ýbqô‡+—ãð-ñá%Qs­¼pé)H–Üèom…nž8WˆfĦwë}Ù/Š»||¤¬|OÀ„Ǖռ~ÀÂÙøõ+·SôĝþÊsa,î!þ«kiw¿óùCï\sã§[Ã$~ÿâW;ͅÅ„˜„FÄÞQÔÕªõø@:Nr4ìÆÞ+7 +m˜fÄ(»1èµ0¶@m @Çf©*‘Wð8?v +€¶¹Hþ´,"s, †ÔqÀ\Žh™Gt¥àk‡ +™‡‘:RüÁ¤|.Ž­DºñL1 o˜Ü›'º¼ˆÃžÀE,§OnÙÇJÃ+䤮ÂttEµ«EqÌmíÝ6" +‡©Àþ«¬YZçýn[¼¬>Ö÷—ÀΆk}ß ‹ÏÙ^EÒKOuÊ¥òà(}ä}W)õÚS6%o:Ät˜ cšÝÞ Ÿß©îmimé › Ð>œtKB^F"&‡ÐåÂCŸ–_ԇäOjCò§b=>^<¿áÓ ˆVî ˆ`ø·K³ÁãëUfgÏovvg;è ª>ÙÓ®Oöcרì7WHˆ>©?¦¸z¢v£ë/ú¤Î©è“1åMŸŒ©o=Ùoî +ûÁ}1èè\O½îÑ'Ýw~ºíÐÚ#ur.À¥)Öó­"[§VõAÓ× ‡Ÿ ý †Ã¬txOëøÞjøÀr¿h5D”ÜcÜ5 VOòãj¥¼áE=.›xk))ðï·/žˆˆþ‹š0ò A¬ƒP´4à™poT¡‘Æ@u²î<ˆˆük{FKT»àæ…VŽÑ¿SnÈQ8Z× ºG5T”ñ¸ñDv”oF?›AމgµdÁŽ!ijuRQKŠø‹Óصñ¶4ÊPÛf)f!`ƚÖ³6G™ýœ¢:zÒ‚Übyb‘ëF+@åbè×RÒëøØ‡wŽWQX»A€ã©üàN—£¸l ;х²ÀLØD´1?ZéÊw8g¶çãt$Y”’ãÞ®IÁG¾¡¬u(¿±r)†A7öxà`Ä#¦ž‹Øï­8:¾tUi#—œE½v"¡ož/6”ÚZ¬ º,=öoï,V9L˃Á´å O"|áÎA‚æ1ä£ñŽˆ mN±ã8Lësá p9Êi.Î"ò*q Ùu6äz©‘¾>:Í/²¹ÙzcËâêNë\LÅ/âþZ†jKº1¾'ò§WžÇÿ‰#r±õÞÿÎç½s͍StÜFY­Áqð3õK# +K*r‡Ás°„i<»n&8HèúÀ’ÙÓÐLG²½øõËN䮽mD5°A#˼žâyìŠñV)XÇSl§ Ÿ)æ *Å`(à†ù4#æþ€¦ù(.Å֛íP:RüG¸UÜtf¡€l‡.l!hy>§¸tÂ^”„# ˜ l§Ø<ìÐÎBpä=ªíØ[—v‹³¡Œ§8¸ˆƒ?!•<¢üŸŒ£œ÷ ÷T† 8âÎ6ãt%†P@‚äÔø‘,ZH¿LxŸÄçÀÆiX‹ú;{~³³{K]fP ¸˜ÛfÀŜvÉ~Ë +¥eÀُiv­žÄ,“õNçT ¸tồºç֓ý®²fqpó‡]2­žäꘟöÕçg[ê1Ÿí7[€KS¬ç[@ì[§VõAÓ7,õŸ ý§-õYéö vëøb©¿¹_¶ÔY ˆù¿QË- €"pÇfÄÆ…„úuC$F–G¢‰ ˆ Xº]Z@hP(I@õN|ÛQ7Ê0÷2sÏ<±I‘žÈ *ޟåCP}8ÆqNÒx´2gµlíÒҵݘ×ay1j™ø½ ™Æ™Û‘´„6Â[{îT”+,3*ʃ8>‚:‹ˆV=4סÄ!÷óÎ`Q|ËBs>;“14Ƈ‚4D.t튲¢7fÕ3YR%Ù?\xªµ2xé öKòŸ`@ærObJÔ×/ž8>·0Cs'v\“Æ…ƒÉÃŽ°Ä{•dž‘à‚“Æb;€oQÈ;žŠ'ÖŒ)FÂ@‚ÝnQ¦¸ˆE>ž¥xI ¤LOª’óˆÕ^Ä&û#2¹,wægrõšyGp}…1œc™³9`šp«:ƒe=ñtî›Æ­tàJ´ì„»¯EY"5Š Äp¯Ìž¬`³{¡‘ÆÐ:BtÄ1 +„iI2Ü|¸[FÜ&'4ûEÁÕ£îÍê™E@L1 ãÈQEïSV`‹&Þeʍ{´ ¤hcÝ*†‚x (ÃUåX +¸L¥“À¸kêõˆá¼½ÁÕ8p60¶.¨èY‘ !ð‡l˜H;å¶3òPùaQÏ3Aã9I†¢ÏÄøµ? °uPİÌËëhçv烟tŸ ¬0àû3ÅuªÌ(Á¡Ÿc ¼‰Œ'röWž†ÊV^ê€ìÏzçš§"öéEË0´ ’½Õ˜Ä ÉÝúo9°\pF0*ä3ÆË:Ùdñ³âåb»Žo zÑôǶf½Stóâ_pw&m0€qœaÿRš¢DNÖ:iKwVÓ<–È…[}>\O;÷ð¦Á3½(Ž; ec´âº*ÍÍâGJçªgD‘EšGŒ™ D鋬sB×"—Ò⟌ßI“¥."’N´CRˆ…dÜ}1ò´¸ûbùir÷!ðŽÈŖò³5*¶2ñ* j­"+» ¿ˆœip6`Y„â Wñ$nÂÂîÄàm#B¬5yøÝ Ù ·†ÒÏ¢bûDˆý7N}“ì#(.J+æVÆÿEâÇ%ñƒÝ]Ïv!'ºzëê1 …TϨú*ҍÀC¤Iš¿ˆô.•ÇJ²Ö!Œš<,úi$!‰5¨×ƒe7n³ÄТD¯Äœ)+XsèVÂYkÑúÌ*z¯!¤16Üa¥líúPb 9—Ú厤hÛÜ"f½X#F”\öyâ)¨]‹ˆ*0]ªfEq$ÆÁh€žX4Ñ|õ6Wb½ÕHÛøÜ2:¢î‚8w æå Ñï©ëÞ³´v·ì¿oDÂ_‘¤lꫛŸëãŸó@ÇÚ|¨Ð§×áÅ-µLª-úÆ žx\_y. ‹J«’\üïçó‡Þ¹fýQŠ´ßwa®ÀXDÛ¡aNö"Ú^މ§f=3ì8©ù}9Ai ÓîÏW;\ύœg25Hñˆê(ƒ“ðx#í–f9ƗbVFÂrB„!!DI3'½Ÿð-âþx2•@hˆEòÌgë0.È|ÆgÐG…°ád‹ãåu~ÂäyŸpÏE7"®ÕÏY9i¢áýùQf¯ö™o7×bõVïOíW¿fn|Ž8"Š5ž¾%˜ˆñX ä?ç#þ3‰q[2«7ÛUvŸU[HYǡߘsÂJWÉ6‹n·^‘5|ÀÀã!q;k›@³Å¸j/?M¡=à +yßUkxí);pïJøÍQKÇüwýUv6Þn]™ÙeX\زÒ¶˜tKO^F/G‡î•“Ï–_TSåO*©ò§b=>8¿á³cRU›Ô-8²×óqiöåñÕ€ÙÙó›Ý[v2ƒªæ·²«ùíÜiû-+t:5_Lå|õ$Ê»¬¿¨ù:§¢æçX75?§°õd¿«¬YXjþü¡£s=qôº#TÍ_ßùÙ1c>Tðm.M±žo!èo>XÕMß°ç~.ôŸŽø‘•>ރ o_ ¹÷/÷‹1a–íØc†Z i·‹˜YYÆ<±r{‹[9҆ß51 ñÆQü¿A<ª’Ô¦‹|×¢âHSŠ=@í,Ä]àh0©Ô†IZÞºÝã}Ïxߣ›ý|¶“°XåC,„fQPE `Jã|3œ$\7XXl¬|m[»£Iíɻ¹A­O@ÿDÿJ–œ-€E÷¾;%Ž8vIjÅ3+²Ý¼#ºÞ‘üÑ\DÜãwÙêq»ë÷ì` +xÆ1À5‰`>| é>hR?Î&$Bºs$@¶G¤Q§=d9ևÕO!ö¢ð°8épõXP_l͘p'ªËäV/$'ý²ñu%ŽÓ>MÈŽãŽÏ§Éç£`¼YZe«K‰»þNE¡L°¡grURÁ0¸3P¬ê¥í \¤YžÒ,èÞôíڍšSáH&B¿~ى¶·XDJð’áa÷õ^ÂÏ{} YŠÖ¬v€¾W74™c"äDÀ“ÑjÖ}¢y5ðú Sס„ªêA…+ëÕ²y‡.JO]JÏa¹eF„¤S ª¨fQ¦–Õ—&ÖQy ”Oýö.ú>cQÆ;¤¬lLVîQÖK!€5­z­_¯lvÞáczs4ד¶k†®;£ÀoNÉ +‚–»Že<5¸‚Hb t*!$þ`QLŽ@¶¤;ysó´ñ%pd°û,Jƒ +ë/¸Þg^ßoÜwi¼.ïU±é™'âZ¾zuÿÆ»®FÄËϼÿÚ^ÂpéÒÉyb¸e`…˜KçΙb^s¸ÄåpYN™¾\:Ò­¸túDp+‡Cp+‡‡o_´TåOÚ©ò§b=ŽÚ7|¶K'§ ‚[%äèµÙXßþ:xÛììùÍÎî\::ƒbéç¼zå´zÍß²BÐË~Lû<ï€^ºþjéwèUŽЫ; —ý®²fÐkþÐW¹ždôÝz¹ïül—NNñ¼æ\šŽõlo!·m>XÕM_wéü\è?ïÒù‘•®ïm³Žï]:Xî·îæ3⻪÷ +öžëŒé6bFd©Jì¦í«Cê®×€k6dñPѵdd1ð^3²GÕ1ÒaW= j^¢™µ¡?Ý<­@¹-x6 SÑD—‹ £þÞ*srYØI8ùUåÔØfQjU\áI²ˆQö͐ÅШþÔ,Åc2*ŠJKÐ7bVåÖµ|7”uÞòç~h™j!ÇÕo‘Œ ž=3g}…ÙéCò 5¦aj¢'᭚qîÛELaóO†2+QтªwDQΊ:Ãn$j.fVnCÚ|Ôэaõ @zV»³y†£;ÒBPlµCéJóh ES v„|W&1 㫱‚Rëˆ_ŠË&.ªhÄ(<ëÕ*«3Ÿ…2£K›e»GµHÝðEúÆýÕ•Ã%ºt¼‚e2£³âƒ°Þ™,¡„´" +•‹r·bQ'k9öàIb‚pïoD3Aq¨°_°Iä\ûÄ01’SbÄ#Â!zÑAŒò7š[ Qѽø}9ø‘]öŒºÁ†fœRtDL3Ë]‘4̕Îå0  XÈ`Õçp +ˆÐ,ñÚcž4&Çâ뗝H¿Ñm#"]ãH2VÎ ¯ÐHa#a(݊OÍv8îâõLXUîEêêÞHí$2ž#ޝ K>^ Ákš.Óù9^¥ + æ¾pÊ=”þO¯< 9^‡ÒÇ;Ÿ?ôε ʼn€ïUµËšXŒÙ⼎GÅúC¶¹Æk çþ”‡yÊ­†o/ó¡ÉM©ƒgÈP6 ²%À!§–›Uk‹ef9F"­HeÀ98%Ú ,`H®$>`äÀ_žëÌ4A&Ë=m‹‰vsŸÎvcï)ԊކvƒùPÏ?òÒB–}k¸tE}·7™¸Ã2ÝBËwõšöaf¬}U®|@y  bn¡Õ®Mqf¨=zŽØÅE†V…Q£j#Žnë¡Ru4Ìú]M€-¬áÐ0‚ÿ"ÞÓï jÁ·ÃB‹.ƒ$Œ3(T†°‚N)uè|œ¨oËé4”„ËGRE›æ¼×xnžˆ ÄØà Eä6´9„K`$­šØ#õ ”T>Õ¢‰:Dƛ ?ñžÁW+¤€%=f44J‹É™SJ³zÒºڈ”\7OÌÌãÀŠêÆÇ5 j­<8¼V!ó +¦Ø%T?²jŸY³#à<©0°xŽóî9¦º¼€íÐk—Ù Û^i1ԑŒ“ë1ñÿ¶‘ ó€!àÖ4ZjÏEÊÄ%eÆÊvKí‘vX²f—„ðò$•mÂ^î¤àÍ‘m[K#Ï9ÔŠúÀpŽ]'ó3ÜR+:ÕÜ6ÒÕðyù©'''ÞU‘ðÁû®æÐkOÙYWÐQ)"´œ"´zӕdþ£éc +"Tº¥‡J^&ªâ Bŗ?Ÿ®"TþUõð'ëq °ü“ BËqE$Þ7{J1¿:;{~³³;•Π8.Jؑ#Kؑ#çoÎ_pȑöcºŽ©ë/Ž Su\”9²”9Ò~Ë®(9rþ°Ñ•9Rw„8.Üw~¶‡ª#ç\šb=߂Ý:}°ªš¾î¡ú¹ÐÞCõ#+ßj_!Ã¥vÌ4Ñ(ci@”•@4C¨ÐXÜÑK Iõí£2¨š-£Áxñ¬02ª#–3kÔ9s¶3EÂ$Yˆ;½ˆÈÇçV©FgcÎÝK4Æ EF.؍8Fì¹&œç¤ܒš2Ô3ORò1GKÚ°{S…’àer££…Çì*áâ8•ªbÃQ 3ÕÄVÐxn +Ä¿à›ÌŽîO0ž­x‚¨ÐM¡àî\¿R'h;.OÜÕ¯<Æ>ÑT€ÝxþÐ;Ÿ?ôÎ57N<ºå×ñ|÷»ÓˆØ@ä8‚#bÙ®BIÙ(nsN"4Th è+Ÿj7ÉNw'BI؜H:|;ìÜaW…,-#ŠÃŽìœ WqƒÁïÒ:Û VØIÆ1†ªh%S҈î7’ðh±öÕ®šGyjboÕü‡¨!–s†S§ø–öÑJ +£ç‚âj&T~i1V‘ó$wñ¦€,„–’_Ãëøó „YöðÙï·âbS69W)óòS6ýÁ¡ùÈû®²çµ§ê:£oÜV×s‚–6AKu „wZ¸©ç¦©Ç¥©/mށJ·ä”ò2Ú5:Â}Šºü¢Š#RÁ‘?mëñ1Àù Ÿn Ô á˜øVÒyiö”à›zÕ¨—:»·šÃ¦+uǦÆñ®„U‡Mg?Ԛڱé\O¢ø5‡M§s**b=wlºwl:û]eÍ6Ýü¡£s=qôº#TE\ßùé¶@}M7àÒëùáÖéƒU}Ðô [àçBÿy[àVúx¡u|±Þ¿ÜoÝV×C/¥ <›c 0š»:ZéÙjR›lcô8."óM„Cˆå<1\Êá²Pîî{ëFi¿ÅƒwdwÄNï¹#"?¦1ºFunt‡ÈM D‘©3¼ºô —~šU~ñ6p\ízâ¨; ‘ƒ¼”Ú‰¼H¸y"4D˜bN˜†N¯[ÌCV«Æ_ß¾TDе¶5A äqúŽÉ^8vùFäÐn1`<}<\ šÚúQ!OïqEÆÞŠÝÃdf ¢Y1ó!ã¾8w’è‚–Èփ÷x§âÓ!z¯ðÆþH§æG„|tOë—gr'²Ùm#â^gHS¼Â ¯ð zŒÝ…ï“Ù4õ„ =æ{úÅm§î{Ù._×.‡§“þ}ü>~ë½;ZéŠÉ$Á‹4ž ßÕ¹ÞF´ÍêˆøœCé]0 2Ù j°î|ö†®)rqáV+ü§¡ŽêgÙ/8\e¥í®' ¬·_25Y šÍ&³Øñêh‘ø:LÌ"é°nQ‡èE„}ä>Ÿs]ÅÀÍb‚Ìÿªg°óc&uòs(q q †-+;"Ç»>ÕÛÙ)Ö4 &¹×ØcŸYÜnSY‹ÊMÏøÏ +Ý6cs‡]¦ññ€¢!žÉ~ßHA¢È hJíŠ$ìxºý!©wóFÄhM8hGž¤<ݓ&O÷Ă.ŒáphŸž§ë/ŒGðMÜÇXGŽ4eÛe>·‚¼:†ånú¶Ы5òòS°JÒáð‘÷]m”מ2¶ú®+äÚ&6¡í¡Û¨&‡Mxﰙ؄ӿcNéøI›Pº·Q›Ø„µ;lÂvxÔ ùE¶"Ò–?ç(ºÃ&œßðÙn£/°„-ü҆ºriöDõð5·ÑììùÍÎîÜF:ƒâM¼}ó&Ô¸ÃÓÍß²BžÎ~L@Úáétý՛Ð<]í;<Ý`-{OÝÁÓÙÙ}‡§s=É蛃§sßùÙn£±?9æ\šŽõ¬À_îôÁª>húºÛèçBÿy·Ñ¬ty‚ðaÇ÷n£,÷›n#Ø;½ùðç±ÊiÙF¬ðÀHyEØí@¤¯9›Œ[̓ÎÜð)óAPfPÆég° OŠS)uÄ"1mx„ér†rà¹àHx²b÷ÄZ†^,×@Pe˜« +C/½ª”`»Á²G)ü7³ÔS$ˆ4ëW”‡“ì +–œ–c-Èð Z˜"Մ—+`¤1>¤S+’òl×ÍÝŘ·2HH‚(ł­ k¸hU7àhhf-îôc ©§Nñ¿¿òÑÓ&%•Áï1Ž*å< k5þª¥Jæô"}ã§j¹°ÙÕ +¢†çÂÅG™öCÕë± Š®á°x4ç9•Œ'W|' ð ªiÌ4‘Çp7"ón1³èß i4 ꪌ$ۍ¬dËc¼4ó©šn‹ (™Ü_‡¯×m¾r\0™ +=ÛÕa÷6+Â×¹€µI¸>_z Äy<:T…#[å9&ÞÔ6£¸"‹(KGÄõAÈ읨u =ñÀD=‡WHê9€ñW­Ý’þS;_¼r)ߎtDz]桾~s¶an´†CçŽ@¾g$´qx½«ӍÝú©Î–³òŠD«…‘õ cØ +@ãI§Ü<ýâ‰ÀÃÉTåqœXÜ´õÙåýHIfo4šËx«2,2ΡHúU|§Ür£m$9Œ‡ âÌvˆPp}lÇ< °'Üw"Ó¤n1Ix1^aa#s‚/ ñO͑¨-¿œ#øTJžWž ç°N?–#ñàÏzçë9þœk¬ëwîHM½1b%(GQ$šˆ&Mâ>¤>˜ Ü`VN2õ +––£ŠgßIÊÐÀåÒ=ë»y"|G¡â+uðªp'cËÕ¤üñvîHˆ¹ÞÕw$® ÀÏ(ð‘d3—Y +JÚÇY°8àFäØÈÑ 2)Vެ¤Å¡ h 1Ài"£†L27Ò啱H1 øÒ`¨OÊT2+òN„Æ%Betö­ÝØdZ>*!Ñˤ~T„³¯2E‚šT„‘ED˜-éF™‘'úqµ¼vjB¹( e) Åæ«]žÚ îää´žED~XÖµ—û&„ÑáexAî ™¤pqMäÂÅژ òÀCq". ~f:`Q“€°vÍgÔ¡Ù‘L"AL…{ÙuóD )šÇÒ95¡‡™pCó AÉ^É;ãV*Ró6±5qãèR¯sy9¿–&áuž,bJ“!ˆ©üV=ˆ7TrgÍV†>}…0°`ý`l–%kN„|y’Ê$ÙiwÒë¶£Tÿæ+´>-…«ÈBͽÃî/LÙÀõ–´h™5|XTÑÚ®âAI¢ÃÐÙîÚa¦UØdIÎò$Jz¸wñuóDä©UtÎ#I6K¾ +ÍlBóŸ•eáTÃk–…ÙG/? ¬}$ËâÁû®öØkO}(ËBjé"kaB»»j¹ÈvçÔôZ™+.Örr9hWé–.2y]d-;h×V<ŠˆüY™Ð®òçEvЮó>ÝEÖ/ЮÃèBç¸4{JÀèyÕEf=¿Ùٝ‹LgP<'íØ?Û±#~Îß²BñÓ~˜¿ÃõDS^×_<':§â9iyGüleGü´ß²+ŠCüœ?ltyGüÔ!ž÷Ÿí"ûó¡ãÄàÒëù´ëÖéƒU}ÐôuÙυþó.²Yéó=ЮÖñÅEöþå~ËE֐WQËî"k§ê?‹Øy'ÞØÜ|l†gTT®V"Db eÈÐC3òsÒ´!ãF"’QùbèµiHӃ9˞Èõ]¿¡U qƒ½Kݵ¡KÄrÈ(†þ®ª×Ñ¡ŽÑ&)S èí¬¿ÁjgPZ5ĘÏúšªz5wŸ[3xrVL‘¡oy1ÖªI’(j F^¿5ⴝê- “¯¡D˜hԈè‚ÓƑpÜé–Øˆøt÷ûØ;ô^t¶a¢£° s …£˜%×煛~|’ãXËy]vsޏÿ2䎱#â!c]Ƙÿ#Zšxˏ9@èƒÐ4±áx§LA¥âÅÉ(¾‹c(ž´fÅ1+î7ª¶eyN‹åfµ8ˆn¾Ì°?޵Yà +·àƒ¬øú-ÝvXþÍ£+ä«í²ùšFoLÐm¸},v»L8<ÚÌCĒ@ä›S5èñŽ´N‚#òÃÝïa´Á%ÄÎCÑi­qÈsâ0oÜÐþ9†U82KÍ@|Q‹Ñ¯äuÅ?Õ ÓÄ`™ÿՆ®»û&Â#‚Àñ—Ÿ ñHÒˆ?öÎç½óu/LC9ÃTÔ(é0ÏÇ¡a•¤È¡LÞÂ¥^¼Îì¹Ð4±‰µXölGDBs³NI;-“"Û.4> ë +¶iœô +ŽÄj×þ·îÃÛF<H’½Kdo2QË¡h˜<ºœ—,êyÀ'åxz Þs¡iÁsнa¶¶m+Ê;˜=xß0©{ÓÔ¼xAÓŸulŒ°×4FŠ<âVÇk¿~Ù~Ëøož8Ž×qtˆl°”8J¹•_¬ºÙ¨Sç;ÙPÓ%BÔ6½ñÈb'ƒ§©¼AHˑ„ƒ¡úÌ©DoÆ;DRë‰ßæÏosÄ1›»©Ë¶„óW[…´BU'l·oT ªdI‚S´Ú)4ðÚ0J> endobj 65 0 obj <> endobj 124 0 obj <> endobj 183 0 obj <> endobj 242 0 obj <> endobj 285 0 obj [/View/Design] endobj 286 0 obj <>>> endobj 226 0 obj [/View/Design] endobj 227 0 obj <>>> endobj 167 0 obj [/View/Design] endobj 168 0 obj <>>> endobj 108 0 obj [/View/Design] endobj 109 0 obj <>>> endobj 49 0 obj [/View/Design] endobj 50 0 obj <>>> endobj 305 0 obj [304 0 R] endobj 365 0 obj <> endobj xref 0 366 0000000004 65535 f +0000000016 00000 n +0000000224 00000 n +0000070523 00000 n +0000000006 00000 f +0000525099 00000 n +0000000008 00000 f +0000070574 00000 n +0000000009 00000 f +0000000010 00000 f +0000000011 00000 f +0000000012 00000 f +0000000013 00000 f +0000000014 00000 f +0000000015 00000 f +0000000016 00000 f +0000000017 00000 f +0000000018 00000 f +0000000019 00000 f +0000000020 00000 f +0000000021 00000 f +0000000022 00000 f +0000000023 00000 f +0000000024 00000 f +0000000025 00000 f +0000000026 00000 f +0000000027 00000 f +0000000028 00000 f +0000000029 00000 f +0000000030 00000 f +0000000031 00000 f +0000000032 00000 f +0000000033 00000 f +0000000034 00000 f +0000000035 00000 f +0000000036 00000 f +0000000037 00000 f +0000000038 00000 f +0000000039 00000 f +0000000040 00000 f +0000000041 00000 f +0000000042 00000 f +0000000043 00000 f +0000000044 00000 f +0000000045 00000 f +0000000046 00000 f +0000000047 00000 f +0000000048 00000 f +0000000051 00000 f +0000525936 00000 n +0000525967 00000 n +0000000052 00000 f +0000000053 00000 f +0000000054 00000 f +0000000055 00000 f +0000000056 00000 f +0000000057 00000 f +0000000058 00000 f +0000000059 00000 f +0000000060 00000 f +0000000061 00000 f +0000000062 00000 f +0000000063 00000 f +0000000064 00000 f +0000000066 00000 f +0000525169 00000 n +0000000067 00000 f +0000000068 00000 f +0000000069 00000 f +0000000070 00000 f +0000000071 00000 f +0000000072 00000 f +0000000073 00000 f +0000000074 00000 f +0000000075 00000 f +0000000076 00000 f +0000000077 00000 f +0000000078 00000 f +0000000079 00000 f +0000000080 00000 f +0000000081 00000 f +0000000082 00000 f +0000000083 00000 f +0000000084 00000 f +0000000085 00000 f +0000000086 00000 f +0000000087 00000 f +0000000088 00000 f +0000000089 00000 f +0000000090 00000 f +0000000091 00000 f +0000000092 00000 f +0000000093 00000 f +0000000094 00000 f +0000000095 00000 f +0000000096 00000 f +0000000097 00000 f +0000000098 00000 f +0000000099 00000 f +0000000100 00000 f +0000000101 00000 f +0000000102 00000 f +0000000103 00000 f +0000000104 00000 f +0000000105 00000 f +0000000106 00000 f +0000000107 00000 f +0000000110 00000 f +0000525818 00000 n +0000525850 00000 n +0000000111 00000 f +0000000112 00000 f +0000000113 00000 f +0000000114 00000 f +0000000115 00000 f +0000000116 00000 f +0000000117 00000 f +0000000118 00000 f +0000000119 00000 f +0000000120 00000 f +0000000121 00000 f +0000000122 00000 f +0000000123 00000 f +0000000125 00000 f +0000525242 00000 n +0000000126 00000 f +0000000127 00000 f +0000000128 00000 f +0000000129 00000 f +0000000130 00000 f +0000000131 00000 f +0000000132 00000 f +0000000133 00000 f +0000000134 00000 f +0000000135 00000 f +0000000136 00000 f +0000000137 00000 f +0000000138 00000 f +0000000139 00000 f +0000000140 00000 f +0000000141 00000 f +0000000142 00000 f +0000000143 00000 f +0000000144 00000 f +0000000145 00000 f +0000000146 00000 f +0000000147 00000 f +0000000148 00000 f +0000000149 00000 f +0000000150 00000 f +0000000151 00000 f +0000000152 00000 f +0000000153 00000 f +0000000154 00000 f +0000000155 00000 f +0000000156 00000 f +0000000157 00000 f +0000000158 00000 f +0000000159 00000 f +0000000160 00000 f +0000000161 00000 f +0000000162 00000 f +0000000163 00000 f +0000000164 00000 f +0000000165 00000 f +0000000166 00000 f +0000000169 00000 f +0000525700 00000 n +0000525732 00000 n +0000000170 00000 f +0000000171 00000 f +0000000172 00000 f +0000000173 00000 f +0000000174 00000 f +0000000175 00000 f +0000000176 00000 f +0000000177 00000 f +0000000178 00000 f +0000000179 00000 f +0000000180 00000 f +0000000181 00000 f +0000000182 00000 f +0000000184 00000 f +0000525316 00000 n +0000000185 00000 f +0000000186 00000 f +0000000187 00000 f +0000000188 00000 f +0000000189 00000 f +0000000190 00000 f +0000000191 00000 f +0000000192 00000 f +0000000193 00000 f +0000000194 00000 f +0000000195 00000 f +0000000196 00000 f +0000000197 00000 f +0000000198 00000 f +0000000199 00000 f +0000000200 00000 f +0000000201 00000 f +0000000202 00000 f +0000000203 00000 f +0000000204 00000 f +0000000205 00000 f +0000000206 00000 f +0000000207 00000 f +0000000208 00000 f +0000000209 00000 f +0000000210 00000 f +0000000211 00000 f +0000000212 00000 f +0000000213 00000 f +0000000214 00000 f +0000000215 00000 f +0000000216 00000 f +0000000217 00000 f +0000000218 00000 f +0000000219 00000 f +0000000220 00000 f +0000000221 00000 f +0000000222 00000 f +0000000223 00000 f +0000000224 00000 f +0000000225 00000 f +0000000228 00000 f +0000525582 00000 n +0000525614 00000 n +0000000229 00000 f +0000000230 00000 f +0000000231 00000 f +0000000232 00000 f +0000000233 00000 f +0000000234 00000 f +0000000235 00000 f +0000000236 00000 f +0000000237 00000 f +0000000238 00000 f +0000000239 00000 f +0000000240 00000 f +0000000241 00000 f +0000000000 00000 f +0000525390 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000525464 00000 n +0000525496 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000080048 00000 n +0000526052 00000 n +0000071059 00000 n +0000072049 00000 n +0000081247 00000 n +0000074171 00000 n +0000078136 00000 n +0000080240 00000 n +0000080354 00000 n +0000078250 00000 n +0000078396 00000 n +0000078542 00000 n +0000078688 00000 n +0000078834 00000 n +0000073469 00000 n +0000072113 00000 n +0000525062 00000 n +0000072905 00000 n +0000072955 00000 n +0000073961 00000 n +0000077160 00000 n +0000074025 00000 n +0000074208 00000 n +0000074511 00000 n +0000074325 00000 n +0000074416 00000 n +0000077277 00000 n +0000077332 00000 n +0000077638 00000 n +0000077716 00000 n +0000077865 00000 n +0000077982 00000 n +0000078057 00000 n +0000079830 00000 n +0000079612 00000 n +0000079390 00000 n +0000079183 00000 n +0000078980 00000 n +0000079077 00000 n +0000079280 00000 n +0000079487 00000 n +0000079709 00000 n +0000079927 00000 n +0000080122 00000 n +0000080154 00000 n +0000080471 00000 n +0000080526 00000 n +0000080844 00000 n +0000080922 00000 n +0000081071 00000 n +0000081168 00000 n +0000081317 00000 n +0000081633 00000 n +0000082644 00000 n +0000106793 00000 n +0000172382 00000 n +0000237971 00000 n +0000303560 00000 n +0000369149 00000 n +0000434738 00000 n +0000500327 00000 n +0000526079 00000 n +trailer <<2B21A53879304D89994F45A7C395020F>]>> startxref 526263 %%EOF \ No newline at end of file diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_0.png new file mode 100644 index 0000000..f9206b9 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_0.png.import new file mode 100644 index 0000000..db488d1 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dldt2lj5y3175" +path="res://.godot/imported/Number_Blocks_01_Set_1_128x128_0.png-0a54a4b9cdd65b336c16cf4881085e27.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_128x128_0.png-0a54a4b9cdd65b336c16cf4881085e27.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_1.png new file mode 100644 index 0000000..722c1fd Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_1.png.import new file mode 100644 index 0000000..759cf7e --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://y6ds68qkxryw" +path="res://.godot/imported/Number_Blocks_01_Set_1_128x128_1.png-d5344d473dae3395574ec32c04a0b95e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_128x128_1.png-d5344d473dae3395574ec32c04a0b95e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_2.png new file mode 100644 index 0000000..de63869 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_2.png.import new file mode 100644 index 0000000..8e849fa --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bkht6kukfo1k2" +path="res://.godot/imported/Number_Blocks_01_Set_1_128x128_2.png-feaada4e775aa89c9651c4de26e00a2b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_128x128_2.png-feaada4e775aa89c9651c4de26e00a2b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_3.png new file mode 100644 index 0000000..f3806b4 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_3.png.import new file mode 100644 index 0000000..d47d0a7 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bbhednd0juakr" +path="res://.godot/imported/Number_Blocks_01_Set_1_128x128_3.png-5e162598aae8597c35e1807c90768539.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_128x128_3.png-5e162598aae8597c35e1807c90768539.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_4.png new file mode 100644 index 0000000..bec5403 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_4.png.import new file mode 100644 index 0000000..433dce5 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://kohlnk3fcpf6" +path="res://.godot/imported/Number_Blocks_01_Set_1_128x128_4.png-22bc24405b38b1254207864ecf6721e5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_128x128_4.png-22bc24405b38b1254207864ecf6721e5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_5.png new file mode 100644 index 0000000..ea64be8 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_5.png.import new file mode 100644 index 0000000..cd2dfe1 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4l7vws601ty1" +path="res://.godot/imported/Number_Blocks_01_Set_1_128x128_5.png-1eeadd77145fd191bdd7fdfc90d0251b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_128x128_5.png-1eeadd77145fd191bdd7fdfc90d0251b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_6.png new file mode 100644 index 0000000..dcd9deb Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_6.png.import new file mode 100644 index 0000000..aa11fdc --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://eapipwj5fcg0" +path="res://.godot/imported/Number_Blocks_01_Set_1_128x128_6.png-c7352f33b6acd339033ae7aaa3e0fd37.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_128x128_6.png-c7352f33b6acd339033ae7aaa3e0fd37.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_7.png new file mode 100644 index 0000000..2c3dba3 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_7.png.import new file mode 100644 index 0000000..3699b6d --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fnydjkbmdsel" +path="res://.godot/imported/Number_Blocks_01_Set_1_128x128_7.png-cbf5edb600eeb1f4eadea9f60dc18ae6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_128x128_7.png-cbf5edb600eeb1f4eadea9f60dc18ae6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_8.png new file mode 100644 index 0000000..f3e96bc Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_8.png.import new file mode 100644 index 0000000..12d6074 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjqli335jqjly" +path="res://.godot/imported/Number_Blocks_01_Set_1_128x128_8.png-9ccc3c1b2a2101359e027b7f19c73493.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_128x128_8.png-9ccc3c1b2a2101359e027b7f19c73493.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_9.png new file mode 100644 index 0000000..5d9e4c7 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_9.png.import new file mode 100644 index 0000000..abcec2f --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvrcabmedyc44" +path="res://.godot/imported/Number_Blocks_01_Set_1_128x128_9.png-1123b3017922f65e94c245c2f0b58d38.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_128x128_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_128x128_9.png-1123b3017922f65e94c245c2f0b58d38.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_0.png new file mode 100644 index 0000000..43d83ab Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_0.png.import new file mode 100644 index 0000000..ddcc2f8 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0s7apgwdy4wp" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_0.png-eee631564920a982bc54aef258a49f79.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_0.png-eee631564920a982bc54aef258a49f79.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_1.png new file mode 100644 index 0000000..1820750 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_1.png.import new file mode 100644 index 0000000..8d6b4f0 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dyy7dvxsg34ab" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_1.png-b1577c3721eb684421dd8011b79dcd3f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_1.png-b1577c3721eb684421dd8011b79dcd3f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_2.png new file mode 100644 index 0000000..8da2625 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_2.png.import new file mode 100644 index 0000000..35def42 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://5w7157w57iji" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_2.png-82e0352ec92287e867a540d5720ea631.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_2.png-82e0352ec92287e867a540d5720ea631.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_3.png new file mode 100644 index 0000000..fce6629 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_3.png.import new file mode 100644 index 0000000..d8e6512 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://x3sga6h87nf4" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_3.png-162411b3dd5b62354be0e0611f7ee9c4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_3.png-162411b3dd5b62354be0e0611f7ee9c4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_4.png new file mode 100644 index 0000000..01141a3 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_4.png.import new file mode 100644 index 0000000..d508f71 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dk7a70rnh41xg" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_4.png-edfe0874a71d6eb69c8729adda915a64.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_4.png-edfe0874a71d6eb69c8729adda915a64.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_5.png new file mode 100644 index 0000000..495a09e Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_5.png.import new file mode 100644 index 0000000..d97a2cb --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bbs3olaehepc3" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_5.png-ecf52b58c2df3c4d7ad84dd5b7125927.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_5.png-ecf52b58c2df3c4d7ad84dd5b7125927.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_6.png new file mode 100644 index 0000000..f2a7167 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_6.png.import new file mode 100644 index 0000000..916b778 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cp3qvtxwh5rp5" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_6.png-d20bd7c0fbc56220218a718fd9b58e90.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_6.png-d20bd7c0fbc56220218a718fd9b58e90.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_7.png new file mode 100644 index 0000000..dd3162f Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_7.png.import new file mode 100644 index 0000000..eafd808 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ce3ivq180yx7x" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_7.png-be7500d146be9debb3d815419de65ddb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_7.png-be7500d146be9debb3d815419de65ddb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_8.png new file mode 100644 index 0000000..ce657e3 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_8.png.import new file mode 100644 index 0000000..3391d1c --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bn2qfnkxotd4s" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_8.png-ea536274bfe1e35b03312a01c4c83afa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_8.png-ea536274bfe1e35b03312a01c4c83afa.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_9.png new file mode 100644 index 0000000..83ad4e2 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_9.png.import new file mode 100644 index 0000000..6c325b4 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cycnix0pkla1l" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_9.png-6aa87eb3af9671fd432c705c6e311c09.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_256x256_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_9.png-6aa87eb3af9671fd432c705c6e311c09.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_0.png new file mode 100644 index 0000000..61d7010 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_0.png.import new file mode 100644 index 0000000..7dc9fb1 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dcp6jucnmefnu" +path="res://.godot/imported/Number_Blocks_01_Set_1_512x512_0.png-a819b7e2d1e3f8ff613e70acb9a8d371.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_512x512_0.png-a819b7e2d1e3f8ff613e70acb9a8d371.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_1.png new file mode 100644 index 0000000..5ac5333 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_1.png.import new file mode 100644 index 0000000..ad8b525 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bddwh1sl7oaqi" +path="res://.godot/imported/Number_Blocks_01_Set_1_512x512_1.png-0354cd8916951ec222a0d1cab61b82e9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_512x512_1.png-0354cd8916951ec222a0d1cab61b82e9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_2.png new file mode 100644 index 0000000..819cdca Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_2.png.import new file mode 100644 index 0000000..7c3df96 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dosdpx48q3dum" +path="res://.godot/imported/Number_Blocks_01_Set_1_512x512_2.png-99ba66e75d7fa760516627e3bcd094ae.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_512x512_2.png-99ba66e75d7fa760516627e3bcd094ae.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_3.png new file mode 100644 index 0000000..b0b2726 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_3.png.import new file mode 100644 index 0000000..47d7bef --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cr0tdewvcjsa2" +path="res://.godot/imported/Number_Blocks_01_Set_1_512x512_3.png-4de0743d1b6c63fed9d26c05817413c7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_512x512_3.png-4de0743d1b6c63fed9d26c05817413c7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_4.png new file mode 100644 index 0000000..052630f Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_4.png.import new file mode 100644 index 0000000..b13302d --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://deiqha5s2admv" +path="res://.godot/imported/Number_Blocks_01_Set_1_512x512_4.png-369855fb99c89a0fd0e16d765b757d4b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_512x512_4.png-369855fb99c89a0fd0e16d765b757d4b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_5.png new file mode 100644 index 0000000..566d8aa Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_5.png.import new file mode 100644 index 0000000..fb73e45 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dufqf34d42kec" +path="res://.godot/imported/Number_Blocks_01_Set_1_512x512_5.png-f25e72f562e0104cf8bf8384d4b4125d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_512x512_5.png-f25e72f562e0104cf8bf8384d4b4125d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_6.png new file mode 100644 index 0000000..cb0a1bf Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_6.png.import new file mode 100644 index 0000000..3f5b280 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxfcyayjxofkp" +path="res://.godot/imported/Number_Blocks_01_Set_1_512x512_6.png-2fe99e6e1cb0ab34bbd1d0578d77757d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_512x512_6.png-2fe99e6e1cb0ab34bbd1d0578d77757d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_7.png new file mode 100644 index 0000000..09655df Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_7.png.import new file mode 100644 index 0000000..6077427 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckpkcrbyd23ug" +path="res://.godot/imported/Number_Blocks_01_Set_1_512x512_7.png-94e006c4c085a43c9c9d333fd45f7599.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_512x512_7.png-94e006c4c085a43c9c9d333fd45f7599.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_8.png new file mode 100644 index 0000000..6ba49b8 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_8.png.import new file mode 100644 index 0000000..3470eff --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgo8b7jloyu3m" +path="res://.godot/imported/Number_Blocks_01_Set_1_512x512_8.png-95b5f0ea42058f513b89f31a972d2ead.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_512x512_8.png-95b5f0ea42058f513b89f31a972d2ead.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_9.png new file mode 100644 index 0000000..28bb35f Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_9.png.import new file mode 100644 index 0000000..39d335b --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c0uhtxinwwjv1" +path="res://.godot/imported/Number_Blocks_01_Set_1_512x512_9.png-7e4b421cebeeb21095f7124b277f7ffe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_512x512_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_512x512_9.png-7e4b421cebeeb21095f7124b277f7ffe.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_0.png new file mode 100644 index 0000000..ad397e4 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_0.png.import new file mode 100644 index 0000000..972d44d --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2q81r36fqwh" +path="res://.godot/imported/Number_Blocks_01_Set_1_64x64_0.png-9e9aaf3583611b7b2e5d3b12110891c4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_64x64_0.png-9e9aaf3583611b7b2e5d3b12110891c4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_1.png new file mode 100644 index 0000000..dcc24e4 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_1.png.import new file mode 100644 index 0000000..ad6bf3a --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bk04x64tlsg5c" +path="res://.godot/imported/Number_Blocks_01_Set_1_64x64_1.png-584a8fac03dd5ffe542b0813d4dc7334.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_64x64_1.png-584a8fac03dd5ffe542b0813d4dc7334.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_2.png new file mode 100644 index 0000000..b84b80a Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_2.png.import new file mode 100644 index 0000000..503befe --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b8mnelboedu4n" +path="res://.godot/imported/Number_Blocks_01_Set_1_64x64_2.png-faf01fc3cfc5ca57a00e288c6fa38eb8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_64x64_2.png-faf01fc3cfc5ca57a00e288c6fa38eb8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_3.png new file mode 100644 index 0000000..8146d1d Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_3.png.import new file mode 100644 index 0000000..f73784d --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bi3fcm8wlc0qv" +path="res://.godot/imported/Number_Blocks_01_Set_1_64x64_3.png-638c1a67a63f7f1f50eb1d2b52689799.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_64x64_3.png-638c1a67a63f7f1f50eb1d2b52689799.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_4.png new file mode 100644 index 0000000..b3744cc Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_4.png.import new file mode 100644 index 0000000..4177f1c --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crhmko2n2o1lq" +path="res://.godot/imported/Number_Blocks_01_Set_1_64x64_4.png-ce284a26576b42cffd3f62756eb94f41.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_64x64_4.png-ce284a26576b42cffd3f62756eb94f41.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_5.png new file mode 100644 index 0000000..9aaeb0c Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_5.png.import new file mode 100644 index 0000000..158ea00 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cg2rbe8ofbh1n" +path="res://.godot/imported/Number_Blocks_01_Set_1_64x64_5.png-f953b3f2edb4cc13b9a66e5063cd3ed5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_64x64_5.png-f953b3f2edb4cc13b9a66e5063cd3ed5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_6.png new file mode 100644 index 0000000..126d6a3 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_6.png.import new file mode 100644 index 0000000..605c53e --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cr5k8tj70qsaa" +path="res://.godot/imported/Number_Blocks_01_Set_1_64x64_6.png-7af6c52ba2501e0af18643fbda287849.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_64x64_6.png-7af6c52ba2501e0af18643fbda287849.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_7.png new file mode 100644 index 0000000..bf847f6 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_7.png.import new file mode 100644 index 0000000..9d4d1ae --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://p06ywc0ea2pn" +path="res://.godot/imported/Number_Blocks_01_Set_1_64x64_7.png-82bcee0b4e1587e26887b7b611f05012.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_64x64_7.png-82bcee0b4e1587e26887b7b611f05012.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_8.png new file mode 100644 index 0000000..ee50e00 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_8.png.import new file mode 100644 index 0000000..cdebd95 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bja5i6r7xxdvk" +path="res://.godot/imported/Number_Blocks_01_Set_1_64x64_8.png-634672a7241b4b0bc87d47255b6d7f1b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_64x64_8.png-634672a7241b4b0bc87d47255b6d7f1b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_9.png new file mode 100644 index 0000000..81e1595 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_9.png.import new file mode 100644 index 0000000..ef257fd --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bdta4ym1cnwpk" +path="res://.godot/imported/Number_Blocks_01_Set_1_64x64_9.png-727e5002eabc9277cfdd5eb2e5a4f3bb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_1_64x64_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_64x64_9.png-727e5002eabc9277cfdd5eb2e5a4f3bb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_0.png new file mode 100644 index 0000000..e2b5a2a Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_0.png.import new file mode 100644 index 0000000..94b725f --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://y2ufv2vrvomp" +path="res://.godot/imported/Number_Blocks_01_Set_2_128x128_0.png-b17db191db334b6e0e000c1af1b5d035.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_128x128_0.png-b17db191db334b6e0e000c1af1b5d035.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_1.png new file mode 100644 index 0000000..e55c48b Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_1.png.import new file mode 100644 index 0000000..ca9ae61 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btgox5hjpve8a" +path="res://.godot/imported/Number_Blocks_01_Set_2_128x128_1.png-3f4f5e0268c125bfaf6f88996fdeb0cb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_128x128_1.png-3f4f5e0268c125bfaf6f88996fdeb0cb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_2.png new file mode 100644 index 0000000..3486734 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_2.png.import new file mode 100644 index 0000000..1667b56 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cl3a6opwuclpm" +path="res://.godot/imported/Number_Blocks_01_Set_2_128x128_2.png-c358fb86588507a541f000430fc05c53.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_128x128_2.png-c358fb86588507a541f000430fc05c53.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_3.png new file mode 100644 index 0000000..913f30c Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_3.png.import new file mode 100644 index 0000000..c725226 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7dw252upaw5v" +path="res://.godot/imported/Number_Blocks_01_Set_2_128x128_3.png-2f0c5beae3504e1e0e6c8c4d3a17065e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_128x128_3.png-2f0c5beae3504e1e0e6c8c4d3a17065e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_4.png new file mode 100644 index 0000000..ffbe6e9 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_4.png.import new file mode 100644 index 0000000..fd571c0 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dapvp1l2fu00u" +path="res://.godot/imported/Number_Blocks_01_Set_2_128x128_4.png-3f7c595d709d4e016d07fa3590c5759b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_128x128_4.png-3f7c595d709d4e016d07fa3590c5759b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_5.png new file mode 100644 index 0000000..17d2d47 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_5.png.import new file mode 100644 index 0000000..3f149eb --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://32lusu3okj5a" +path="res://.godot/imported/Number_Blocks_01_Set_2_128x128_5.png-7b895be34563c2f6de684714b764dfa4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_128x128_5.png-7b895be34563c2f6de684714b764dfa4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_6.png new file mode 100644 index 0000000..234301c Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_6.png.import new file mode 100644 index 0000000..729800a --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dkr0bhsah0qv5" +path="res://.godot/imported/Number_Blocks_01_Set_2_128x128_6.png-55ab2514d871d8385de051b4731fb163.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_128x128_6.png-55ab2514d871d8385de051b4731fb163.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_7.png new file mode 100644 index 0000000..68aba60 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_7.png.import new file mode 100644 index 0000000..17afe83 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bwapgkw8ij146" +path="res://.godot/imported/Number_Blocks_01_Set_2_128x128_7.png-29b698f583770406138cc7e38de7db24.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_128x128_7.png-29b698f583770406138cc7e38de7db24.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_8.png new file mode 100644 index 0000000..f999207 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_8.png.import new file mode 100644 index 0000000..75fc93d --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dookske74wc18" +path="res://.godot/imported/Number_Blocks_01_Set_2_128x128_8.png-e12f3f6520016350636c44455a6aa49d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_128x128_8.png-e12f3f6520016350636c44455a6aa49d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_9.png new file mode 100644 index 0000000..d6a07af Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_9.png.import new file mode 100644 index 0000000..881fa34 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cdtaadaugnitk" +path="res://.godot/imported/Number_Blocks_01_Set_2_128x128_9.png-6bdac62b6960e29f7a6dc996c12ada33.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_128x128_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_128x128_9.png-6bdac62b6960e29f7a6dc996c12ada33.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_0.png new file mode 100644 index 0000000..f56a21a Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_0.png.import new file mode 100644 index 0000000..b3fdd41 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://t5xxbocen1ww" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_0.png-160903072c2385aa6011658e5f1bf3ee.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_0.png-160903072c2385aa6011658e5f1bf3ee.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_1.png new file mode 100644 index 0000000..cee912d Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_1.png.import new file mode 100644 index 0000000..46b4a97 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cuchrph1u8ksi" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_1.png-ad4dd211e6c14576643865550de43d6c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_1.png-ad4dd211e6c14576643865550de43d6c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_2.png new file mode 100644 index 0000000..acde747 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_2.png.import new file mode 100644 index 0000000..5e32f00 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://0sosa0qccao7" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_2.png-09fd4f95b395d2ffaa0df5f4ae8539d8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_2.png-09fd4f95b395d2ffaa0df5f4ae8539d8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_3.png new file mode 100644 index 0000000..2f66d34 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_3.png.import new file mode 100644 index 0000000..4471e36 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dr2i7lnk0d6op" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_3.png-ff0d956ff9baff78a4a3e812bc77e468.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_3.png-ff0d956ff9baff78a4a3e812bc77e468.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_4.png new file mode 100644 index 0000000..a420e28 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_4.png.import new file mode 100644 index 0000000..ca53f0b --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://nvf3mw0b1tc" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_4.png-22e4805511332881fb1194f1d4b30289.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_4.png-22e4805511332881fb1194f1d4b30289.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_5.png new file mode 100644 index 0000000..def4691 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_5.png.import new file mode 100644 index 0000000..80a7d54 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://f8jxxg4boxj7" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_5.png-0e815097ff7f70836009ff0d6773a11c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_5.png-0e815097ff7f70836009ff0d6773a11c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_6.png new file mode 100644 index 0000000..fb96c7e Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_6.png.import new file mode 100644 index 0000000..3c74fab --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://csdksnnuyxgxi" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_6.png-023fe35d252132c5310e6da36310123c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_6.png-023fe35d252132c5310e6da36310123c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_7.png new file mode 100644 index 0000000..c2f42cd Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_7.png.import new file mode 100644 index 0000000..d01c465 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dgc017fl1iw7v" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_7.png-2a8b38cb657bec55cd1223b045547e43.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_7.png-2a8b38cb657bec55cd1223b045547e43.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_8.png new file mode 100644 index 0000000..3e16fed Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_8.png.import new file mode 100644 index 0000000..9216add --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6da6i58launb" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_8.png-f8dada64b1fbcb787d174061af7e8616.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_8.png-f8dada64b1fbcb787d174061af7e8616.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_9.png new file mode 100644 index 0000000..6c95891 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_9.png.import new file mode 100644 index 0000000..7ecaa81 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://byv7fda4vjscy" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_9.png-df0fada68129a891797fe58fb3a03a9b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_256x256_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_9.png-df0fada68129a891797fe58fb3a03a9b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_0.png new file mode 100644 index 0000000..6a31a18 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_0.png.import new file mode 100644 index 0000000..c53cd6c --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ccysrctugture" +path="res://.godot/imported/Number_Blocks_01_Set_2_512x512_0.png-539118e1d555f1ad4a1ffcd82ea43364.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_512x512_0.png-539118e1d555f1ad4a1ffcd82ea43364.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_1.png new file mode 100644 index 0000000..5e88288 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_1.png.import new file mode 100644 index 0000000..21279a7 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bp8xuq3gmgnce" +path="res://.godot/imported/Number_Blocks_01_Set_2_512x512_1.png-e8ba9c800a7562ba4dd69661bad8c104.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_512x512_1.png-e8ba9c800a7562ba4dd69661bad8c104.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_2.png new file mode 100644 index 0000000..be98081 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_2.png.import new file mode 100644 index 0000000..84a5746 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cuoktbhqywm0a" +path="res://.godot/imported/Number_Blocks_01_Set_2_512x512_2.png-f1647fc943d3b2e91a6b4a995f17ae8c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_512x512_2.png-f1647fc943d3b2e91a6b4a995f17ae8c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_3.png new file mode 100644 index 0000000..482f62a Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_3.png.import new file mode 100644 index 0000000..25e30e8 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vcsk74b8l5n7" +path="res://.godot/imported/Number_Blocks_01_Set_2_512x512_3.png-676d82fce189ccf9cb052b13389dac86.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_512x512_3.png-676d82fce189ccf9cb052b13389dac86.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_4.png new file mode 100644 index 0000000..c0103fc Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_4.png.import new file mode 100644 index 0000000..fb479e8 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3pjmiugaenh5" +path="res://.godot/imported/Number_Blocks_01_Set_2_512x512_4.png-814d808ea64d8f6d403f0aae4b45a0f6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_512x512_4.png-814d808ea64d8f6d403f0aae4b45a0f6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_5.png new file mode 100644 index 0000000..5e7314c Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_5.png.import new file mode 100644 index 0000000..e06c5f7 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://32fki45est7l" +path="res://.godot/imported/Number_Blocks_01_Set_2_512x512_5.png-2affbb215003a3670c7308e7c801c3c3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_512x512_5.png-2affbb215003a3670c7308e7c801c3c3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_6.png new file mode 100644 index 0000000..8210d90 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_6.png.import new file mode 100644 index 0000000..018e3eb --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://drsywad5v60fa" +path="res://.godot/imported/Number_Blocks_01_Set_2_512x512_6.png-27851b6a93220da978b4e22d307545d1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_512x512_6.png-27851b6a93220da978b4e22d307545d1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_7.png new file mode 100644 index 0000000..bd8c1bf Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_7.png.import new file mode 100644 index 0000000..50d0853 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://rcd0fubjkak8" +path="res://.godot/imported/Number_Blocks_01_Set_2_512x512_7.png-4598fa47fa0372ac0800f7c92bef546b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_512x512_7.png-4598fa47fa0372ac0800f7c92bef546b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_8.png new file mode 100644 index 0000000..160be66 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_8.png.import new file mode 100644 index 0000000..43547ff --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6ekyc6q7lj7a" +path="res://.godot/imported/Number_Blocks_01_Set_2_512x512_8.png-b3705b546c861da71d9d954cb0489cc7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_512x512_8.png-b3705b546c861da71d9d954cb0489cc7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_9.png new file mode 100644 index 0000000..c2ee03d Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_9.png.import new file mode 100644 index 0000000..5515e00 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfb7kqup0fm5u" +path="res://.godot/imported/Number_Blocks_01_Set_2_512x512_9.png-7aa2815cb5677e1255e3bc84e152f0a4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_512x512_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_512x512_9.png-7aa2815cb5677e1255e3bc84e152f0a4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_0.png new file mode 100644 index 0000000..7536db6 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_0.png.import new file mode 100644 index 0000000..16e39cb --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://o5hjqhqsynff" +path="res://.godot/imported/Number_Blocks_01_Set_2_64x64_0.png-b4239fae58f3fc6cf4f6cae13519aecd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_64x64_0.png-b4239fae58f3fc6cf4f6cae13519aecd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_1.png new file mode 100644 index 0000000..f2d6346 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_1.png.import new file mode 100644 index 0000000..c9fd0ad --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cemrxyqfqyxof" +path="res://.godot/imported/Number_Blocks_01_Set_2_64x64_1.png-faf9c8c61d4d09740b1b8ee2400f47b2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_64x64_1.png-faf9c8c61d4d09740b1b8ee2400f47b2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_2.png new file mode 100644 index 0000000..3c07aa7 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_2.png.import new file mode 100644 index 0000000..03a3226 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b6tjukmbqd0u2" +path="res://.godot/imported/Number_Blocks_01_Set_2_64x64_2.png-caccd1247999dfaffbaacf42acde1bb3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_64x64_2.png-caccd1247999dfaffbaacf42acde1bb3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_3.png new file mode 100644 index 0000000..4fd7043 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_3.png.import new file mode 100644 index 0000000..cfd9e6f --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cmp242sr0ck3i" +path="res://.godot/imported/Number_Blocks_01_Set_2_64x64_3.png-e86de25526443d4604e7c15f3449bf79.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_64x64_3.png-e86de25526443d4604e7c15f3449bf79.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_4.png new file mode 100644 index 0000000..c7a2117 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_4.png.import new file mode 100644 index 0000000..3471635 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bivgemtn7lb8r" +path="res://.godot/imported/Number_Blocks_01_Set_2_64x64_4.png-00206b56de83d3e04564b7afc74d3420.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_64x64_4.png-00206b56de83d3e04564b7afc74d3420.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_5.png new file mode 100644 index 0000000..2da5398 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_5.png.import new file mode 100644 index 0000000..2845f70 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqyueosta7ngq" +path="res://.godot/imported/Number_Blocks_01_Set_2_64x64_5.png-f93905d30b517a86bb7e7ca5c67bf1d4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_64x64_5.png-f93905d30b517a86bb7e7ca5c67bf1d4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_6.png new file mode 100644 index 0000000..d811de5 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_6.png.import new file mode 100644 index 0000000..fa9185e --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckfwd77jy1xyj" +path="res://.godot/imported/Number_Blocks_01_Set_2_64x64_6.png-23ec846a7ecca32a4cf5d7192d4a99dc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_64x64_6.png-23ec846a7ecca32a4cf5d7192d4a99dc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_7.png new file mode 100644 index 0000000..1d07981 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_7.png.import new file mode 100644 index 0000000..c0f9c6e --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dckvrpsqnr141" +path="res://.godot/imported/Number_Blocks_01_Set_2_64x64_7.png-371ad71059f638c6d07428b4a811e3ac.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_64x64_7.png-371ad71059f638c6d07428b4a811e3ac.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_8.png new file mode 100644 index 0000000..2219c5e Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_8.png.import new file mode 100644 index 0000000..73d5858 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dghpwfipig156" +path="res://.godot/imported/Number_Blocks_01_Set_2_64x64_8.png-b799798f485b2819836c3bcb82245aa7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_64x64_8.png-b799798f485b2819836c3bcb82245aa7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_9.png new file mode 100644 index 0000000..9a0435d Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_9.png.import new file mode 100644 index 0000000..af9372c --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bsyrainjdm8qi" +path="res://.godot/imported/Number_Blocks_01_Set_2_64x64_9.png-ad804b4ebce2eab565b592a3b5d280fd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_2_64x64_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_64x64_9.png-ad804b4ebce2eab565b592a3b5d280fd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_0.png new file mode 100644 index 0000000..44d7897 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_0.png.import new file mode 100644 index 0000000..dac3db1 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dum2gpnjd8tmc" +path="res://.godot/imported/Number_Blocks_01_Set_3_128x128_0.png-9c28b104fcad7106b33ac7526671dda5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_128x128_0.png-9c28b104fcad7106b33ac7526671dda5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_1.png new file mode 100644 index 0000000..e0724f8 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_1.png.import new file mode 100644 index 0000000..d3901b2 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2ps1vprrimca" +path="res://.godot/imported/Number_Blocks_01_Set_3_128x128_1.png-668c9b9333b265a66b10862073a8a620.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_128x128_1.png-668c9b9333b265a66b10862073a8a620.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_2.png new file mode 100644 index 0000000..f7b2b84 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_2.png.import new file mode 100644 index 0000000..b7fedac --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cdcfmrsg5xorj" +path="res://.godot/imported/Number_Blocks_01_Set_3_128x128_2.png-19d9eec0385fff9d2237003ffbeac118.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_128x128_2.png-19d9eec0385fff9d2237003ffbeac118.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_3.png new file mode 100644 index 0000000..0173752 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_3.png.import new file mode 100644 index 0000000..3cc813f --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6ywjtpy42rou" +path="res://.godot/imported/Number_Blocks_01_Set_3_128x128_3.png-9cd534be086364f14d7f66a861bb4d36.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_128x128_3.png-9cd534be086364f14d7f66a861bb4d36.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_4.png new file mode 100644 index 0000000..0b2c7c8 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_4.png.import new file mode 100644 index 0000000..08043f0 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfi2oymhah7dt" +path="res://.godot/imported/Number_Blocks_01_Set_3_128x128_4.png-7d8a8608f82817d9d244fb99afd9eb81.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_128x128_4.png-7d8a8608f82817d9d244fb99afd9eb81.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_5.png new file mode 100644 index 0000000..7746ef4 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_5.png.import new file mode 100644 index 0000000..e0dab2c --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dcxwdw56ley2d" +path="res://.godot/imported/Number_Blocks_01_Set_3_128x128_5.png-ab35d630220821971e806783888ceeec.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_128x128_5.png-ab35d630220821971e806783888ceeec.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_6.png new file mode 100644 index 0000000..1d57d1a Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_6.png.import new file mode 100644 index 0000000..b53aa51 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ch51xfkn2y4xt" +path="res://.godot/imported/Number_Blocks_01_Set_3_128x128_6.png-3abe19797deb42684d97227f19326012.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_128x128_6.png-3abe19797deb42684d97227f19326012.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_7.png new file mode 100644 index 0000000..69ffbe1 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_7.png.import new file mode 100644 index 0000000..7acd382 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xrb67wtmp8s" +path="res://.godot/imported/Number_Blocks_01_Set_3_128x128_7.png-f82ee1327340abb42e2d4f756f4e4644.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_128x128_7.png-f82ee1327340abb42e2d4f756f4e4644.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_8.png new file mode 100644 index 0000000..8bc808d Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_8.png.import new file mode 100644 index 0000000..4f03286 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://byc1lqdvxkvdv" +path="res://.godot/imported/Number_Blocks_01_Set_3_128x128_8.png-d7473973f151ee229d0aa841e3f10486.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_128x128_8.png-d7473973f151ee229d0aa841e3f10486.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_9.png new file mode 100644 index 0000000..725cd04 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_9.png.import new file mode 100644 index 0000000..ccf7205 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cmlof7vqsqx8s" +path="res://.godot/imported/Number_Blocks_01_Set_3_128x128_9.png-c3272de4a02049e213428be7067dcb9f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_128x128_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_128x128_9.png-c3272de4a02049e213428be7067dcb9f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_0.png new file mode 100644 index 0000000..977d147 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_0.png.import new file mode 100644 index 0000000..094eb05 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3onl3yxic4wq" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_0.png-49c3104dfdf5eeb1696aede325b94e41.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_0.png-49c3104dfdf5eeb1696aede325b94e41.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_1.png new file mode 100644 index 0000000..15f3d8f Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_1.png.import new file mode 100644 index 0000000..51fd39c --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crwm4yjvh6bkp" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_1.png-48f80ef6ad479e9baff986afe146446c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_1.png-48f80ef6ad479e9baff986afe146446c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_2.png new file mode 100644 index 0000000..ad6d69e Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_2.png.import new file mode 100644 index 0000000..e3482c6 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://foqbytdww0j8" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_2.png-dd78f3fd5593af7efca2328a40209e27.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_2.png-dd78f3fd5593af7efca2328a40209e27.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_3.png new file mode 100644 index 0000000..d99676a Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_3.png.import new file mode 100644 index 0000000..d163039 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ddkfmqw7e8nbb" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_3.png-3285450958b7a444eec7366ed844640c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_3.png-3285450958b7a444eec7366ed844640c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_4.png new file mode 100644 index 0000000..8f96d9c Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_4.png.import new file mode 100644 index 0000000..7c79557 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8hf00ybjgmm4" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_4.png-77f0fa2c714ff87a84608f19edb6f63b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_4.png-77f0fa2c714ff87a84608f19edb6f63b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_5.png new file mode 100644 index 0000000..aa83770 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_5.png.import new file mode 100644 index 0000000..66f0ae1 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b208us0ettddm" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_5.png-01f7aee8b7cb7f78e93c1693c64e67d1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_5.png-01f7aee8b7cb7f78e93c1693c64e67d1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_6.png new file mode 100644 index 0000000..932a045 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_6.png.import new file mode 100644 index 0000000..353be1a --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://86ow5ux64sdw" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_6.png-e5c50b5d947ebc83e0540ea7e9310f9b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_6.png-e5c50b5d947ebc83e0540ea7e9310f9b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_7.png new file mode 100644 index 0000000..12ce4bf Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_7.png.import new file mode 100644 index 0000000..5897687 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://qseb2ch186iy" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_7.png-f29cb37a961435970f03e49bdaeb594c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_7.png-f29cb37a961435970f03e49bdaeb594c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_8.png new file mode 100644 index 0000000..e8b5db8 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_8.png.import new file mode 100644 index 0000000..b9d751f --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dcn5r5lhli7ck" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_8.png-03e6c5f4c55a9485dcf179e8b007b073.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_8.png-03e6c5f4c55a9485dcf179e8b007b073.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_9.png new file mode 100644 index 0000000..c70dafc Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_9.png.import new file mode 100644 index 0000000..deb1465 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bimtrjlm2pots" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_9.png-c2d4d86959e9d3b33201762a7ec659ce.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_256x256_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_9.png-c2d4d86959e9d3b33201762a7ec659ce.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_0.png new file mode 100644 index 0000000..cfd2322 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_0.png.import new file mode 100644 index 0000000..ee33507 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://blu12vqmjj25c" +path="res://.godot/imported/Number_Blocks_01_Set_3_512x512_0.png-7017f321270b8893a46044e2aaa31b27.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_512x512_0.png-7017f321270b8893a46044e2aaa31b27.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_1.png new file mode 100644 index 0000000..18094d9 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_1.png.import new file mode 100644 index 0000000..8d91fcc --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://gddnrimfr72p" +path="res://.godot/imported/Number_Blocks_01_Set_3_512x512_1.png-865cf8c47225d4525c30c8d00e8d6a1a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_512x512_1.png-865cf8c47225d4525c30c8d00e8d6a1a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_2.png new file mode 100644 index 0000000..36d6710 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_2.png.import new file mode 100644 index 0000000..8b44d66 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4jijnhh18ib8" +path="res://.godot/imported/Number_Blocks_01_Set_3_512x512_2.png-55f65d6821e9e516aa21a129ad91d20f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_512x512_2.png-55f65d6821e9e516aa21a129ad91d20f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_3.png new file mode 100644 index 0000000..9d7d4c5 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_3.png.import new file mode 100644 index 0000000..4c0098c --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cddkd2al244ra" +path="res://.godot/imported/Number_Blocks_01_Set_3_512x512_3.png-4987a55964cedac33f19ec4de94b58a0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_512x512_3.png-4987a55964cedac33f19ec4de94b58a0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_4.png new file mode 100644 index 0000000..704c6f9 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_4.png.import new file mode 100644 index 0000000..03d2c38 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bviboccqqfvvp" +path="res://.godot/imported/Number_Blocks_01_Set_3_512x512_4.png-243045f7b30982a19df355038b5db42f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_512x512_4.png-243045f7b30982a19df355038b5db42f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_5.png new file mode 100644 index 0000000..8b4d4b4 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_5.png.import new file mode 100644 index 0000000..582d59b --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4iysit0kq2ax" +path="res://.godot/imported/Number_Blocks_01_Set_3_512x512_5.png-64363cfa689235f13ff6f40e63b26c42.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_512x512_5.png-64363cfa689235f13ff6f40e63b26c42.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_6.png new file mode 100644 index 0000000..3704bd0 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_6.png.import new file mode 100644 index 0000000..c7fa7f8 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dgvekrnsidghb" +path="res://.godot/imported/Number_Blocks_01_Set_3_512x512_6.png-422e3ff0bedd2a99a5fcff1515652b33.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_512x512_6.png-422e3ff0bedd2a99a5fcff1515652b33.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_7.png new file mode 100644 index 0000000..967eebc Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_7.png.import new file mode 100644 index 0000000..6147234 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvvei3g833jnn" +path="res://.godot/imported/Number_Blocks_01_Set_3_512x512_7.png-3349845554b88ecc2934979fee22e28a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_512x512_7.png-3349845554b88ecc2934979fee22e28a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_8.png new file mode 100644 index 0000000..7473ce1 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_8.png.import new file mode 100644 index 0000000..2b761ed --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://byop3ihb2h452" +path="res://.godot/imported/Number_Blocks_01_Set_3_512x512_8.png-239bcf4f3cdf3327a1323e8658280cab.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_512x512_8.png-239bcf4f3cdf3327a1323e8658280cab.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_9.png new file mode 100644 index 0000000..aed6fae Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_9.png.import new file mode 100644 index 0000000..e1dba0c --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dj3jlhcxmehyx" +path="res://.godot/imported/Number_Blocks_01_Set_3_512x512_9.png-0b3f77106d39e10780d49539de7ff51f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_512x512_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_512x512_9.png-0b3f77106d39e10780d49539de7ff51f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_0.png new file mode 100644 index 0000000..c916880 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_0.png.import new file mode 100644 index 0000000..e97655c --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwmqdo1rhp75" +path="res://.godot/imported/Number_Blocks_01_Set_3_64x64_0.png-73a861eebaeffe81d18149791c28ea91.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_64x64_0.png-73a861eebaeffe81d18149791c28ea91.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_1.png new file mode 100644 index 0000000..b0427ae Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_1.png.import new file mode 100644 index 0000000..5aaf21a --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bkhy4inleensl" +path="res://.godot/imported/Number_Blocks_01_Set_3_64x64_1.png-532f01eff811ddc40b0ede96bd220092.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_64x64_1.png-532f01eff811ddc40b0ede96bd220092.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_2.png new file mode 100644 index 0000000..2853662 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_2.png.import new file mode 100644 index 0000000..8dbb532 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://lpjbcmu5csjx" +path="res://.godot/imported/Number_Blocks_01_Set_3_64x64_2.png-69ad3d0d6b31ea7269860edd190fdba2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_64x64_2.png-69ad3d0d6b31ea7269860edd190fdba2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_3.png new file mode 100644 index 0000000..497f3b2 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_3.png.import new file mode 100644 index 0000000..09ce5de --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2nnpjouyxvq2" +path="res://.godot/imported/Number_Blocks_01_Set_3_64x64_3.png-5f7333e6121c9d7cfea64e3b6df92a21.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_64x64_3.png-5f7333e6121c9d7cfea64e3b6df92a21.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_4.png new file mode 100644 index 0000000..c5ceea4 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_4.png.import new file mode 100644 index 0000000..a782a06 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bjiku3d6qqmjj" +path="res://.godot/imported/Number_Blocks_01_Set_3_64x64_4.png-13dbdab91d86cc16189cfa253828d844.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_64x64_4.png-13dbdab91d86cc16189cfa253828d844.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_5.png new file mode 100644 index 0000000..25707a1 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_5.png.import new file mode 100644 index 0000000..0c9bc8b --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b1ukt5jpoqtnv" +path="res://.godot/imported/Number_Blocks_01_Set_3_64x64_5.png-22f97088a7d3ff65431c7dadbbe9bbd9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_64x64_5.png-22f97088a7d3ff65431c7dadbbe9bbd9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_6.png new file mode 100644 index 0000000..9eebab3 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_6.png.import new file mode 100644 index 0000000..caf09a5 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5hcfgoykyiey" +path="res://.godot/imported/Number_Blocks_01_Set_3_64x64_6.png-4ef947a23ed3f21f9d0c4c74116f076a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_64x64_6.png-4ef947a23ed3f21f9d0c4c74116f076a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_7.png new file mode 100644 index 0000000..f708f86 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_7.png.import new file mode 100644 index 0000000..fdcc0b0 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1qi3bot1xa2y" +path="res://.godot/imported/Number_Blocks_01_Set_3_64x64_7.png-c443e2f1d1eabcd87c0523da082de6a8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_64x64_7.png-c443e2f1d1eabcd87c0523da082de6a8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_8.png new file mode 100644 index 0000000..539e756 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_8.png.import new file mode 100644 index 0000000..b6a0486 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmx25jymjtifr" +path="res://.godot/imported/Number_Blocks_01_Set_3_64x64_8.png-482df3d0307ad24369ac20d538d17aa6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_64x64_8.png-482df3d0307ad24369ac20d538d17aa6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_9.png new file mode 100644 index 0000000..b536683 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_9.png.import new file mode 100644 index 0000000..8b167be --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxnp32orr4wcv" +path="res://.godot/imported/Number_Blocks_01_Set_3_64x64_9.png-03ddda1d26a857b1824e2951c703f76b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_3_64x64_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_64x64_9.png-03ddda1d26a857b1824e2951c703f76b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_0.png new file mode 100644 index 0000000..8a33630 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_0.png.import new file mode 100644 index 0000000..5f24963 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckawnpg5bj5w2" +path="res://.godot/imported/Number_Blocks_01_Set_4_128x128_0.png-d803d49b77ec09b6ec1bf215bb83d604.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_128x128_0.png-d803d49b77ec09b6ec1bf215bb83d604.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_1.png new file mode 100644 index 0000000..23e5502 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_1.png.import new file mode 100644 index 0000000..d545f7f --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpvaxhfxproqo" +path="res://.godot/imported/Number_Blocks_01_Set_4_128x128_1.png-812fd80010d3efeada380734e1d260b7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_128x128_1.png-812fd80010d3efeada380734e1d260b7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_2.png new file mode 100644 index 0000000..156b9ab Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_2.png.import new file mode 100644 index 0000000..f4f4da5 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dcwpkolj1vd2a" +path="res://.godot/imported/Number_Blocks_01_Set_4_128x128_2.png-70091d706fa7152f1644f0bd1d3157e5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_128x128_2.png-70091d706fa7152f1644f0bd1d3157e5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_3.png new file mode 100644 index 0000000..db92360 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_3.png.import new file mode 100644 index 0000000..e9a4742 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://se3qiu7sopdq" +path="res://.godot/imported/Number_Blocks_01_Set_4_128x128_3.png-e8f93cdef2842b8f5d46abbecc70c700.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_128x128_3.png-e8f93cdef2842b8f5d46abbecc70c700.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_4.png new file mode 100644 index 0000000..90b1d2d Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_4.png.import new file mode 100644 index 0000000..e2fc3dc --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cn1pip0tomu2k" +path="res://.godot/imported/Number_Blocks_01_Set_4_128x128_4.png-3fdca27a7ecf804e1c36beaf4b869de2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_128x128_4.png-3fdca27a7ecf804e1c36beaf4b869de2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_5.png new file mode 100644 index 0000000..3e7b2b7 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_5.png.import new file mode 100644 index 0000000..b2ed0e6 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dgdn6cl23q87g" +path="res://.godot/imported/Number_Blocks_01_Set_4_128x128_5.png-dd3d9a3df7bdf6c3b00a2f31bc65ab97.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_128x128_5.png-dd3d9a3df7bdf6c3b00a2f31bc65ab97.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_6.png new file mode 100644 index 0000000..b0e2a5c Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_6.png.import new file mode 100644 index 0000000..d69b79d --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chqvj147e3ej2" +path="res://.godot/imported/Number_Blocks_01_Set_4_128x128_6.png-9fc04e91bb2e43de9d8be0aa569a0865.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_128x128_6.png-9fc04e91bb2e43de9d8be0aa569a0865.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_7.png new file mode 100644 index 0000000..beaf853 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_7.png.import new file mode 100644 index 0000000..63b4fc5 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ceo30xwfj8u28" +path="res://.godot/imported/Number_Blocks_01_Set_4_128x128_7.png-5648c124f154dd282fddfefd23780087.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_128x128_7.png-5648c124f154dd282fddfefd23780087.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_8.png new file mode 100644 index 0000000..a7fa8e1 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_8.png.import new file mode 100644 index 0000000..b6e5d2d --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://beuc66yp57ju3" +path="res://.godot/imported/Number_Blocks_01_Set_4_128x128_8.png-5e415abc3c35a4726fddbd314a3c58cc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_128x128_8.png-5e415abc3c35a4726fddbd314a3c58cc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_9.png new file mode 100644 index 0000000..5f050e1 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_9.png.import new file mode 100644 index 0000000..4468a3f --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://wjw4hi7du14g" +path="res://.godot/imported/Number_Blocks_01_Set_4_128x128_9.png-2130ac12ed824c13a9c2d3d3b61b1c59.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_128x128_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_128x128_9.png-2130ac12ed824c13a9c2d3d3b61b1c59.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_0.png new file mode 100644 index 0000000..0edf958 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_0.png.import new file mode 100644 index 0000000..aa04558 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cy3fbp8pvv14" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_0.png-0fbcf47d31e3d10ae9d878e98dff1023.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_0.png-0fbcf47d31e3d10ae9d878e98dff1023.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_1.png new file mode 100644 index 0000000..53e7e7a Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_1.png.import new file mode 100644 index 0000000..f19bc79 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bphe3h3uya014" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_1.png-ff57c0f3828750cfd203d8dd04b7fc99.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_1.png-ff57c0f3828750cfd203d8dd04b7fc99.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_2.png new file mode 100644 index 0000000..1c6a9ac Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_2.png.import new file mode 100644 index 0000000..4e76822 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://det2gaxl2rq35" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_2.png-f2caacb15aebe675d03950b87b860b69.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_2.png-f2caacb15aebe675d03950b87b860b69.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_3.png new file mode 100644 index 0000000..26b6fed Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_3.png.import new file mode 100644 index 0000000..920a64c --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btglpot1xch6e" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_3.png-7dc4d73c0682de24a711b87bdeb1d0eb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_3.png-7dc4d73c0682de24a711b87bdeb1d0eb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_4.png new file mode 100644 index 0000000..d077e09 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_4.png.import new file mode 100644 index 0000000..9c3e1d5 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dj3v38t3b7nmi" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_4.png-c66810ec30d0b2642c6f667e73f23c09.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_4.png-c66810ec30d0b2642c6f667e73f23c09.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_5.png new file mode 100644 index 0000000..47e606a Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_5.png.import new file mode 100644 index 0000000..6887700 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bxaquix03esoc" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_5.png-0f5521e9fa66dca58924f4f9a5dd5160.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_5.png-0f5521e9fa66dca58924f4f9a5dd5160.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_6.png new file mode 100644 index 0000000..92ea433 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_6.png.import new file mode 100644 index 0000000..b1ec808 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgksylt0xs2cm" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_6.png-e2539d8f5dee6528532543f6407cbdd4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_6.png-e2539d8f5dee6528532543f6407cbdd4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_7.png new file mode 100644 index 0000000..57d4635 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_7.png.import new file mode 100644 index 0000000..cf7b353 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckvgaebfgpif0" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_7.png-c61ed0edbe86c01ca2b68b0fca50ed6a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_7.png-c61ed0edbe86c01ca2b68b0fca50ed6a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_8.png new file mode 100644 index 0000000..21be86a Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_8.png.import new file mode 100644 index 0000000..ddbb67b --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dsxgf0g2v7sof" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_8.png-eb2c58456e5d2d96528ce605a1ba7f99.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_8.png-eb2c58456e5d2d96528ce605a1ba7f99.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_9.png new file mode 100644 index 0000000..422da2f Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_9.png.import new file mode 100644 index 0000000..d81e010 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cc7q5oshdkdpq" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_9.png-a74a3ee5e6d79af549d146d813c9703c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_256x256_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_9.png-a74a3ee5e6d79af549d146d813c9703c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_0.png new file mode 100644 index 0000000..cad6bc4 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_0.png.import new file mode 100644 index 0000000..9b2c60b --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://o3y4p0xyhu2m" +path="res://.godot/imported/Number_Blocks_01_Set_4_512x512_0.png-b9790b9a48c77a40bce32ee51e4e0ea4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_512x512_0.png-b9790b9a48c77a40bce32ee51e4e0ea4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_1.png new file mode 100644 index 0000000..8253577 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_1.png.import new file mode 100644 index 0000000..3a368ea --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://n0h5uyarx7ni" +path="res://.godot/imported/Number_Blocks_01_Set_4_512x512_1.png-b85645ae0a68e0115b740b214e4e5294.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_512x512_1.png-b85645ae0a68e0115b740b214e4e5294.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_2.png new file mode 100644 index 0000000..acc42c0 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_2.png.import new file mode 100644 index 0000000..3accaef --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfvy1lacdgdfl" +path="res://.godot/imported/Number_Blocks_01_Set_4_512x512_2.png-47023bdcc6d32fa0d6021eb25c999a8b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_512x512_2.png-47023bdcc6d32fa0d6021eb25c999a8b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_3.png new file mode 100644 index 0000000..fa2809d Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_3.png.import new file mode 100644 index 0000000..740fc77 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c5ex3rk1wqgbc" +path="res://.godot/imported/Number_Blocks_01_Set_4_512x512_3.png-41d47cafc7d32ff3907eba6cb3f9fe35.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_512x512_3.png-41d47cafc7d32ff3907eba6cb3f9fe35.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_4.png new file mode 100644 index 0000000..b269e26 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_4.png.import new file mode 100644 index 0000000..ff1ddf1 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgn0t7lr2b3le" +path="res://.godot/imported/Number_Blocks_01_Set_4_512x512_4.png-136672aed08608c39c384b6bf7ed4a12.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_512x512_4.png-136672aed08608c39c384b6bf7ed4a12.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_5.png new file mode 100644 index 0000000..33aa79c Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_5.png.import new file mode 100644 index 0000000..b40def3 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bih1pwfw3jmuj" +path="res://.godot/imported/Number_Blocks_01_Set_4_512x512_5.png-898e2c0340b77d41ef97f9b3e1fb4bfc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_512x512_5.png-898e2c0340b77d41ef97f9b3e1fb4bfc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_6.png new file mode 100644 index 0000000..7fccc15 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_6.png.import new file mode 100644 index 0000000..0acec78 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://du1m0w2qp1lyg" +path="res://.godot/imported/Number_Blocks_01_Set_4_512x512_6.png-96882e4fa50d2a716191a089af6f861d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_512x512_6.png-96882e4fa50d2a716191a089af6f861d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_7.png new file mode 100644 index 0000000..24df874 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_7.png.import new file mode 100644 index 0000000..9ba8db6 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bkxugnrxjpvti" +path="res://.godot/imported/Number_Blocks_01_Set_4_512x512_7.png-16a468768acb9104f4eb84d4ad613830.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_512x512_7.png-16a468768acb9104f4eb84d4ad613830.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_8.png new file mode 100644 index 0000000..88ef1e8 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_8.png.import new file mode 100644 index 0000000..e6ca0e2 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://coll8yedlbsee" +path="res://.godot/imported/Number_Blocks_01_Set_4_512x512_8.png-000386f569208bf7e304d9d80d33f05e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_512x512_8.png-000386f569208bf7e304d9d80d33f05e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_9.png new file mode 100644 index 0000000..8bee083 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_9.png.import new file mode 100644 index 0000000..176f9c1 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://tx0noduppx84" +path="res://.godot/imported/Number_Blocks_01_Set_4_512x512_9.png-76d437ac4c69d4ad52149d6f829ae30e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_512x512_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_512x512_9.png-76d437ac4c69d4ad52149d6f829ae30e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_0.png new file mode 100644 index 0000000..5659e1f Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_0.png.import new file mode 100644 index 0000000..3fef164 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://5txkllafv2w4" +path="res://.godot/imported/Number_Blocks_01_Set_4_64x64_0.png-8eef156b38c0a08bd7837539518c9cbe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_64x64_0.png-8eef156b38c0a08bd7837539518c9cbe.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_1.png new file mode 100644 index 0000000..109e080 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_1.png.import new file mode 100644 index 0000000..d58a4c4 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjtmreeuiqnhq" +path="res://.godot/imported/Number_Blocks_01_Set_4_64x64_1.png-c955b119497ce7466fe66840f025255f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_64x64_1.png-c955b119497ce7466fe66840f025255f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_2.png new file mode 100644 index 0000000..ac8f3ca Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_2.png.import new file mode 100644 index 0000000..fe9cda2 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bkrtlbygwbowl" +path="res://.godot/imported/Number_Blocks_01_Set_4_64x64_2.png-4ae02da535f9a6d0befe4355b0c79272.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_64x64_2.png-4ae02da535f9a6d0befe4355b0c79272.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_3.png new file mode 100644 index 0000000..5bec316 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_3.png.import new file mode 100644 index 0000000..b44a22e --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4t1c804egll3" +path="res://.godot/imported/Number_Blocks_01_Set_4_64x64_3.png-4890132d208d87e06c4d831fa460c24f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_64x64_3.png-4890132d208d87e06c4d831fa460c24f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_4.png new file mode 100644 index 0000000..848602d Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_4.png.import new file mode 100644 index 0000000..d2614d1 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dq8qk74hq07np" +path="res://.godot/imported/Number_Blocks_01_Set_4_64x64_4.png-8da48946d7f10c9929909a32dad0d53d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_64x64_4.png-8da48946d7f10c9929909a32dad0d53d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_5.png new file mode 100644 index 0000000..8d752d1 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_5.png.import new file mode 100644 index 0000000..4601ac0 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://wm36aurgw1c1" +path="res://.godot/imported/Number_Blocks_01_Set_4_64x64_5.png-c4690c475fbc768c0fe304f55f7bde12.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_64x64_5.png-c4690c475fbc768c0fe304f55f7bde12.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_6.png new file mode 100644 index 0000000..b4a4da5 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_6.png.import new file mode 100644 index 0000000..b44d6a0 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4ax4sfqpc12u" +path="res://.godot/imported/Number_Blocks_01_Set_4_64x64_6.png-6000fd00dba3dc8cd7693a81291c78b1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_64x64_6.png-6000fd00dba3dc8cd7693a81291c78b1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_7.png new file mode 100644 index 0000000..8ef4cf4 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_7.png.import new file mode 100644 index 0000000..67c6aa1 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bawbw837i671g" +path="res://.godot/imported/Number_Blocks_01_Set_4_64x64_7.png-2db0ca6a46891e3a99dea611bbe332d0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_64x64_7.png-2db0ca6a46891e3a99dea611bbe332d0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_8.png new file mode 100644 index 0000000..390ab73 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_8.png.import new file mode 100644 index 0000000..b886f97 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://oygtpqx5rkc" +path="res://.godot/imported/Number_Blocks_01_Set_4_64x64_8.png-f91aae2094b0739809a02987e8d539b3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_64x64_8.png-f91aae2094b0739809a02987e8d539b3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_9.png new file mode 100644 index 0000000..4ed528b Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_9.png.import new file mode 100644 index 0000000..74ed790 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://85blooa3ysch" +path="res://.godot/imported/Number_Blocks_01_Set_4_64x64_9.png-005a28f5055782b3383ebcc70dc30df9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_4_64x64_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_64x64_9.png-005a28f5055782b3383ebcc70dc30df9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_0.png new file mode 100644 index 0000000..9760c16 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_0.png.import new file mode 100644 index 0000000..b924bb1 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bomqpfup1ndga" +path="res://.godot/imported/Number_Blocks_01_Set_5_128x128_0.png-464a95ce88c51823fabcf6ebabbf3998.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_128x128_0.png-464a95ce88c51823fabcf6ebabbf3998.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_1.png new file mode 100644 index 0000000..c95582b Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_1.png.import new file mode 100644 index 0000000..c819f08 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://0m1v47mat01c" +path="res://.godot/imported/Number_Blocks_01_Set_5_128x128_1.png-8592abb2f38118f09a644e47ee30af7b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_128x128_1.png-8592abb2f38118f09a644e47ee30af7b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_2.png new file mode 100644 index 0000000..27e661d Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_2.png.import new file mode 100644 index 0000000..ce67238 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cu8tgbrafmf00" +path="res://.godot/imported/Number_Blocks_01_Set_5_128x128_2.png-6361226256a2020864cc8242b7d7c745.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_128x128_2.png-6361226256a2020864cc8242b7d7c745.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_3.png new file mode 100644 index 0000000..028764a Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_3.png.import new file mode 100644 index 0000000..cdb9882 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://03pns4v88aog" +path="res://.godot/imported/Number_Blocks_01_Set_5_128x128_3.png-81d643e2973320ad5b92ff77b7a4c35a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_128x128_3.png-81d643e2973320ad5b92ff77b7a4c35a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_4.png new file mode 100644 index 0000000..db77644 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_4.png.import new file mode 100644 index 0000000..2d707a1 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4a18t71vupf4" +path="res://.godot/imported/Number_Blocks_01_Set_5_128x128_4.png-fbe98d35fb020977c4484013e0c87999.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_128x128_4.png-fbe98d35fb020977c4484013e0c87999.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_5.png new file mode 100644 index 0000000..3e58868 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_5.png.import new file mode 100644 index 0000000..3192b24 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://st33u7mme4ws" +path="res://.godot/imported/Number_Blocks_01_Set_5_128x128_5.png-a05eb8e67162e593c7bffb454784b92b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_128x128_5.png-a05eb8e67162e593c7bffb454784b92b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_6.png new file mode 100644 index 0000000..4501f08 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_6.png.import new file mode 100644 index 0000000..20aca9f --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://oe63gcoihq3o" +path="res://.godot/imported/Number_Blocks_01_Set_5_128x128_6.png-5ec6aab0c9e4e4af94d96f68b98c2214.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_128x128_6.png-5ec6aab0c9e4e4af94d96f68b98c2214.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_7.png new file mode 100644 index 0000000..70ca93d Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_7.png.import new file mode 100644 index 0000000..dbbfa89 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crrbqcb5uos6m" +path="res://.godot/imported/Number_Blocks_01_Set_5_128x128_7.png-ae091248cdef1ef1e59be9bdd8278d83.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_128x128_7.png-ae091248cdef1ef1e59be9bdd8278d83.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_8.png new file mode 100644 index 0000000..75ffb5a Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_8.png.import new file mode 100644 index 0000000..2c99ef6 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bkvjvhh1mpxg4" +path="res://.godot/imported/Number_Blocks_01_Set_5_128x128_8.png-ce7825cacc2ed4514b87d08adf86ffe4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_128x128_8.png-ce7825cacc2ed4514b87d08adf86ffe4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_9.png new file mode 100644 index 0000000..5fef21d Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_9.png.import new file mode 100644 index 0000000..7a75776 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2fgtj2jcdnmh" +path="res://.godot/imported/Number_Blocks_01_Set_5_128x128_9.png-3c568133073ca509f171930e75f06929.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_128x128_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_128x128_9.png-3c568133073ca509f171930e75f06929.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_0.png new file mode 100644 index 0000000..a4998d6 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_0.png.import new file mode 100644 index 0000000..157bf05 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cdcsrqgc7fqf8" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_0.png-aa0c1b4697cc8f928c2e66419d49b6e4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_0.png-aa0c1b4697cc8f928c2e66419d49b6e4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_1.png new file mode 100644 index 0000000..0d265bb Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_1.png.import new file mode 100644 index 0000000..f8fa40f --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dab5qhmesdu8d" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_1.png-c584c94f48b856c0c050bec47a33d24f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_1.png-c584c94f48b856c0c050bec47a33d24f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_2.png new file mode 100644 index 0000000..7d0b9b6 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_2.png.import new file mode 100644 index 0000000..15ea7e7 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://drdtigoltw7k6" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_2.png-5c437a8bdea9ec5712d580dbea07d49b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_2.png-5c437a8bdea9ec5712d580dbea07d49b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_3.png new file mode 100644 index 0000000..abfaf1a Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_3.png.import new file mode 100644 index 0000000..f62b245 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvhlvbig5n3k3" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_3.png-717b1a7383d866965b643b86497a9975.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_3.png-717b1a7383d866965b643b86497a9975.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_4.png new file mode 100644 index 0000000..cbf8d4b Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_4.png.import new file mode 100644 index 0000000..c824941 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c884iprfg08c5" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_4.png-5bd59a5ccfc7207ef5a0476d2a6aa557.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_4.png-5bd59a5ccfc7207ef5a0476d2a6aa557.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_5.png new file mode 100644 index 0000000..3217250 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_5.png.import new file mode 100644 index 0000000..f6359fd --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cmkt77waqlos1" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_5.png-5082f3cd9cde323bf427fceae4d17c12.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_5.png-5082f3cd9cde323bf427fceae4d17c12.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_6.png new file mode 100644 index 0000000..019ef7f Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_6.png.import new file mode 100644 index 0000000..227c43b --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://esq3hysyns3m" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_6.png-e1c0acd9ff8a997169564069b6fe3306.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_6.png-e1c0acd9ff8a997169564069b6fe3306.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_7.png new file mode 100644 index 0000000..e92ecc4 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_7.png.import new file mode 100644 index 0000000..3e1e12d --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://db8y22h0s7c27" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_7.png-58aa83f70701298e52275d56e368857d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_7.png-58aa83f70701298e52275d56e368857d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_8.png new file mode 100644 index 0000000..1626bb3 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_8.png.import new file mode 100644 index 0000000..01a2f9c --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cd0k500d1gdhb" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_8.png-a5bdcc45b2349c0cb857ef3e346d7d9f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_8.png-a5bdcc45b2349c0cb857ef3e346d7d9f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_9.png new file mode 100644 index 0000000..db78d79 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_9.png.import new file mode 100644 index 0000000..3d71528 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ve7eitxw2m02" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_9.png-3a0e2bcf8acbf807e7ebbdc0f54b869c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_256x256_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_9.png-3a0e2bcf8acbf807e7ebbdc0f54b869c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_0.png new file mode 100644 index 0000000..a5dec0d Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_0.png.import new file mode 100644 index 0000000..e65b6c0 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6st60blul8uu" +path="res://.godot/imported/Number_Blocks_01_Set_5_512x512_0.png-52f01d6993c616a41f726f78aa3417b4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_512x512_0.png-52f01d6993c616a41f726f78aa3417b4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_1.png new file mode 100644 index 0000000..4844d5c Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_1.png.import new file mode 100644 index 0000000..6a95841 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fohbnxi1scjw" +path="res://.godot/imported/Number_Blocks_01_Set_5_512x512_1.png-343e02e44f5199c06376d4731e798838.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_512x512_1.png-343e02e44f5199c06376d4731e798838.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_2.png new file mode 100644 index 0000000..2aca516 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_2.png.import new file mode 100644 index 0000000..27efdc7 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://n6pnkufobewn" +path="res://.godot/imported/Number_Blocks_01_Set_5_512x512_2.png-4469cfc482ee1eb2214cfb5460318137.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_512x512_2.png-4469cfc482ee1eb2214cfb5460318137.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_3.png new file mode 100644 index 0000000..caa43f1 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_3.png.import new file mode 100644 index 0000000..aded7c8 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqeerlpadbe0x" +path="res://.godot/imported/Number_Blocks_01_Set_5_512x512_3.png-97b167150bf5d8e73c981c13afe257e1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_512x512_3.png-97b167150bf5d8e73c981c13afe257e1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_4.png new file mode 100644 index 0000000..7faf4eb Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_4.png.import new file mode 100644 index 0000000..7a30e32 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://peagegtwvwn" +path="res://.godot/imported/Number_Blocks_01_Set_5_512x512_4.png-d5e9e0645b4ac69142b28f3cd6d30658.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_512x512_4.png-d5e9e0645b4ac69142b28f3cd6d30658.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_5.png new file mode 100644 index 0000000..5b69fc1 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_5.png.import new file mode 100644 index 0000000..aeed4a7 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dr3lc10knshb5" +path="res://.godot/imported/Number_Blocks_01_Set_5_512x512_5.png-34cc04f07548088e2ba2f0f11b8442be.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_512x512_5.png-34cc04f07548088e2ba2f0f11b8442be.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_6.png new file mode 100644 index 0000000..6940fd3 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_6.png.import new file mode 100644 index 0000000..9f754a9 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dyok22yccne72" +path="res://.godot/imported/Number_Blocks_01_Set_5_512x512_6.png-355fa34ec45cda976a6740df8c9f57de.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_512x512_6.png-355fa34ec45cda976a6740df8c9f57de.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_7.png new file mode 100644 index 0000000..6dcf7e8 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_7.png.import new file mode 100644 index 0000000..c0042d4 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ccgihi7sanlyx" +path="res://.godot/imported/Number_Blocks_01_Set_5_512x512_7.png-b52c2cf0ba6d384d8af96d4e49e009c8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_512x512_7.png-b52c2cf0ba6d384d8af96d4e49e009c8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_8.png new file mode 100644 index 0000000..0bb3183 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_8.png.import new file mode 100644 index 0000000..fada417 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dsriecnf3wev6" +path="res://.godot/imported/Number_Blocks_01_Set_5_512x512_8.png-a802bcc8db781866f39abbaceab2d76c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_512x512_8.png-a802bcc8db781866f39abbaceab2d76c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_9.png new file mode 100644 index 0000000..313d3f3 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_9.png.import new file mode 100644 index 0000000..2129630 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dr8jv1e0ir3rg" +path="res://.godot/imported/Number_Blocks_01_Set_5_512x512_9.png-dcb4765d545403f1680f0a09cce68f0c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_512x512_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_512x512_9.png-dcb4765d545403f1680f0a09cce68f0c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_0.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_0.png new file mode 100644 index 0000000..4b95152 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_0.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_0.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_0.png.import new file mode 100644 index 0000000..916f8b7 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://r7wchqm6txyg" +path="res://.godot/imported/Number_Blocks_01_Set_5_64x64_0.png-19a260e9893a868044d932480fec104e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_64x64_0.png-19a260e9893a868044d932480fec104e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_1.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_1.png new file mode 100644 index 0000000..1715a1a Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_1.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_1.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_1.png.import new file mode 100644 index 0000000..e6079c2 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://5uua0c57xdu3" +path="res://.godot/imported/Number_Blocks_01_Set_5_64x64_1.png-4388ad7cbd57434e8aaf7bf015b1250a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_64x64_1.png-4388ad7cbd57434e8aaf7bf015b1250a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_2.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_2.png new file mode 100644 index 0000000..80052ec Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_2.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_2.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_2.png.import new file mode 100644 index 0000000..9cb6e61 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dd00ws60y11fl" +path="res://.godot/imported/Number_Blocks_01_Set_5_64x64_2.png-e1fe25f75927168be7e5587370fd8ece.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_64x64_2.png-e1fe25f75927168be7e5587370fd8ece.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_3.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_3.png new file mode 100644 index 0000000..9bdbcab Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_3.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_3.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_3.png.import new file mode 100644 index 0000000..25c2f25 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://5hv2mrpjapdd" +path="res://.godot/imported/Number_Blocks_01_Set_5_64x64_3.png-26485dca01bb2f34550ec250724b57a8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_64x64_3.png-26485dca01bb2f34550ec250724b57a8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_4.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_4.png new file mode 100644 index 0000000..66d2aae Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_4.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_4.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_4.png.import new file mode 100644 index 0000000..d490e95 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dcrkvaglve5bp" +path="res://.godot/imported/Number_Blocks_01_Set_5_64x64_4.png-b656267b7ca4f6bcbbdabc4ad9d72d33.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_64x64_4.png-b656267b7ca4f6bcbbdabc4ad9d72d33.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_5.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_5.png new file mode 100644 index 0000000..2c49f31 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_5.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_5.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_5.png.import new file mode 100644 index 0000000..f9e9437 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c00ydpask3vf3" +path="res://.godot/imported/Number_Blocks_01_Set_5_64x64_5.png-9627e1b466fbc17dcf1316fa994cfc24.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_64x64_5.png-9627e1b466fbc17dcf1316fa994cfc24.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_6.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_6.png new file mode 100644 index 0000000..3c58cb9 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_6.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_6.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_6.png.import new file mode 100644 index 0000000..8a483cb --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btir7iabshkmc" +path="res://.godot/imported/Number_Blocks_01_Set_5_64x64_6.png-773b12b7befa7b6b8a3cb1eb2c79ebfb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_64x64_6.png-773b12b7befa7b6b8a3cb1eb2c79ebfb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_7.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_7.png new file mode 100644 index 0000000..477224f Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_7.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_7.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_7.png.import new file mode 100644 index 0000000..f9668ee --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dq7ayrr0g0mhr" +path="res://.godot/imported/Number_Blocks_01_Set_5_64x64_7.png-026163cefd5d86752de02006bb21598f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_64x64_7.png-026163cefd5d86752de02006bb21598f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_8.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_8.png new file mode 100644 index 0000000..be78c28 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_8.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_8.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_8.png.import new file mode 100644 index 0000000..721e0b9 --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chgjyml6mosyh" +path="res://.godot/imported/Number_Blocks_01_Set_5_64x64_8.png-b7f02a49e4ff414fde827605236b1d6e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_64x64_8.png-b7f02a49e4ff414fde827605236b1d6e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_9.png b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_9.png new file mode 100644 index 0000000..e0f5006 Binary files /dev/null and b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_9.png differ diff --git a/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_9.png.import b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_9.png.import new file mode 100644 index 0000000..435cade --- /dev/null +++ b/decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://g0idjm41dns" +path="res://.godot/imported/Number_Blocks_01_Set_5_64x64_9.png-89c1b09d31d6eeab23911d720ca28535.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01/Number_Blocks_01_Set_5_64x64_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_64x64_9.png-89c1b09d31d6eeab23911d720ca28535.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_0.png b/decks/numbers/Number_Blocks_01_Set_1_256x256_0.png new file mode 100644 index 0000000..43d83ab Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_1_256x256_0.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_0.png.import b/decks/numbers/Number_Blocks_01_Set_1_256x256_0.png.import new file mode 100644 index 0000000..067d72a --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_1_256x256_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://nibukqborixj" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_0.png-cd16fc1405c33e41e07f1863979f78eb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_1_256x256_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_0.png-cd16fc1405c33e41e07f1863979f78eb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_1.png b/decks/numbers/Number_Blocks_01_Set_1_256x256_1.png new file mode 100644 index 0000000..1820750 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_1_256x256_1.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_1.png.import b/decks/numbers/Number_Blocks_01_Set_1_256x256_1.png.import new file mode 100644 index 0000000..0cba70c --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_1_256x256_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c2qq3aoq4vwxf" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_1.png-6c90c226ccfa6e008f12c341b00af370.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_1_256x256_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_1.png-6c90c226ccfa6e008f12c341b00af370.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_2.png b/decks/numbers/Number_Blocks_01_Set_1_256x256_2.png new file mode 100644 index 0000000..8da2625 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_1_256x256_2.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_2.png.import b/decks/numbers/Number_Blocks_01_Set_1_256x256_2.png.import new file mode 100644 index 0000000..589db51 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_1_256x256_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2qxbkbcdf51k" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_2.png-bf13e44523f7ade7c3ac519d10dd7dbe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_1_256x256_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_2.png-bf13e44523f7ade7c3ac519d10dd7dbe.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_3.png b/decks/numbers/Number_Blocks_01_Set_1_256x256_3.png new file mode 100644 index 0000000..fce6629 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_1_256x256_3.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_3.png.import b/decks/numbers/Number_Blocks_01_Set_1_256x256_3.png.import new file mode 100644 index 0000000..9750ee3 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_1_256x256_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://75q8fv0qmhnl" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_3.png-880e88e39a5d8ca8e1284e10c268b7a5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_1_256x256_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_3.png-880e88e39a5d8ca8e1284e10c268b7a5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_4.png b/decks/numbers/Number_Blocks_01_Set_1_256x256_4.png new file mode 100644 index 0000000..01141a3 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_1_256x256_4.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_4.png.import b/decks/numbers/Number_Blocks_01_Set_1_256x256_4.png.import new file mode 100644 index 0000000..6a77569 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_1_256x256_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cncjuuckjx3qh" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_4.png-360414c9340aad1ca4f1a8ee0e29a4f3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_1_256x256_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_4.png-360414c9340aad1ca4f1a8ee0e29a4f3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_5.png b/decks/numbers/Number_Blocks_01_Set_1_256x256_5.png new file mode 100644 index 0000000..495a09e Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_1_256x256_5.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_5.png.import b/decks/numbers/Number_Blocks_01_Set_1_256x256_5.png.import new file mode 100644 index 0000000..118a7f4 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_1_256x256_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dx3cuvrmc8dke" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_5.png-c6fc7405ef2580ed6093637cca7d7239.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_1_256x256_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_5.png-c6fc7405ef2580ed6093637cca7d7239.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_6.png b/decks/numbers/Number_Blocks_01_Set_1_256x256_6.png new file mode 100644 index 0000000..25a8646 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_1_256x256_6.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_6.png.import b/decks/numbers/Number_Blocks_01_Set_1_256x256_6.png.import new file mode 100644 index 0000000..1781781 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_1_256x256_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dfu6q3ow86rge" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_6.png-da2e29731093d80afd551daa6cbe1087.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_1_256x256_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_6.png-da2e29731093d80afd551daa6cbe1087.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_7.png b/decks/numbers/Number_Blocks_01_Set_1_256x256_7.png new file mode 100644 index 0000000..dd3162f Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_1_256x256_7.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_7.png.import b/decks/numbers/Number_Blocks_01_Set_1_256x256_7.png.import new file mode 100644 index 0000000..f5b5afb --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_1_256x256_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8tbr7nc6vqm3" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_7.png-05675020e7dc96807132dc537fda11cb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_1_256x256_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_7.png-05675020e7dc96807132dc537fda11cb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_8.png b/decks/numbers/Number_Blocks_01_Set_1_256x256_8.png new file mode 100644 index 0000000..ce657e3 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_1_256x256_8.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_8.png.import b/decks/numbers/Number_Blocks_01_Set_1_256x256_8.png.import new file mode 100644 index 0000000..5a6aeaa --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_1_256x256_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://q48btb8eesj3" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_8.png-7d92305867b4c2060e43f8e8446f2c1e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_1_256x256_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_8.png-7d92305867b4c2060e43f8e8446f2c1e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_9.png b/decks/numbers/Number_Blocks_01_Set_1_256x256_9.png new file mode 100644 index 0000000..35d7490 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_1_256x256_9.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_1_256x256_9.png.import b/decks/numbers/Number_Blocks_01_Set_1_256x256_9.png.import new file mode 100644 index 0000000..6a9cc09 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_1_256x256_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7m4ss1wtsfwr" +path="res://.godot/imported/Number_Blocks_01_Set_1_256x256_9.png-6ed1eaa1a33ce8142e4a70bf78e67f97.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_1_256x256_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_1_256x256_9.png-6ed1eaa1a33ce8142e4a70bf78e67f97.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_0.png b/decks/numbers/Number_Blocks_01_Set_2_256x256_0.png new file mode 100644 index 0000000..f56a21a Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_2_256x256_0.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_0.png.import b/decks/numbers/Number_Blocks_01_Set_2_256x256_0.png.import new file mode 100644 index 0000000..d0dc70d --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_2_256x256_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8boxotsx87i4" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_0.png-7ec01751fd90f2030e8e8e53c33d4930.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_2_256x256_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_0.png-7ec01751fd90f2030e8e8e53c33d4930.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_1.png b/decks/numbers/Number_Blocks_01_Set_2_256x256_1.png new file mode 100644 index 0000000..cee912d Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_2_256x256_1.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_1.png.import b/decks/numbers/Number_Blocks_01_Set_2_256x256_1.png.import new file mode 100644 index 0000000..79fa087 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_2_256x256_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8w3p5hcgc8k4" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_1.png-5f70a6f8ee3e437557891cb80f11b7ed.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_2_256x256_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_1.png-5f70a6f8ee3e437557891cb80f11b7ed.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_2.png b/decks/numbers/Number_Blocks_01_Set_2_256x256_2.png new file mode 100644 index 0000000..acde747 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_2_256x256_2.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_2.png.import b/decks/numbers/Number_Blocks_01_Set_2_256x256_2.png.import new file mode 100644 index 0000000..1b270ec --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_2_256x256_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ctsfaqloksghv" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_2.png-7926c30010b819bb5284b8544de67623.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_2_256x256_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_2.png-7926c30010b819bb5284b8544de67623.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_3.png b/decks/numbers/Number_Blocks_01_Set_2_256x256_3.png new file mode 100644 index 0000000..2f66d34 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_2_256x256_3.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_3.png.import b/decks/numbers/Number_Blocks_01_Set_2_256x256_3.png.import new file mode 100644 index 0000000..6279dd7 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_2_256x256_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://hs6f11hy3v02" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_3.png-d9877bd739673fc0b4b8863c4359ecbb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_2_256x256_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_3.png-d9877bd739673fc0b4b8863c4359ecbb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_4.png b/decks/numbers/Number_Blocks_01_Set_2_256x256_4.png new file mode 100644 index 0000000..a420e28 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_2_256x256_4.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_4.png.import b/decks/numbers/Number_Blocks_01_Set_2_256x256_4.png.import new file mode 100644 index 0000000..08fafd8 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_2_256x256_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cc7f5f68g2pyw" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_4.png-fda69ebcc3ac0f0d83085d3d8f8c0ca3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_2_256x256_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_4.png-fda69ebcc3ac0f0d83085d3d8f8c0ca3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_5.png b/decks/numbers/Number_Blocks_01_Set_2_256x256_5.png new file mode 100644 index 0000000..def4691 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_2_256x256_5.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_5.png.import b/decks/numbers/Number_Blocks_01_Set_2_256x256_5.png.import new file mode 100644 index 0000000..fbf62ad --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_2_256x256_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btak3cb0rc4sb" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_5.png-fe8715814e62a9caa124882fa8ae0cad.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_2_256x256_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_5.png-fe8715814e62a9caa124882fa8ae0cad.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_6.png b/decks/numbers/Number_Blocks_01_Set_2_256x256_6.png new file mode 100644 index 0000000..ac982a5 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_2_256x256_6.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_6.png.import b/decks/numbers/Number_Blocks_01_Set_2_256x256_6.png.import new file mode 100644 index 0000000..e96fea4 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_2_256x256_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dt55gwi4l6viy" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_6.png-6c0ecab5114ea49b8551831d46ab1ff0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_2_256x256_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_6.png-6c0ecab5114ea49b8551831d46ab1ff0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_7.png b/decks/numbers/Number_Blocks_01_Set_2_256x256_7.png new file mode 100644 index 0000000..c2f42cd Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_2_256x256_7.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_7.png.import b/decks/numbers/Number_Blocks_01_Set_2_256x256_7.png.import new file mode 100644 index 0000000..86c7133 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_2_256x256_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cktu5eitcmd8t" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_7.png-1e3527f00103c17f97647a7ea7680c1a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_2_256x256_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_7.png-1e3527f00103c17f97647a7ea7680c1a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_8.png b/decks/numbers/Number_Blocks_01_Set_2_256x256_8.png new file mode 100644 index 0000000..3e16fed Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_2_256x256_8.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_8.png.import b/decks/numbers/Number_Blocks_01_Set_2_256x256_8.png.import new file mode 100644 index 0000000..73928b7 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_2_256x256_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c6ecotbr5ho4f" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_8.png-66634b0702e9e69613debc1c9a605d32.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_2_256x256_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_8.png-66634b0702e9e69613debc1c9a605d32.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_9.png b/decks/numbers/Number_Blocks_01_Set_2_256x256_9.png new file mode 100644 index 0000000..5b06343 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_2_256x256_9.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_2_256x256_9.png.import b/decks/numbers/Number_Blocks_01_Set_2_256x256_9.png.import new file mode 100644 index 0000000..c0291bc --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_2_256x256_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c1x7082ghu0oc" +path="res://.godot/imported/Number_Blocks_01_Set_2_256x256_9.png-82078a7d3a33040206e311b07f4cf3c4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_2_256x256_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_2_256x256_9.png-82078a7d3a33040206e311b07f4cf3c4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_0.png b/decks/numbers/Number_Blocks_01_Set_3_256x256_0.png new file mode 100644 index 0000000..977d147 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_3_256x256_0.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_0.png.import b/decks/numbers/Number_Blocks_01_Set_3_256x256_0.png.import new file mode 100644 index 0000000..2da7b39 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_3_256x256_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://hgbexi4xmej3" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_0.png-ede9ef28c34cdeeb9013955c85e63eb1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_3_256x256_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_0.png-ede9ef28c34cdeeb9013955c85e63eb1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_1.png b/decks/numbers/Number_Blocks_01_Set_3_256x256_1.png new file mode 100644 index 0000000..15f3d8f Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_3_256x256_1.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_1.png.import b/decks/numbers/Number_Blocks_01_Set_3_256x256_1.png.import new file mode 100644 index 0000000..e27c097 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_3_256x256_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bb1jatj54rocv" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_1.png-3f4c166121bf4c25c405dd799012fabe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_3_256x256_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_1.png-3f4c166121bf4c25c405dd799012fabe.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_2.png b/decks/numbers/Number_Blocks_01_Set_3_256x256_2.png new file mode 100644 index 0000000..ad6d69e Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_3_256x256_2.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_2.png.import b/decks/numbers/Number_Blocks_01_Set_3_256x256_2.png.import new file mode 100644 index 0000000..7bc8b7d --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_3_256x256_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dddfsfr68gw1h" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_2.png-06ed67ab949b70d0a6cf3ecfd73add00.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_3_256x256_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_2.png-06ed67ab949b70d0a6cf3ecfd73add00.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_3.png b/decks/numbers/Number_Blocks_01_Set_3_256x256_3.png new file mode 100644 index 0000000..d99676a Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_3_256x256_3.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_3.png.import b/decks/numbers/Number_Blocks_01_Set_3_256x256_3.png.import new file mode 100644 index 0000000..4fe17ec --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_3_256x256_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpkc3obcalvkp" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_3.png-93275de36704d1261f9672f22091602f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_3_256x256_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_3.png-93275de36704d1261f9672f22091602f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_4.png b/decks/numbers/Number_Blocks_01_Set_3_256x256_4.png new file mode 100644 index 0000000..8f96d9c Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_3_256x256_4.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_4.png.import b/decks/numbers/Number_Blocks_01_Set_3_256x256_4.png.import new file mode 100644 index 0000000..d692457 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_3_256x256_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://1u5omyrmirs1" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_4.png-486327ffc642bdfff4f1ccf3a463d2c2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_3_256x256_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_4.png-486327ffc642bdfff4f1ccf3a463d2c2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_5.png b/decks/numbers/Number_Blocks_01_Set_3_256x256_5.png new file mode 100644 index 0000000..aa83770 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_3_256x256_5.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_5.png.import b/decks/numbers/Number_Blocks_01_Set_3_256x256_5.png.import new file mode 100644 index 0000000..4b60fde --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_3_256x256_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://htxlqyaj850b" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_5.png-376aca0c4a94f019275047994cec7f04.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_3_256x256_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_5.png-376aca0c4a94f019275047994cec7f04.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_6.png b/decks/numbers/Number_Blocks_01_Set_3_256x256_6.png new file mode 100644 index 0000000..297f65b Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_3_256x256_6.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_6.png.import b/decks/numbers/Number_Blocks_01_Set_3_256x256_6.png.import new file mode 100644 index 0000000..6d74506 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_3_256x256_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dil7o4glufcty" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_6.png-be50a83efbee097ddf1ea251d46643d6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_3_256x256_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_6.png-be50a83efbee097ddf1ea251d46643d6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_7.png b/decks/numbers/Number_Blocks_01_Set_3_256x256_7.png new file mode 100644 index 0000000..12ce4bf Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_3_256x256_7.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_7.png.import b/decks/numbers/Number_Blocks_01_Set_3_256x256_7.png.import new file mode 100644 index 0000000..832991d --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_3_256x256_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxnamhicwp5um" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_7.png-28ecb524f92edff88aebc82ef05ad140.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_3_256x256_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_7.png-28ecb524f92edff88aebc82ef05ad140.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_8.png b/decks/numbers/Number_Blocks_01_Set_3_256x256_8.png new file mode 100644 index 0000000..e8b5db8 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_3_256x256_8.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_8.png.import b/decks/numbers/Number_Blocks_01_Set_3_256x256_8.png.import new file mode 100644 index 0000000..151373d --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_3_256x256_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ctowmm0ermfpi" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_8.png-d11b596fd4c946a5d2daa0f932ff76c8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_3_256x256_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_8.png-d11b596fd4c946a5d2daa0f932ff76c8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_9.png b/decks/numbers/Number_Blocks_01_Set_3_256x256_9.png new file mode 100644 index 0000000..50184ff Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_3_256x256_9.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_3_256x256_9.png.import b/decks/numbers/Number_Blocks_01_Set_3_256x256_9.png.import new file mode 100644 index 0000000..97e2a1d --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_3_256x256_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://64as4c7850rg" +path="res://.godot/imported/Number_Blocks_01_Set_3_256x256_9.png-24712771c08bdfc8aa5e1155645c06e7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_3_256x256_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_3_256x256_9.png-24712771c08bdfc8aa5e1155645c06e7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_0.png b/decks/numbers/Number_Blocks_01_Set_4_256x256_0.png new file mode 100644 index 0000000..0edf958 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_4_256x256_0.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_0.png.import b/decks/numbers/Number_Blocks_01_Set_4_256x256_0.png.import new file mode 100644 index 0000000..30e0bf2 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_4_256x256_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqnul43fkad0u" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_0.png-3ba427e91ce394d3551fedb0fd46f57b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_4_256x256_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_0.png-3ba427e91ce394d3551fedb0fd46f57b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_1.png b/decks/numbers/Number_Blocks_01_Set_4_256x256_1.png new file mode 100644 index 0000000..53e7e7a Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_4_256x256_1.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_1.png.import b/decks/numbers/Number_Blocks_01_Set_4_256x256_1.png.import new file mode 100644 index 0000000..20af62c --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_4_256x256_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnkpx3ctns8r3" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_1.png-89c14e1661b18bb7326919751c29c243.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_4_256x256_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_1.png-89c14e1661b18bb7326919751c29c243.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_2.png b/decks/numbers/Number_Blocks_01_Set_4_256x256_2.png new file mode 100644 index 0000000..1c6a9ac Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_4_256x256_2.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_2.png.import b/decks/numbers/Number_Blocks_01_Set_4_256x256_2.png.import new file mode 100644 index 0000000..40ab910 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_4_256x256_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxh1awkh821ca" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_2.png-344ff06d3eb991f60f38742e48caa134.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_4_256x256_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_2.png-344ff06d3eb991f60f38742e48caa134.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_3.png b/decks/numbers/Number_Blocks_01_Set_4_256x256_3.png new file mode 100644 index 0000000..26b6fed Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_4_256x256_3.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_3.png.import b/decks/numbers/Number_Blocks_01_Set_4_256x256_3.png.import new file mode 100644 index 0000000..4858c8e --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_4_256x256_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cnqj5nobd1aiq" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_3.png-c2a2e5c0358b3c250174b895d15fd9c3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_4_256x256_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_3.png-c2a2e5c0358b3c250174b895d15fd9c3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_4.png b/decks/numbers/Number_Blocks_01_Set_4_256x256_4.png new file mode 100644 index 0000000..d077e09 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_4_256x256_4.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_4.png.import b/decks/numbers/Number_Blocks_01_Set_4_256x256_4.png.import new file mode 100644 index 0000000..cc9e3b2 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_4_256x256_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1nqvxchymiuh" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_4.png-e9f7ce92292fad2be954c7db6b91bb01.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_4_256x256_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_4.png-e9f7ce92292fad2be954c7db6b91bb01.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_5.png b/decks/numbers/Number_Blocks_01_Set_4_256x256_5.png new file mode 100644 index 0000000..47e606a Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_4_256x256_5.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_5.png.import b/decks/numbers/Number_Blocks_01_Set_4_256x256_5.png.import new file mode 100644 index 0000000..9558ea6 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_4_256x256_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bklqhv4jcjukx" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_5.png-3b8e1d94756a35b88a77b4e6f15b9ed3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_4_256x256_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_5.png-3b8e1d94756a35b88a77b4e6f15b9ed3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_6.png b/decks/numbers/Number_Blocks_01_Set_4_256x256_6.png new file mode 100644 index 0000000..e8f9983 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_4_256x256_6.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_6.png.import b/decks/numbers/Number_Blocks_01_Set_4_256x256_6.png.import new file mode 100644 index 0000000..e62bb28 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_4_256x256_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bbpsspp4d6acx" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_6.png-aa9c8567912adccbe9dafdc71fbd200f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_4_256x256_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_6.png-aa9c8567912adccbe9dafdc71fbd200f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_7.png b/decks/numbers/Number_Blocks_01_Set_4_256x256_7.png new file mode 100644 index 0000000..57d4635 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_4_256x256_7.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_7.png.import b/decks/numbers/Number_Blocks_01_Set_4_256x256_7.png.import new file mode 100644 index 0000000..1795083 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_4_256x256_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://015q13bvldn6" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_7.png-7a434cf5e2a0a8d97b60a3abbf134aee.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_4_256x256_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_7.png-7a434cf5e2a0a8d97b60a3abbf134aee.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_8.png b/decks/numbers/Number_Blocks_01_Set_4_256x256_8.png new file mode 100644 index 0000000..21be86a Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_4_256x256_8.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_8.png.import b/decks/numbers/Number_Blocks_01_Set_4_256x256_8.png.import new file mode 100644 index 0000000..a014f1a --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_4_256x256_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://diiu2o3r2mdyf" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_8.png-d84070f1d19171bce05fccfb2030c328.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_4_256x256_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_8.png-d84070f1d19171bce05fccfb2030c328.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_9.png b/decks/numbers/Number_Blocks_01_Set_4_256x256_9.png new file mode 100644 index 0000000..d881c29 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_4_256x256_9.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_4_256x256_9.png.import b/decks/numbers/Number_Blocks_01_Set_4_256x256_9.png.import new file mode 100644 index 0000000..588a185 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_4_256x256_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://belo77nw2u6fs" +path="res://.godot/imported/Number_Blocks_01_Set_4_256x256_9.png-7907e33d9a7e845914d2fcf460adafb1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_4_256x256_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_4_256x256_9.png-7907e33d9a7e845914d2fcf460adafb1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_0.png b/decks/numbers/Number_Blocks_01_Set_5_256x256_0.png new file mode 100644 index 0000000..a4998d6 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_5_256x256_0.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_0.png.import b/decks/numbers/Number_Blocks_01_Set_5_256x256_0.png.import new file mode 100644 index 0000000..d47327c --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_5_256x256_0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bqh1r7s8us2qk" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_0.png-cf424ea5cf76e607f47b05a12f989eb5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_5_256x256_0.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_0.png-cf424ea5cf76e607f47b05a12f989eb5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_1.png b/decks/numbers/Number_Blocks_01_Set_5_256x256_1.png new file mode 100644 index 0000000..0d265bb Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_5_256x256_1.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_1.png.import b/decks/numbers/Number_Blocks_01_Set_5_256x256_1.png.import new file mode 100644 index 0000000..02bd977 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_5_256x256_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vhgfbaynmw50" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_1.png-819a8ab3ae81233393ff2be9ac4f5fbf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_5_256x256_1.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_1.png-819a8ab3ae81233393ff2be9ac4f5fbf.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_2.png b/decks/numbers/Number_Blocks_01_Set_5_256x256_2.png new file mode 100644 index 0000000..7d0b9b6 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_5_256x256_2.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_2.png.import b/decks/numbers/Number_Blocks_01_Set_5_256x256_2.png.import new file mode 100644 index 0000000..2ddcbad --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_5_256x256_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dt2kljvhh5rfn" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_2.png-d9855f56cc059eea92710681bd911e3c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_5_256x256_2.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_2.png-d9855f56cc059eea92710681bd911e3c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_3.png b/decks/numbers/Number_Blocks_01_Set_5_256x256_3.png new file mode 100644 index 0000000..abfaf1a Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_5_256x256_3.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_3.png.import b/decks/numbers/Number_Blocks_01_Set_5_256x256_3.png.import new file mode 100644 index 0000000..d17e031 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_5_256x256_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://copcfewfq2yxy" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_3.png-2601ce2fcf7c6cf99d9803bab97eb100.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_5_256x256_3.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_3.png-2601ce2fcf7c6cf99d9803bab97eb100.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_4.png b/decks/numbers/Number_Blocks_01_Set_5_256x256_4.png new file mode 100644 index 0000000..cbf8d4b Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_5_256x256_4.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_4.png.import b/decks/numbers/Number_Blocks_01_Set_5_256x256_4.png.import new file mode 100644 index 0000000..52800ef --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_5_256x256_4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ft7tly2uufoc" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_4.png-1609ea662c28ad43286d7e7ebbedc840.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_5_256x256_4.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_4.png-1609ea662c28ad43286d7e7ebbedc840.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_5.png b/decks/numbers/Number_Blocks_01_Set_5_256x256_5.png new file mode 100644 index 0000000..3217250 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_5_256x256_5.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_5.png.import b/decks/numbers/Number_Blocks_01_Set_5_256x256_5.png.import new file mode 100644 index 0000000..40f25dd --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_5_256x256_5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://sf2xwen1ndh4" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_5.png-fe23417cdc9b04948a01f84866f224d9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_5_256x256_5.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_5.png-fe23417cdc9b04948a01f84866f224d9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_6.png b/decks/numbers/Number_Blocks_01_Set_5_256x256_6.png new file mode 100644 index 0000000..d396340 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_5_256x256_6.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_6.png.import b/decks/numbers/Number_Blocks_01_Set_5_256x256_6.png.import new file mode 100644 index 0000000..bee5006 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_5_256x256_6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c5afyomg73o80" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_6.png-b751286d80603c7c56632d7f64c5d66d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_5_256x256_6.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_6.png-b751286d80603c7c56632d7f64c5d66d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_7.png b/decks/numbers/Number_Blocks_01_Set_5_256x256_7.png new file mode 100644 index 0000000..e92ecc4 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_5_256x256_7.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_7.png.import b/decks/numbers/Number_Blocks_01_Set_5_256x256_7.png.import new file mode 100644 index 0000000..efedb9d --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_5_256x256_7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://lqmegxq8jrcu" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_7.png-81982116aa81f8baa17b8446d1ca78ee.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_5_256x256_7.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_7.png-81982116aa81f8baa17b8446d1ca78ee.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_8.png b/decks/numbers/Number_Blocks_01_Set_5_256x256_8.png new file mode 100644 index 0000000..1626bb3 Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_5_256x256_8.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_8.png.import b/decks/numbers/Number_Blocks_01_Set_5_256x256_8.png.import new file mode 100644 index 0000000..8e2d634 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_5_256x256_8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4nslky5l7uus" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_8.png-a84b9de0ba77c5ff7d3d94a637ae1f5a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_5_256x256_8.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_8.png-a84b9de0ba77c5ff7d3d94a637ae1f5a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_9.png b/decks/numbers/Number_Blocks_01_Set_5_256x256_9.png new file mode 100644 index 0000000..8004f1b Binary files /dev/null and b/decks/numbers/Number_Blocks_01_Set_5_256x256_9.png differ diff --git a/decks/numbers/Number_Blocks_01_Set_5_256x256_9.png.import b/decks/numbers/Number_Blocks_01_Set_5_256x256_9.png.import new file mode 100644 index 0000000..783e364 --- /dev/null +++ b/decks/numbers/Number_Blocks_01_Set_5_256x256_9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dicuiyybyu3bb" +path="res://.godot/imported/Number_Blocks_01_Set_5_256x256_9.png-a2e0d23bb63e756812e85792978d462b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://decks/numbers/Number_Blocks_01_Set_5_256x256_9.png" +dest_files=["res://.godot/imported/Number_Blocks_01_Set_5_256x256_9.png-a2e0d23bb63e756812e85792978d462b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/decks/numbers/__MACOSX/._Number_Blocks_01 b/decks/numbers/__MACOSX/._Number_Blocks_01 new file mode 100644 index 0000000..b7da395 Binary files /dev/null and b/decks/numbers/__MACOSX/._Number_Blocks_01 differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._.DS_Store b/decks/numbers/__MACOSX/Number_Blocks_01/._.DS_Store new file mode 100644 index 0000000..321346b Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._.DS_Store differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Ai Resource b/decks/numbers/__MACOSX/Number_Blocks_01/._Ai Resource new file mode 100644 index 0000000..0563c02 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Ai Resource differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_0.png new file mode 100644 index 0000000..7d074c4 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_1.png new file mode 100644 index 0000000..55a13c4 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_2.png new file mode 100644 index 0000000..2b1e561 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_3.png new file mode 100644 index 0000000..0e65732 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_4.png new file mode 100644 index 0000000..1d745a4 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_5.png new file mode 100644 index 0000000..1f79625 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_6.png new file mode 100644 index 0000000..9242c26 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_7.png new file mode 100644 index 0000000..6ab3eb9 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_8.png new file mode 100644 index 0000000..c50201b Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_9.png new file mode 100644 index 0000000..3ea8f08 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_128x128_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_0.png new file mode 100644 index 0000000..ee4442d Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_1.png new file mode 100644 index 0000000..0b9d43d Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_2.png new file mode 100644 index 0000000..159adad Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_3.png new file mode 100644 index 0000000..9bd4499 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_4.png new file mode 100644 index 0000000..404bd8e Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_5.png new file mode 100644 index 0000000..8e9c21f Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_6.png new file mode 100644 index 0000000..02a0e8a Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_7.png new file mode 100644 index 0000000..db17c5f Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_8.png new file mode 100644 index 0000000..84e9c24 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_9.png new file mode 100644 index 0000000..e32e238 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_256x256_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_0.png new file mode 100644 index 0000000..4d33626 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_1.png new file mode 100644 index 0000000..8135e11 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_2.png new file mode 100644 index 0000000..f5fa415 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_3.png new file mode 100644 index 0000000..51d0aef Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_4.png new file mode 100644 index 0000000..702e036 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_5.png new file mode 100644 index 0000000..bece42a Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_6.png new file mode 100644 index 0000000..f47ff71 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_7.png new file mode 100644 index 0000000..77a4b2a Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_8.png new file mode 100644 index 0000000..16cc7cc Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_9.png new file mode 100644 index 0000000..b6c73b4 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_512x512_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_0.png new file mode 100644 index 0000000..1f4d37a Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_1.png new file mode 100644 index 0000000..2e7474f Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_2.png new file mode 100644 index 0000000..92f14ca Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_3.png new file mode 100644 index 0000000..46fb89f Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_4.png new file mode 100644 index 0000000..546015f Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_5.png new file mode 100644 index 0000000..42ee954 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_6.png new file mode 100644 index 0000000..4f81725 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_7.png new file mode 100644 index 0000000..f95fb72 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_8.png new file mode 100644 index 0000000..12ad659 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_9.png new file mode 100644 index 0000000..f1dbb1d Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_1_64x64_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_0.png new file mode 100644 index 0000000..e526da9 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_1.png new file mode 100644 index 0000000..9a1358f Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_2.png new file mode 100644 index 0000000..94e5095 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_3.png new file mode 100644 index 0000000..f3721a7 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_4.png new file mode 100644 index 0000000..ba8edf7 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_5.png new file mode 100644 index 0000000..b9d7c60 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_6.png new file mode 100644 index 0000000..a8fe0b4 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_7.png new file mode 100644 index 0000000..987a38f Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_8.png new file mode 100644 index 0000000..fffcf3e Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_9.png new file mode 100644 index 0000000..330e79c Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_128x128_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_0.png new file mode 100644 index 0000000..7c1d278 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_1.png new file mode 100644 index 0000000..49f73be Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_2.png new file mode 100644 index 0000000..8b788cd Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_3.png new file mode 100644 index 0000000..f9dbc08 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_4.png new file mode 100644 index 0000000..6f52798 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_5.png new file mode 100644 index 0000000..5af8e5e Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_6.png new file mode 100644 index 0000000..1532c8e Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_7.png new file mode 100644 index 0000000..79d7c5d Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_8.png new file mode 100644 index 0000000..e786cbd Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_9.png new file mode 100644 index 0000000..61c282b Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_256x256_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_0.png new file mode 100644 index 0000000..6a07379 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_1.png new file mode 100644 index 0000000..a1638c1 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_2.png new file mode 100644 index 0000000..ee4b06e Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_3.png new file mode 100644 index 0000000..5ada335 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_4.png new file mode 100644 index 0000000..327a4f8 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_5.png new file mode 100644 index 0000000..ec9b0db Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_6.png new file mode 100644 index 0000000..1ccc649 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_7.png new file mode 100644 index 0000000..dc4fdce Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_8.png new file mode 100644 index 0000000..8a86111 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_9.png new file mode 100644 index 0000000..000dd90 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_512x512_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_0.png new file mode 100644 index 0000000..7d95114 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_1.png new file mode 100644 index 0000000..aa0e750 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_2.png new file mode 100644 index 0000000..0d973c1 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_3.png new file mode 100644 index 0000000..20b6579 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_4.png new file mode 100644 index 0000000..c4bbcd1 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_5.png new file mode 100644 index 0000000..eb62e67 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_6.png new file mode 100644 index 0000000..bdc22ca Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_7.png new file mode 100644 index 0000000..ba56203 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_8.png new file mode 100644 index 0000000..34cde73 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_9.png new file mode 100644 index 0000000..4dd24a4 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_2_64x64_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_0.png new file mode 100644 index 0000000..611a81c Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_1.png new file mode 100644 index 0000000..867233d Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_2.png new file mode 100644 index 0000000..120a8fc Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_3.png new file mode 100644 index 0000000..ce75673 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_4.png new file mode 100644 index 0000000..6fccb51 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_5.png new file mode 100644 index 0000000..908f874 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_6.png new file mode 100644 index 0000000..a5dadb5 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_7.png new file mode 100644 index 0000000..7858bd3 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_8.png new file mode 100644 index 0000000..51f753b Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_9.png new file mode 100644 index 0000000..002c5e5 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_128x128_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_0.png new file mode 100644 index 0000000..d0d43d6 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_1.png new file mode 100644 index 0000000..28d5b86 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_2.png new file mode 100644 index 0000000..8716a4c Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_3.png new file mode 100644 index 0000000..dbfca1f Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_4.png new file mode 100644 index 0000000..0c2f089 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_5.png new file mode 100644 index 0000000..82c6d78 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_6.png new file mode 100644 index 0000000..6512e68 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_7.png new file mode 100644 index 0000000..70d1948 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_8.png new file mode 100644 index 0000000..8a9d0f6 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_9.png new file mode 100644 index 0000000..7274139 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_256x256_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_0.png new file mode 100644 index 0000000..dc5877e Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_1.png new file mode 100644 index 0000000..e64b24c Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_2.png new file mode 100644 index 0000000..97171a0 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_3.png new file mode 100644 index 0000000..2d1811c Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_4.png new file mode 100644 index 0000000..5d5e035 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_5.png new file mode 100644 index 0000000..8bb2755 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_6.png new file mode 100644 index 0000000..8293311 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_7.png new file mode 100644 index 0000000..bfcd381 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_8.png new file mode 100644 index 0000000..f321e23 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_9.png new file mode 100644 index 0000000..e10d9ef Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_512x512_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_0.png new file mode 100644 index 0000000..240f056 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_1.png new file mode 100644 index 0000000..3d4fbee Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_2.png new file mode 100644 index 0000000..6d0da92 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_3.png new file mode 100644 index 0000000..e459939 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_4.png new file mode 100644 index 0000000..d3379c7 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_5.png new file mode 100644 index 0000000..b38bbfd Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_6.png new file mode 100644 index 0000000..7943e57 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_7.png new file mode 100644 index 0000000..4575781 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_8.png new file mode 100644 index 0000000..a507267 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_9.png new file mode 100644 index 0000000..dcab321 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_3_64x64_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_0.png new file mode 100644 index 0000000..4714272 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_1.png new file mode 100644 index 0000000..afd58bd Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_2.png new file mode 100644 index 0000000..2501826 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_3.png new file mode 100644 index 0000000..d4c5693 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_4.png new file mode 100644 index 0000000..43d7c84 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_5.png new file mode 100644 index 0000000..b028205 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_6.png new file mode 100644 index 0000000..bf1f3a8 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_7.png new file mode 100644 index 0000000..be6bd9f Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_8.png new file mode 100644 index 0000000..c951308 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_9.png new file mode 100644 index 0000000..a28f887 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_128x128_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_0.png new file mode 100644 index 0000000..8fbefba Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_1.png new file mode 100644 index 0000000..efabcd6 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_2.png new file mode 100644 index 0000000..e7469e6 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_3.png new file mode 100644 index 0000000..075a7ef Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_4.png new file mode 100644 index 0000000..655591f Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_5.png new file mode 100644 index 0000000..47fbc6d Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_6.png new file mode 100644 index 0000000..eee79fc Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_7.png new file mode 100644 index 0000000..73141b8 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_8.png new file mode 100644 index 0000000..13b28db Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_9.png new file mode 100644 index 0000000..506ce56 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_256x256_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_0.png new file mode 100644 index 0000000..85b4700 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_1.png new file mode 100644 index 0000000..5ae0f63 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_2.png new file mode 100644 index 0000000..fe65b87 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_3.png new file mode 100644 index 0000000..ba1f968 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_4.png new file mode 100644 index 0000000..fd2ec12 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_5.png new file mode 100644 index 0000000..524d1f3 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_6.png new file mode 100644 index 0000000..dee2148 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_7.png new file mode 100644 index 0000000..6e46896 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_8.png new file mode 100644 index 0000000..ddd03d6 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_9.png new file mode 100644 index 0000000..0906f5b Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_512x512_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_0.png new file mode 100644 index 0000000..b5da572 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_1.png new file mode 100644 index 0000000..baf45c1 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_2.png new file mode 100644 index 0000000..432b96e Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_3.png new file mode 100644 index 0000000..4e86a63 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_4.png new file mode 100644 index 0000000..96c0d97 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_5.png new file mode 100644 index 0000000..c81e92a Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_6.png new file mode 100644 index 0000000..3bb99d0 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_7.png new file mode 100644 index 0000000..c343b2d Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_8.png new file mode 100644 index 0000000..99c7873 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_9.png new file mode 100644 index 0000000..287de0e Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_4_64x64_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_0.png new file mode 100644 index 0000000..efd2be1 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_1.png new file mode 100644 index 0000000..9268ab7 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_2.png new file mode 100644 index 0000000..7293c00 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_3.png new file mode 100644 index 0000000..205f3d5 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_4.png new file mode 100644 index 0000000..6fe2854 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_5.png new file mode 100644 index 0000000..99fa086 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_6.png new file mode 100644 index 0000000..a67a536 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_7.png new file mode 100644 index 0000000..c6423d0 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_8.png new file mode 100644 index 0000000..560cbbe Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_9.png new file mode 100644 index 0000000..962a3fd Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_128x128_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_0.png new file mode 100644 index 0000000..6aa6b7a Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_1.png new file mode 100644 index 0000000..3e2922d Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_2.png new file mode 100644 index 0000000..1b753b8 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_3.png new file mode 100644 index 0000000..ca90883 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_4.png new file mode 100644 index 0000000..fe054bc Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_5.png new file mode 100644 index 0000000..a601f81 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_6.png new file mode 100644 index 0000000..1690ce8 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_7.png new file mode 100644 index 0000000..30ae758 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_8.png new file mode 100644 index 0000000..b48dd2c Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_9.png new file mode 100644 index 0000000..dbfcdf1 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_256x256_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_0.png new file mode 100644 index 0000000..be67b6a Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_1.png new file mode 100644 index 0000000..5e05487 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_2.png new file mode 100644 index 0000000..92a45c5 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_3.png new file mode 100644 index 0000000..9df061c Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_4.png new file mode 100644 index 0000000..feccc23 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_5.png new file mode 100644 index 0000000..c39b696 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_6.png new file mode 100644 index 0000000..4363aa7 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_7.png new file mode 100644 index 0000000..ebc0020 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_8.png new file mode 100644 index 0000000..2b0e8e5 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_9.png new file mode 100644 index 0000000..53f2dd3 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_512x512_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_0.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_0.png new file mode 100644 index 0000000..43c0ccb Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_0.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_1.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_1.png new file mode 100644 index 0000000..a760e77 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_1.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_2.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_2.png new file mode 100644 index 0000000..ca47d9d Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_2.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_3.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_3.png new file mode 100644 index 0000000..6f213c9 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_3.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_4.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_4.png new file mode 100644 index 0000000..3f70cf4 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_4.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_5.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_5.png new file mode 100644 index 0000000..79df8d3 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_5.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_6.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_6.png new file mode 100644 index 0000000..982a735 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_6.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_7.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_7.png new file mode 100644 index 0000000..c57951d Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_7.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_8.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_8.png new file mode 100644 index 0000000..9a2da23 Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_8.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_9.png b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_9.png new file mode 100644 index 0000000..bea412f Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/._Number_Blocks_01_Set_5_64x64_9.png differ diff --git a/decks/numbers/__MACOSX/Number_Blocks_01/Ai Resource/._Number_Blocks_01.ai b/decks/numbers/__MACOSX/Number_Blocks_01/Ai Resource/._Number_Blocks_01.ai new file mode 100644 index 0000000..28b159f Binary files /dev/null and b/decks/numbers/__MACOSX/Number_Blocks_01/Ai Resource/._Number_Blocks_01.ai differ diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100644 index 0000000..fe5dfa9 --- /dev/null +++ b/export_presets.cfg @@ -0,0 +1,359 @@ +[preset.0] + +name="Web" +platform="Web" +runnable=true +advanced_options=true +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="exports/encuentralo.offline.html" +patches=PackedStringArray() +encryption_include_filters="" +encryption_exclude_filters="" +seed=0 +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.0.options] + +custom_template/debug="" +custom_template/release="" +variant/extensions_support=false +variant/thread_support=false +vram_texture_compression/for_desktop=true +vram_texture_compression/for_mobile=false +html/export_icon=false +html/custom_html_shell="" +html/head_include="" +html/canvas_resize_policy=2 +html/focus_canvas_on_start=true +html/experimental_virtual_keyboard=false +progressive_web_app/enabled=false +progressive_web_app/ensure_cross_origin_isolation_headers=true +progressive_web_app/offline_page="index.html" +progressive_web_app/display=1 +progressive_web_app/orientation=0 +progressive_web_app/icon_144x144="" +progressive_web_app/icon_180x180="" +progressive_web_app/icon_512x512="" +progressive_web_app/background_color=Color(0, 0, 0, 1) + +[preset.1] + +name="Windows Desktop" +platform="Windows Desktop" +runnable=true +advanced_options=false +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="exports/mount/encuentralo.exe" +patches=PackedStringArray() +encryption_include_filters="" +encryption_exclude_filters="" +seed=0 +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.1.options] + +custom_template/debug="" +custom_template/release="" +debug/export_console_wrapper=1 +binary_format/embed_pck=false +texture_format/s3tc_bptc=true +texture_format/etc2_astc=false +binary_format/architecture="x86_64" +codesign/enable=false +codesign/timestamp=true +codesign/timestamp_server_url="" +codesign/digest_algorithm=1 +codesign/description="" +codesign/custom_options=PackedStringArray() +application/modify_resources=true +application/icon="" +application/console_wrapper_icon="" +application/icon_interpolation=4 +application/file_version="" +application/product_version="" +application/company_name="" +application/product_name="" +application/file_description="" +application/copyright="" +application/trademarks="" +application/export_angle=0 +application/export_d3d12=0 +application/d3d12_agility_sdk_multiarch=true +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}' +$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}' +$trigger = New-ScheduledTaskTrigger -Once -At 00:00 +$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries +$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings +Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true +Start-ScheduledTask -TaskName godot_remote_debug +while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 } +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue" +ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue +Remove-Item -Recurse -Force '{temp_dir}'" + +[preset.2] + +name="Android" +platform="Android" +runnable=true +advanced_options=false +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="" +patches=PackedStringArray() +encryption_include_filters="" +encryption_exclude_filters="" +seed=0 +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.2.options] + +custom_template/debug="" +custom_template/release="" +gradle_build/use_gradle_build=false +gradle_build/gradle_build_directory="" +gradle_build/android_source_template="" +gradle_build/compress_native_libraries=false +gradle_build/export_format=0 +gradle_build/min_sdk="" +gradle_build/target_sdk="" +architectures/armeabi-v7a=false +architectures/arm64-v8a=true +architectures/x86=false +architectures/x86_64=false +version/code=1 +version/name="" +package/unique_name="com.example.$genname" +package/name="" +package/signed=true +package/app_category=2 +package/retain_data_on_uninstall=false +package/exclude_from_recents=false +package/show_in_android_tv=false +package/show_in_app_library=true +package/show_as_launcher_app=false +launcher_icons/main_192x192="" +launcher_icons/adaptive_foreground_432x432="" +launcher_icons/adaptive_background_432x432="" +launcher_icons/adaptive_monochrome_432x432="" +graphics/opengl_debug=false +xr_features/xr_mode=0 +gesture/swipe_to_dismiss=false +screen/immersive_mode=true +screen/support_small=true +screen/support_normal=true +screen/support_large=true +screen/support_xlarge=true +user_data_backup/allow=false +command_line/extra_args="" +apk_expansion/enable=false +apk_expansion/SALT="" +apk_expansion/public_key="" +permissions/custom_permissions=PackedStringArray() +permissions/access_checkin_properties=false +permissions/access_coarse_location=false +permissions/access_fine_location=false +permissions/access_location_extra_commands=false +permissions/access_media_location=false +permissions/access_mock_location=false +permissions/access_network_state=false +permissions/access_surface_flinger=false +permissions/access_wifi_state=false +permissions/account_manager=false +permissions/add_voicemail=false +permissions/authenticate_accounts=false +permissions/battery_stats=false +permissions/bind_accessibility_service=false +permissions/bind_appwidget=false +permissions/bind_device_admin=false +permissions/bind_input_method=false +permissions/bind_nfc_service=false +permissions/bind_notification_listener_service=false +permissions/bind_print_service=false +permissions/bind_remoteviews=false +permissions/bind_text_service=false +permissions/bind_vpn_service=false +permissions/bind_wallpaper=false +permissions/bluetooth=false +permissions/bluetooth_admin=false +permissions/bluetooth_privileged=false +permissions/brick=false +permissions/broadcast_package_removed=false +permissions/broadcast_sms=false +permissions/broadcast_sticky=false +permissions/broadcast_wap_push=false +permissions/call_phone=false +permissions/call_privileged=false +permissions/camera=false +permissions/capture_audio_output=false +permissions/capture_secure_video_output=false +permissions/capture_video_output=false +permissions/change_component_enabled_state=false +permissions/change_configuration=false +permissions/change_network_state=false +permissions/change_wifi_multicast_state=false +permissions/change_wifi_state=false +permissions/clear_app_cache=false +permissions/clear_app_user_data=false +permissions/control_location_updates=false +permissions/delete_cache_files=false +permissions/delete_packages=false +permissions/device_power=false +permissions/diagnostic=false +permissions/disable_keyguard=false +permissions/dump=false +permissions/expand_status_bar=false +permissions/factory_test=false +permissions/flashlight=false +permissions/force_back=false +permissions/get_accounts=false +permissions/get_package_size=false +permissions/get_tasks=false +permissions/get_top_activity_info=false +permissions/global_search=false +permissions/hardware_test=false +permissions/inject_events=false +permissions/install_location_provider=false +permissions/install_packages=false +permissions/install_shortcut=false +permissions/internal_system_window=false +permissions/internet=false +permissions/kill_background_processes=false +permissions/location_hardware=false +permissions/manage_accounts=false +permissions/manage_app_tokens=false +permissions/manage_documents=false +permissions/manage_external_storage=false +permissions/master_clear=false +permissions/media_content_control=false +permissions/modify_audio_settings=false +permissions/modify_phone_state=false +permissions/mount_format_filesystems=false +permissions/mount_unmount_filesystems=false +permissions/nfc=false +permissions/persistent_activity=false +permissions/post_notifications=false +permissions/process_outgoing_calls=false +permissions/read_calendar=false +permissions/read_call_log=false +permissions/read_contacts=false +permissions/read_external_storage=false +permissions/read_frame_buffer=false +permissions/read_history_bookmarks=false +permissions/read_input_state=false +permissions/read_logs=false +permissions/read_media_audio=false +permissions/read_media_images=false +permissions/read_media_video=false +permissions/read_media_visual_user_selected=false +permissions/read_phone_state=false +permissions/read_profile=false +permissions/read_sms=false +permissions/read_social_stream=false +permissions/read_sync_settings=false +permissions/read_sync_stats=false +permissions/read_user_dictionary=false +permissions/reboot=false +permissions/receive_boot_completed=false +permissions/receive_mms=false +permissions/receive_sms=false +permissions/receive_wap_push=false +permissions/record_audio=false +permissions/reorder_tasks=false +permissions/restart_packages=false +permissions/send_respond_via_message=false +permissions/send_sms=false +permissions/set_activity_watcher=false +permissions/set_alarm=false +permissions/set_always_finish=false +permissions/set_animation_scale=false +permissions/set_debug_app=false +permissions/set_orientation=false +permissions/set_pointer_speed=false +permissions/set_preferred_applications=false +permissions/set_process_limit=false +permissions/set_time=false +permissions/set_time_zone=false +permissions/set_wallpaper=false +permissions/set_wallpaper_hints=false +permissions/signal_persistent_processes=false +permissions/status_bar=false +permissions/subscribed_feeds_read=false +permissions/subscribed_feeds_write=false +permissions/system_alert_window=false +permissions/transmit_ir=false +permissions/uninstall_shortcut=false +permissions/update_device_stats=false +permissions/use_credentials=false +permissions/use_sip=false +permissions/vibrate=false +permissions/wake_lock=false +permissions/write_apn_settings=false +permissions/write_calendar=false +permissions/write_call_log=false +permissions/write_contacts=false +permissions/write_external_storage=false +permissions/write_gservices=false +permissions/write_history_bookmarks=false +permissions/write_profile=false +permissions/write_secure_settings=false +permissions/write_settings=false +permissions/write_sms=false +permissions/write_social_stream=false +permissions/write_sync_settings=false +permissions/write_user_dictionary=false diff --git a/exports/encuentralo.apple-touch-icon.png b/exports/encuentralo.apple-touch-icon.png new file mode 100644 index 0000000..71d4fae Binary files /dev/null and b/exports/encuentralo.apple-touch-icon.png differ diff --git a/exports/encuentralo.apple-touch-icon.png.import b/exports/encuentralo.apple-touch-icon.png.import new file mode 100644 index 0000000..a1b96a0 --- /dev/null +++ b/exports/encuentralo.apple-touch-icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bs3coke8l8vvo" +path="res://.godot/imported/encuentralo.apple-touch-icon.png-463a82bbb11e18716a58984be784ca8b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exports/encuentralo.apple-touch-icon.png" +dest_files=["res://.godot/imported/encuentralo.apple-touch-icon.png-463a82bbb11e18716a58984be784ca8b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exports/encuentralo.audio.position.worklet.js b/exports/encuentralo.audio.position.worklet.js new file mode 100644 index 0000000..155d4e6 --- /dev/null +++ b/exports/encuentralo.audio.position.worklet.js @@ -0,0 +1,69 @@ +/**************************************************************************/ +/* godot.audio.position.worklet.js */ +/**************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/**************************************************************************/ +/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ +/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/**************************************************************************/ + +const POST_THRESHOLD_S = 0.1; + +class GodotPositionReportingProcessor extends AudioWorkletProcessor { + constructor(...args) { + super(...args); + this.lastPostTime = currentTime; + this.position = 0; + this.ended = false; + + this.port.onmessage = (event) => { + if (event?.data?.type === 'ended') { + this.ended = true; + } + }; + } + + process(inputs, _outputs, _parameters) { + if (this.ended) { + return false; + } + + if (inputs.length > 0) { + const input = inputs[0]; + if (input.length > 0) { + this.position += input[0].length; + } + } + + // Posting messages is expensive. Let's limit the number of posts. + if (currentTime - this.lastPostTime > POST_THRESHOLD_S) { + this.lastPostTime = currentTime; + this.port.postMessage({ type: 'position', data: this.position }); + } + + return true; + } +} + +registerProcessor('godot-position-reporting-processor', GodotPositionReportingProcessor); diff --git a/exports/encuentralo.audio.worklet.js b/exports/encuentralo.audio.worklet.js new file mode 100644 index 0000000..3b94cab --- /dev/null +++ b/exports/encuentralo.audio.worklet.js @@ -0,0 +1,213 @@ +/**************************************************************************/ +/* audio.worklet.js */ +/**************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/**************************************************************************/ +/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ +/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/**************************************************************************/ + +class RingBuffer { + constructor(p_buffer, p_state, p_threads) { + this.buffer = p_buffer; + this.avail = p_state; + this.threads = p_threads; + this.rpos = 0; + this.wpos = 0; + } + + data_left() { + return this.threads ? Atomics.load(this.avail, 0) : this.avail; + } + + space_left() { + return this.buffer.length - this.data_left(); + } + + read(output) { + const size = this.buffer.length; + let from = 0; + let to_write = output.length; + if (this.rpos + to_write > size) { + const high = size - this.rpos; + output.set(this.buffer.subarray(this.rpos, size)); + from = high; + to_write -= high; + this.rpos = 0; + } + if (to_write) { + output.set(this.buffer.subarray(this.rpos, this.rpos + to_write), from); + } + this.rpos += to_write; + if (this.threads) { + Atomics.add(this.avail, 0, -output.length); + Atomics.notify(this.avail, 0); + } else { + this.avail -= output.length; + } + } + + write(p_buffer) { + const to_write = p_buffer.length; + const mw = this.buffer.length - this.wpos; + if (mw >= to_write) { + this.buffer.set(p_buffer, this.wpos); + this.wpos += to_write; + if (mw === to_write) { + this.wpos = 0; + } + } else { + const high = p_buffer.subarray(0, mw); + const low = p_buffer.subarray(mw); + this.buffer.set(high, this.wpos); + this.buffer.set(low); + this.wpos = low.length; + } + if (this.threads) { + Atomics.add(this.avail, 0, to_write); + Atomics.notify(this.avail, 0); + } else { + this.avail += to_write; + } + } +} + +class GodotProcessor extends AudioWorkletProcessor { + constructor() { + super(); + this.threads = false; + this.running = true; + this.lock = null; + this.notifier = null; + this.output = null; + this.output_buffer = new Float32Array(); + this.input = null; + this.input_buffer = new Float32Array(); + this.port.onmessage = (event) => { + const cmd = event.data['cmd']; + const data = event.data['data']; + this.parse_message(cmd, data); + }; + } + + process_notify() { + if (this.notifier) { + Atomics.add(this.notifier, 0, 1); + Atomics.notify(this.notifier, 0); + } + } + + parse_message(p_cmd, p_data) { + if (p_cmd === 'start' && p_data) { + const state = p_data[0]; + let idx = 0; + this.threads = true; + this.lock = state.subarray(idx, ++idx); + this.notifier = state.subarray(idx, ++idx); + const avail_in = state.subarray(idx, ++idx); + const avail_out = state.subarray(idx, ++idx); + this.input = new RingBuffer(p_data[1], avail_in, true); + this.output = new RingBuffer(p_data[2], avail_out, true); + } else if (p_cmd === 'stop') { + this.running = false; + this.output = null; + this.input = null; + this.lock = null; + this.notifier = null; + } else if (p_cmd === 'start_nothreads') { + this.output = new RingBuffer(p_data[0], p_data[0].length, false); + } else if (p_cmd === 'chunk') { + this.output.write(p_data); + } + } + + static array_has_data(arr) { + return arr.length && arr[0].length && arr[0][0].length; + } + + process(inputs, outputs, parameters) { + if (!this.running) { + return false; // Stop processing. + } + if (this.output === null) { + return true; // Not ready yet, keep processing. + } + const process_input = GodotProcessor.array_has_data(inputs); + if (process_input) { + const input = inputs[0]; + const chunk = input[0].length * input.length; + if (this.input_buffer.length !== chunk) { + this.input_buffer = new Float32Array(chunk); + } + if (!this.threads) { + GodotProcessor.write_input(this.input_buffer, input); + this.port.postMessage({ 'cmd': 'input', 'data': this.input_buffer }); + } else if (this.input.space_left() >= chunk) { + GodotProcessor.write_input(this.input_buffer, input); + this.input.write(this.input_buffer); + } else { + // this.port.postMessage('Input buffer is full! Skipping input frame.'); // Uncomment this line to debug input buffer. + } + } + const process_output = GodotProcessor.array_has_data(outputs); + if (process_output) { + const output = outputs[0]; + const chunk = output[0].length * output.length; + if (this.output_buffer.length !== chunk) { + this.output_buffer = new Float32Array(chunk); + } + if (this.output.data_left() >= chunk) { + this.output.read(this.output_buffer); + GodotProcessor.write_output(output, this.output_buffer); + if (!this.threads) { + this.port.postMessage({ 'cmd': 'read', 'data': chunk }); + } + } else { + // this.port.postMessage('Output buffer has not enough frames! Skipping output frame.'); // Uncomment this line to debug output buffer. + } + } + this.process_notify(); + return true; + } + + static write_output(dest, source) { + const channels = dest.length; + for (let ch = 0; ch < channels; ch++) { + for (let sample = 0; sample < dest[ch].length; sample++) { + dest[ch][sample] = source[sample * channels + ch]; + } + } + } + + static write_input(dest, source) { + const channels = source.length; + for (let ch = 0; ch < channels; ch++) { + for (let sample = 0; sample < source[ch].length; sample++) { + dest[sample * channels + ch] = source[ch][sample]; + } + } + } +} + +registerProcessor('godot-processor', GodotProcessor); diff --git a/exports/encuentralo.html b/exports/encuentralo.html new file mode 100644 index 0000000..59a934a --- /dev/null +++ b/exports/encuentralo.html @@ -0,0 +1,250 @@ + + + + + + Encuentralo + + + + + + Your browser does not support the canvas tag. + + + + +
+ + +
+
+ + + + + + diff --git a/exports/encuentralo.icon.png b/exports/encuentralo.icon.png new file mode 100644 index 0000000..ee8ae11 Binary files /dev/null and b/exports/encuentralo.icon.png differ diff --git a/exports/encuentralo.icon.png.import b/exports/encuentralo.icon.png.import new file mode 100644 index 0000000..7339faf --- /dev/null +++ b/exports/encuentralo.icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnlaq1b1n6o5h" +path="res://.godot/imported/encuentralo.icon.png-0596398901f0adf464508b2356eaa67c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exports/encuentralo.icon.png" +dest_files=["res://.godot/imported/encuentralo.icon.png-0596398901f0adf464508b2356eaa67c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exports/encuentralo.js b/exports/encuentralo.js new file mode 100644 index 0000000..e64d1ee --- /dev/null +++ b/exports/encuentralo.js @@ -0,0 +1,912 @@ + +var Godot = (() => { + var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined; + + return ( +function(moduleArg = {}) { + var moduleRtn; + +var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});["_memory","__Z14godot_web_mainiPPc","__emwebxr_on_input_event","__emwebxr_on_simple_event","___indirect_function_table","_main","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(readyPromise,prop)){Object.defineProperty(readyPromise,prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)")}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>{assert(!isFileURI(url),"readAsync does not work with file:// URLs");return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{throw new Error("environment detection error")}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module["arguments"])arguments_=Module["arguments"];legacyModuleProp("arguments","arguments_");if(Module["thisProgram"])thisProgram=Module["thisProgram"];legacyModuleProp("thisProgram","thisProgram");if(Module["quit"])quit_=Module["quit"];legacyModuleProp("quit","quit_");assert(typeof Module["memoryInitializerPrefixURL"]=="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]=="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]=="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]=="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["read"]=="undefined","Module.read option was removed");assert(typeof Module["readAsync"]=="undefined","Module.readAsync option was removed (modify readAsync in JS)");assert(typeof Module["readBinary"]=="undefined","Module.readBinary option was removed (modify readBinary in JS)");assert(typeof Module["setWindowTitle"]=="undefined","Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)");assert(typeof Module["TOTAL_MEMORY"]=="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");legacyModuleProp("asm","wasmExports");legacyModuleProp("readAsync","readAsync");legacyModuleProp("readBinary","readBinary");legacyModuleProp("setWindowTitle","setWindowTitle");assert(!ENVIRONMENT_IS_NODE,"node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable.");assert(!ENVIRONMENT_IS_SHELL,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.");var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];legacyModuleProp("wasmBinary","wasmBinary");if(typeof WebAssembly!="object"){err("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed"+(text?": "+text:""))}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);Module["HEAP64"]=HEAP64=new BigInt64Array(b);Module["HEAPU64"]=HEAPU64=new BigUint64Array(b)}assert(!Module["STACK_SIZE"],"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time");assert(typeof Int32Array!="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,"JS engine does not provide full typed array support");assert(!Module["wasmMemory"],"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally");assert(!Module["INITIAL_MEMORY"],"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically");function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0>>2]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`)}if(HEAPU32[0>>2]!=1668509029){abort("Runtime error: The application has corrupted its heap memory area (address zero)!")}}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){assert(!runtimeExited);checkStackCookie();___funcs_on_exit();callRuntimeCallbacks(__ATEXIT__);FS.quit();TTY.shutdown();IDBFS.quit();runtimeExited=true}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies);if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!="undefined"){runDependencyWatcher=setInterval(()=>{if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err(`dependency: ${dep}`)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function createExportWrapper(name,nargs){return(...args)=>{assert(runtimeInitialized,`native function \`${name}\` called before runtime initialization`);assert(!runtimeExited,`native function \`${name}\` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)`);var f=wasmExports[name];assert(f,`exported native function \`${name}\` not found`);assert(args.length<=nargs,`native function \`${name}\` called with ${args.length} args but expects ${nargs}`);return f(...args)}}function findWasmBinary(){var f="godot.web.template_release.wasm32.nothreads.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);if(isFileURI(wasmBinaryFile)){err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`)}abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["memory"];assert(wasmMemory,"memory not found in wasm exports");updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];assert(wasmTable,"table not found in wasm exports");addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}function legacyModuleProp(prop,newName,incoming=true){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get(){let extra=incoming?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":"";abort(`\`Module.${prop}\` has been replaced by \`${newName}\``+extra)}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`)}}function isExportedByForceFilesystem(name){return name==="FS_createPath"||name==="FS_createDataFile"||name==="FS_createPreloadedFile"||name==="FS_unlink"||name==="addRunDependency"||name==="FS_createLazyFile"||name==="FS_createDevice"||name==="removeRunDependency"}function missingGlobal(sym,msg){if(typeof globalThis!="undefined"){Object.defineProperty(globalThis,sym,{configurable:true,get(){warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`);return undefined}})}}missingGlobal("buffer","Please use HEAP8.buffer or wasmMemory.buffer");missingGlobal("asm","Please use wasmExports instead");function missingLibrarySymbol(sym){if(typeof globalThis!="undefined"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get(){var msg=`\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`;var librarySymbol=sym;if(!librarySymbol.startsWith("_")){librarySymbol="$"+sym}msg+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`;if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}warnOnce(msg);return undefined}})}unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get(){var msg=`'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}abort(msg)}})}}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP64[ptr>>3];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=Module["noExitRuntime"]||false;var ptrToString=ptr=>{assert(typeof ptr==="number");ptr>>>=0;return"0x"+ptr.toString(16).padStart(8,"0")};function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":HEAP64[ptr>>3]=BigInt(value);break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}};var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>{assert(typeof ptr=="number",`UTF8ToString expects a number (got ${typeof ptr})`);return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""};var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var ___call_sighandler=(fp,sig)=>getWasmTableEntry(fp)(sig);var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else abort("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{assert(typeof str==="string",`stringToUTF8Array expects a string (got ${typeof str})`);if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;if(u>1114111)warnOnce("Invalid Unicode code point "+ptrToString(u)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var mmapAlloc=size=>{abort("internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported")};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url).then(arrayBuffer=>{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},err=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var IDBFS={dbs:{},indexedDB:()=>{if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",queuePersist:mount=>{function onPersistComplete(){if(mount.idbPersistState==="again")startPersist();else mount.idbPersistState=0}function startPersist(){mount.idbPersistState="idb";IDBFS.syncfs(mount,false,onPersistComplete)}if(!mount.idbPersistState){mount.idbPersistState=setTimeout(startPersist,0)}else if(mount.idbPersistState==="idb"){mount.idbPersistState="again"}},mount:mount=>{var mnt=MEMFS.mount(mount);if(mount?.opts?.autoPersist){mnt.idbPersistState=0;var memfs_node_ops=mnt.node_ops;mnt.node_ops=Object.assign({},mnt.node_ops);mnt.node_ops.mknod=(parent,name,mode,dev)=>{var node=memfs_node_ops.mknod(parent,name,mode,dev);node.node_ops=mnt.node_ops;node.idbfs_mount=mnt.mount;node.memfs_stream_ops=node.stream_ops;node.stream_ops=Object.assign({},node.stream_ops);node.stream_ops.write=(stream,buffer,offset,length,position,canOwn)=>{stream.node.isModified=true;return node.memfs_stream_ops.write(stream,buffer,offset,length,position,canOwn)};node.stream_ops.close=stream=>{var n=stream.node;if(n.isModified){IDBFS.queuePersist(n.idbfs_mount);n.isModified=false}if(n.memfs_stream_ops.close)return n.memfs_stream_ops.close(stream)};return node};mnt.node_ops.mkdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.mkdir(...args));mnt.node_ops.rmdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rmdir(...args));mnt.node_ops.symlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.symlink(...args));mnt.node_ops.unlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.unlink(...args));mnt.node_ops.rename=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rename(...args))}return mnt},syncfs:(mount,populate,callback)=>{IDBFS.getLocalSet(mount,(err,local)=>{if(err)return callback(err);IDBFS.getRemoteSet(mount,(err,remote)=>{if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},quit:()=>{Object.values(IDBFS.dbs).forEach(value=>value.close());IDBFS.dbs={}},getDB:(name,callback)=>{var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=()=>{db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=e=>{callback(e.target.error);e.preventDefault()}},getLocalSet:(mount,callback)=>{var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return p=>PATH.join2(root,p)}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push(...FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:(mount,callback)=>{var entries={};IDBFS.getDB(mount.mountpoint,(err,db)=>{if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=e=>{callback(e.target.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=event=>{var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:(path,callback)=>{var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:(path,entry,callback)=>{try{if(FS.isDir(entry["mode"])){FS.mkdirTree(path,entry["mode"])}else if(FS.isFile(entry["mode"])){FS.writeFile(path,entry["contents"],{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry["mode"]);FS.utime(path,entry["timestamp"],entry["timestamp"])}catch(e){return callback(e)}callback(null)},removeLocalEntry:(path,callback)=>{try{var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:(store,path,callback)=>{var req=store.get(path);req.onsuccess=event=>callback(null,event.target.result);req.onerror=e=>{callback(e.target.error);e.preventDefault()}},storeRemoteEntry:(store,path,entry,callback)=>{try{var req=store.put(entry,path)}catch(e){callback(e);return}req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},removeRemoteEntry:(store,path,callback)=>{var req=store.delete(path);req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},reconcile:(src,dst,callback)=>{var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e["timestamp"].getTime()!=e2["timestamp"].getTime()){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){if(!src.entries[key]){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=transaction.onabort=e=>{done(e.target.error);e.preventDefault()};transaction.oncomplete=e=>{if(!errored){callback(null)}};create.sort().forEach(path=>{if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(err,entry)=>{if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,(err,entry)=>{if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(path=>{if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var strError=errno=>UTF8ToString(_strerror(errno));var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class extends Error{constructor(errno){super(runtimeInitialized?strError(errno):"");this.name="ErrnoError";this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){assert(typeof parent=="object");var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){assert(fd>=-1);stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){if(typeof type=="string"){throw type}var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;i=0);if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){assert(offset>=0);if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){assert(offset>=0);if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1);assert(stdin.fd===0,`invalid handle for stdin (${stdin.fd})`);assert(stdout.fd===1,`invalid handle for stdout (${stdout.fd})`);assert(stderr.fd===2,`invalid handle for stderr (${stderr.fd})`)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS:MEMFS,IDBFS:IDBFS}},init(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;_fflush(0);for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node},absolutePath(){abort("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder(){abort("FS.createFolder has been removed; use FS.mkdir instead")},createLink(){abort("FS.createLink has been removed; use FS.symlink instead")},joinPath(){abort("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc(){abort("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath(){abort("FS.standardizePath has been removed; use PATH.normalize instead")}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;HEAP64[buf+24>>3]=BigInt(stat.size);HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>3]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>2]=atime%1e3*1e3;HEAP64[buf+56>>3]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>2]=mtime%1e3*1e3;HEAP64[buf+72>>3]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>2]=ctime%1e3*1e3;HEAP64[buf+88>>3]=BigInt(stat.ino);return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);assert(flags===0);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function syscallGetVarargI(){assert(SYSCALLS.varargs!=undefined);var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>numINT53_MAX?NaN:Number(num);function ___syscall_ftruncate64(fd,length){length=bigintToI53Checked(length);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>{assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)};function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>3]=BigInt(id);HEAP64[dirp+pos+8>>3]=BigInt((idx+1)*struct_size);HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mknodat(dirfd,path,mode,dev){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;assert(!flags,`unknown flags in __syscall_newfstatat: ${flags}`);path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_readlinkat(dirfd,path,buf,bufsize){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_statfs64(path,size,buf){try{path=SYSCALLS.getStr(path);assert(size===64);HEAP32[buf+4>>2]=4096;HEAP32[buf+40>>2]=4096;HEAP32[buf+8>>2]=1e6;HEAP32[buf+12>>2]=5e5;HEAP32[buf+16>>2]=5e5;HEAP32[buf+20>>2]=FS.nextInode;HEAP32[buf+24>>2]=1e6;HEAP32[buf+28>>2]=42;HEAP32[buf+44>>2]=2;HEAP32[buf+36>>2]=255;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_symlink(target,linkpath){try{target=SYSCALLS.getStr(target);linkpath=SYSCALLS.getStr(linkpath);FS.symlink(target,linkpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>{abort("native code called abort()")};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};function __gmtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);assert(winterName);assert(summerName);assert(lengthBytesUTF8(winterName)<=16,`timezone name truncated to fit in TZNAME_MAX (${winterName})`);assert(lengthBytesUTF8(summerName)<=16,`timezone name truncated to fit in TZNAME_MAX (${summerName})`);if(summerOffset{runtimeKeepaliveCounter+=1};var _emscripten_set_main_loop_timing=(mode,value)=>{Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){err("emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.");return 1}if(!Browser.mainLoop.running){runtimeKeepalivePush();Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof Browser.setImmediate=="undefined"){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);Browser.setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){Module["setImmediates"]??=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}else{Browser.setImmediate=setImmediate}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){Browser.setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0};var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var webgl_enable_ANGLE_instanced_arrays=ctx=>{var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=(index,divisor)=>ext["vertexAttribDivisorANGLE"](index,divisor);ctx["drawArraysInstanced"]=(mode,first,count,primcount)=>ext["drawArraysInstancedANGLE"](mode,first,count,primcount);ctx["drawElementsInstanced"]=(mode,count,type,indices,primcount)=>ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount);return 1}};var webgl_enable_OES_vertex_array_object=ctx=>{var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=()=>ext["createVertexArrayOES"]();ctx["deleteVertexArray"]=vao=>ext["deleteVertexArrayOES"](vao);ctx["bindVertexArray"]=vao=>ext["bindVertexArrayOES"](vao);ctx["isVertexArray"]=vao=>ext["isVertexArrayOES"](vao);return 1}};var webgl_enable_WEBGL_draw_buffers=ctx=>{var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=(n,bufs)=>ext["drawBuffersWEBGL"](n,bufs);return 1}};var webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));var getEmscriptenSupportedExtensions=ctx=>{var supportedExtensions=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>2]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>2]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>2],len)}return source},createContext:(canvas,webGLContextAttributes)=>{if(webGLContextAttributes.renderViaOffscreenBackBuffer)webGLContextAttributes["preserveDrawingBuffer"]=true;var ctx=webGLContextAttributes.majorVersion>1?canvas.getContext("webgl2",webGLContextAttributes):canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},enableOffscreenFramebufferAttributes:webGLContextAttributes=>{webGLContextAttributes.renderViaOffscreenBackBuffer=true;webGLContextAttributes.preserveDrawingBuffer=true},createOffscreenFramebuffer:context=>{var gl=context.GLctx;var fbo=gl.createFramebuffer();gl.bindFramebuffer(36160,fbo);context.defaultFbo=fbo;context.defaultFboForbidBlitFramebuffer=false;if(gl.getContextAttributes().antialias){context.defaultFboForbidBlitFramebuffer=true}context.defaultColorTarget=gl.createTexture();context.defaultDepthTarget=gl.createRenderbuffer();GL.resizeOffscreenFramebuffer(context);gl.bindTexture(3553,context.defaultColorTarget);gl.texParameteri(3553,10241,9728);gl.texParameteri(3553,10240,9728);gl.texParameteri(3553,10242,33071);gl.texParameteri(3553,10243,33071);gl.texImage2D(3553,0,6408,gl.canvas.width,gl.canvas.height,0,6408,5121,null);gl.framebufferTexture2D(36160,36064,3553,context.defaultColorTarget,0);gl.bindTexture(3553,null);var depthTarget=gl.createRenderbuffer();gl.bindRenderbuffer(36161,context.defaultDepthTarget);gl.renderbufferStorage(36161,33189,gl.canvas.width,gl.canvas.height);gl.framebufferRenderbuffer(36160,36096,36161,context.defaultDepthTarget);gl.bindRenderbuffer(36161,null);var vertices=[-1,-1,-1,1,1,-1,1,1];var vb=gl.createBuffer();gl.bindBuffer(34962,vb);gl.bufferData(34962,new Float32Array(vertices),35044);gl.bindBuffer(34962,null);context.blitVB=vb;var vsCode="attribute vec2 pos;"+"varying lowp vec2 tex;"+"void main() { tex = pos * 0.5 + vec2(0.5,0.5); gl_Position = vec4(pos, 0.0, 1.0); }";var vs=gl.createShader(35633);gl.shaderSource(vs,vsCode);gl.compileShader(vs);var fsCode="varying lowp vec2 tex;"+"uniform sampler2D sampler;"+"void main() { gl_FragColor = texture2D(sampler, tex); }";var fs=gl.createShader(35632);gl.shaderSource(fs,fsCode);gl.compileShader(fs);var blitProgram=gl.createProgram();gl.attachShader(blitProgram,vs);gl.attachShader(blitProgram,fs);gl.linkProgram(blitProgram);context.blitProgram=blitProgram;context.blitPosLoc=gl.getAttribLocation(blitProgram,"pos");gl.useProgram(blitProgram);gl.uniform1i(gl.getUniformLocation(blitProgram,"sampler"),0);gl.useProgram(null);context.defaultVao=undefined;if(gl.createVertexArray){context.defaultVao=gl.createVertexArray();gl.bindVertexArray(context.defaultVao);gl.enableVertexAttribArray(context.blitPosLoc);gl.bindVertexArray(null)}},resizeOffscreenFramebuffer:context=>{var gl=context.GLctx;if(context.defaultColorTarget){var prevTextureBinding=gl.getParameter(32873);gl.bindTexture(3553,context.defaultColorTarget);gl.texImage2D(3553,0,6408,gl.drawingBufferWidth,gl.drawingBufferHeight,0,6408,5121,null);gl.bindTexture(3553,prevTextureBinding)}if(context.defaultDepthTarget){var prevRenderBufferBinding=gl.getParameter(36007);gl.bindRenderbuffer(36161,context.defaultDepthTarget);gl.renderbufferStorage(36161,33189,gl.drawingBufferWidth,gl.drawingBufferHeight);gl.bindRenderbuffer(36161,prevRenderBufferBinding)}},blitOffscreenFramebuffer:context=>{var gl=context.GLctx;var prevScissorTest=gl.getParameter(3089);if(prevScissorTest)gl.disable(3089);var prevFbo=gl.getParameter(36006);if(gl.blitFramebuffer&&!context.defaultFboForbidBlitFramebuffer){gl.bindFramebuffer(36008,context.defaultFbo);gl.bindFramebuffer(36009,null);gl.blitFramebuffer(0,0,gl.canvas.width,gl.canvas.height,0,0,gl.canvas.width,gl.canvas.height,16384,9728)}else{gl.bindFramebuffer(36160,null);var prevProgram=gl.getParameter(35725);gl.useProgram(context.blitProgram);var prevVB=gl.getParameter(34964);gl.bindBuffer(34962,context.blitVB);var prevActiveTexture=gl.getParameter(34016);gl.activeTexture(33984);var prevTextureBinding=gl.getParameter(32873);gl.bindTexture(3553,context.defaultColorTarget);var prevBlend=gl.getParameter(3042);if(prevBlend)gl.disable(3042);var prevCullFace=gl.getParameter(2884);if(prevCullFace)gl.disable(2884);var prevDepthTest=gl.getParameter(2929);if(prevDepthTest)gl.disable(2929);var prevStencilTest=gl.getParameter(2960);if(prevStencilTest)gl.disable(2960);function draw(){gl.vertexAttribPointer(context.blitPosLoc,2,5126,false,0,0);gl.drawArrays(5,0,4)}if(context.defaultVao){var prevVAO=gl.getParameter(34229);gl.bindVertexArray(context.defaultVao);draw();gl.bindVertexArray(prevVAO)}else{var prevVertexAttribPointer={buffer:gl.getVertexAttrib(context.blitPosLoc,34975),size:gl.getVertexAttrib(context.blitPosLoc,34339),stride:gl.getVertexAttrib(context.blitPosLoc,34340),type:gl.getVertexAttrib(context.blitPosLoc,34341),normalized:gl.getVertexAttrib(context.blitPosLoc,34922),pointer:gl.getVertexAttribOffset(context.blitPosLoc,34373)};var maxVertexAttribs=gl.getParameter(34921);var prevVertexAttribEnables=[];for(var i=0;i{var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}if(webGLContextAttributes.renderViaOffscreenBackBuffer)GL.createOffscreenFramebuffer(context);return handle},makeContextCurrent:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext?.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle]){GL.currentContext=null}if(typeof JSEvents=="object"){JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas)}if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas){GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined}GL.contexts[contextHandle]=null},initExtensions:context=>{context||=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_ANGLE_instanced_arrays(GLctx);webgl_enable_OES_vertex_array_object(GLctx);webgl_enable_WEBGL_draw_buffers(GLctx);webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);getEmscriptenSupportedExtensions(GLctx).forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var _emscripten_webgl_do_commit_frame=()=>{if(!GL.currentContext||!GL.currentContext.GLctx){return-3}if(GL.currentContext.defaultFbo){GL.blitOffscreenFramebuffer(GL.currentContext);return 0}if(!GL.currentContext.attributes.explicitSwapControl){return-3}return 0};var _emscripten_webgl_commit_frame=_emscripten_webgl_do_commit_frame;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;if(!keepRuntimeAlive()){exitRuntime()}if(keepRuntimeAlive()&&!implicit){var msg=`program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`;readyPromiseReject(msg);err(msg)}_proc_exit(status)};var _exit=exitJS;var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}checkStackCookie();if(e instanceof WebAssembly.RuntimeError){if(_emscripten_stack_get_current()<=0){err("Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 5242880)")}}quit_(1,e)};var maybeExit=()=>{if(runtimeExited){return}if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var runtimeKeepalivePop=()=>{assert(runtimeKeepaliveCounter>0);runtimeKeepaliveCounter-=1};var setMainLoop=(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){warnOnce("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);checkStackCookie();if(!checkIsRunning())return;if(typeof SDL=="object")SDL.audio?.queueNewAudioData?.();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};var callUserCallback=func=>{if(runtimeExited||ABORT){err("user callback triggered after runtime exited or application aborted. Ignoring.");return}try{func();maybeExit()}catch(e){handleException(e)}};var safeSetTimeout=(func,timeout)=>{runtimeKeepalivePush();return setTimeout(()=>{runtimeKeepalivePop();callUserCallback(func)},timeout)};var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{assert(img.complete,`Image ${name} could not be decoded`);var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);preloadedImages[name]=canvas;URL.revokeObjectURL(url);onload?.(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);onerror?.()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;preloadedAudios[name]=audio;onload?.(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);assert(typeof url=="string","createObjectURL must return a url as a string");var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err(`warning: browser could not fully decode audio ${name}, trying slower base64 approach`);function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:typeof WebGL2RenderingContext!="undefined"?2:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},destroyContext(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},requestFullScreen(){abort("Module.requestFullScreen has been replaced by Module.requestFullscreen (without a capital S)")},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame(func){runtimeKeepalivePush();return Browser.requestAnimationFrame(()=>{runtimeKeepalivePop();callUserCallback(func)})},getMimetype(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia(func){window.getUserMedia||=navigator["getUserMedia"]||navigator["mozGetUserMedia"];window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(pageX,pageY){var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;assert(typeof scrollX!="undefined"&&typeof scrollY!="undefined","Unable to retrieve scroll position, mouse positions likely broken.");var adjustedX=pageX-(scrollX+rect.left);var adjustedY=pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);return{x:adjustedX,y:adjustedY}},setMouseCoords(pageX,pageY){const{x:x,y:y}=Browser.calculateMouseCoords(pageX,pageY);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h{Browser.mainLoop.pause();Browser.mainLoop.func=null};var _emscripten_date_now=()=>Date.now();var _emscripten_err=str=>err(UTF8ToString(str));var _emscripten_force_exit=status=>{__emscripten_runtime_keepalive_clear();_exit(status)};var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){err(`growMemory: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`)}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err(`Cannot enlarge memory, requested ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`);return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`);return false};var JSEvents={removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},registerRemoveEventListeners(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},inEventHandler:0,deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var call of JSEvents.deferredCalls){if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedencecall.targetFunction!=targetFunction)},canPerformEventHandlerRequests(){if(navigator.userActivation){return navigator.userActivation.isActive}return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(!JSEvents.canPerformEventHandlerRequests()){return}var deferredCalls=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var call of deferredCalls){call.targetFunction(...call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(target,eventTypeString)=>{for(var i=0;icString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement};var findCanvasEventTarget=findEventTarget;var _emscripten_set_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;if(canvas.GLctxObject)GL.resizeOffscreenFramebuffer(canvas.GLctxObject);return 0};var _emscripten_set_main_loop=(func,fps,simulateInfiniteLoop)=>{var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)};var webglPowerPreferences=["default","low-power","high-performance"];var _emscripten_webgl_do_create_context=(target,attributes)=>{assert(attributes);var attr32=attributes>>2;var powerPreference=HEAP32[attr32+(8>>2)];var contextAttributes={alpha:!!HEAP8[attributes+0],depth:!!HEAP8[attributes+1],stencil:!!HEAP8[attributes+2],antialias:!!HEAP8[attributes+3],premultipliedAlpha:!!HEAP8[attributes+4],preserveDrawingBuffer:!!HEAP8[attributes+5],powerPreference:webglPowerPreferences[powerPreference],failIfMajorPerformanceCaveat:!!HEAP8[attributes+12],majorVersion:HEAP32[attr32+(16>>2)],minorVersion:HEAP32[attr32+(20>>2)],enableExtensionsByDefault:HEAP8[attributes+24],explicitSwapControl:HEAP8[attributes+25],proxyContextToMainThread:HEAP32[attr32+(28>>2)],renderViaOffscreenBackBuffer:HEAP8[attributes+32]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl&&!contextAttributes.renderViaOffscreenBackBuffer){contextAttributes.renderViaOffscreenBackBuffer=true}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle};var _emscripten_webgl_create_context=_emscripten_webgl_do_create_context;var _emscripten_webgl_destroy_context=contextHandle=>{if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)};var _emscripten_webgl_enable_extension=(contextHandle,extension)=>{var context=GL.getContext(contextHandle);var extString=UTF8ToString(extension);if(extString.startsWith("GL_"))extString=extString.substr(3);if(extString=="ANGLE_instanced_arrays")webgl_enable_ANGLE_instanced_arrays(GLctx);if(extString=="OES_vertex_array_object")webgl_enable_OES_vertex_array_object(GLctx);if(extString=="WEBGL_draw_buffers")webgl_enable_WEBGL_draw_buffers(GLctx);if(extString=="WEBGL_draw_instanced_base_vertex_base_instance")webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw_instanced_base_vertex_base_instance")webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw")webgl_enable_WEBGL_multi_draw(GLctx);var ext=context.GLctx.getExtension(extString);return!!ext};var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var _emscripten_webgl_get_supported_extensions=()=>stringToNewUTF8(GLctx.getSupportedExtensions().join(" "));var _emscripten_webgl_make_context_current=contextHandle=>{var success=GL.makeContextCurrent(contextHandle);return success?0:-5};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;HEAP64[pbuf+8>>3]=BigInt(rightsBase);HEAP64[pbuf+16>>3]=BigInt(rightsInheriting);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>3]=BigInt(stream.position);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _glActiveTexture=x0=>GLctx.activeTexture(x0);var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};var _glBeginTransformFeedback=x0=>GLctx.beginTransformFeedback(x0);var _glBindBuffer=(target,buffer)=>{if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])};var _glBindBufferBase=(target,index,buffer)=>{GLctx.bindBufferBase(target,index,GL.buffers[buffer])};var _glBindBufferRange=(target,index,buffer,offset,ptrsize)=>{GLctx.bindBufferRange(target,index,GL.buffers[buffer],offset,ptrsize)};var _glBindFramebuffer=(target,framebuffer)=>{GLctx.bindFramebuffer(target,framebuffer?GL.framebuffers[framebuffer]:GL.currentContext.defaultFbo)};var _glBindRenderbuffer=(target,renderbuffer)=>{GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])};var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};var _glBlendColor=(x0,x1,x2,x3)=>GLctx.blendColor(x0,x1,x2,x3);var _glBlendEquation=x0=>GLctx.blendEquation(x0);var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);var _glBlitFramebuffer=(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)=>GLctx.blitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9);var _glBufferData=(target,size,data,usage)=>{if(GL.currentContext.version>=2){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}return}GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)};var _glBufferSubData=(target,offset,size,data)=>{if(GL.currentContext.version>=2){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))};var _glCheckFramebufferStatus=x0=>GLctx.checkFramebufferStatus(x0);var _glClear=x0=>GLctx.clear(x0);var _glClearBufferfv=(buffer,drawbuffer,value)=>{GLctx.clearBufferfv(buffer,drawbuffer,HEAPF32,value>>2)};var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);var _glClearDepthf=x0=>GLctx.clearDepth(x0);var _glColorMask=(red,green,blue,alpha)=>{GLctx.colorMask(!!red,!!green,!!blue,!!alpha)};var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};var _glCompressedTexImage2D=(target,level,internalFormat,width,height,border,imageSize,data)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data);return}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8,data,imageSize);return}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)};var _glCompressedTexImage3D=(target,level,internalFormat,width,height,depth,border,imageSize,data)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data)}else{GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,HEAPU8,data,imageSize)}};var _glCompressedTexSubImage3D=(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)}else{GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,HEAPU8,data,imageSize)}};var _glCopyBufferSubData=(x0,x1,x2,x3,x4)=>GLctx.copyBufferSubData(x0,x1,x2,x3,x4);var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};var _glCullFace=x0=>GLctx.cullFace(x0);var _glDeleteBuffers=(n,buffers)=>{for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GLctx.currentPixelPackBufferBinding)GLctx.currentPixelPackBufferBinding=0;if(id==GLctx.currentPixelUnpackBufferBinding)GLctx.currentPixelUnpackBufferBinding=0}};var _glDeleteFramebuffers=(n,framebuffers)=>{for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}};var _glDeleteProgram=id=>{if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null};var _glDeleteQueries=(n,ids)=>{for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.deleteQuery(query);GL.queries[id]=null}};var _glDeleteRenderbuffers=(n,renderbuffers)=>{for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}};var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};var _glDeleteSync=id=>{if(!id)return;var sync=GL.syncs[id];if(!sync){GL.recordError(1281);return}GLctx.deleteSync(sync);sync.name=0;GL.syncs[id]=null};var _glDeleteTextures=(n,textures)=>{for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}};var _glDeleteVertexArrays=(n,vaos)=>{for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}};var _glDepthFunc=x0=>GLctx.depthFunc(x0);var _glDepthMask=flag=>{GLctx.depthMask(!!flag)};var _glDisable=x0=>GLctx.disable(x0);var _glDisableVertexAttribArray=index=>{GLctx.disableVertexAttribArray(index)};var _glDrawArrays=(mode,first,count)=>{GLctx.drawArrays(mode,first,count)};var _glDrawArraysInstanced=(mode,first,count,primcount)=>{GLctx.drawArraysInstanced(mode,first,count,primcount)};var tempFixedLengthArray=[];var _glDrawBuffers=(n,bufs)=>{var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx.drawBuffers(bufArray)};var _glDrawElements=(mode,count,type,indices)=>{GLctx.drawElements(mode,count,type,indices)};var _glDrawElementsInstanced=(mode,count,type,indices,primcount)=>{GLctx.drawElementsInstanced(mode,count,type,indices,primcount)};var _glEnable=x0=>GLctx.enable(x0);var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};var _glEndTransformFeedback=()=>GLctx.endTransformFeedback();var _glFenceSync=(condition,flags)=>{var sync=GLctx.fenceSync(condition,flags);if(sync){var id=GL.getNewId(GL.syncs);sync.name=id;GL.syncs[id]=sync;return id}return 0};var _glFinish=()=>GLctx.finish();var _glFramebufferRenderbuffer=(target,attachment,renderbuffertarget,renderbuffer)=>{GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])};var _glFramebufferTexture2D=(target,attachment,textarget,texture,level)=>{GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)};var _glFramebufferTextureLayer=(target,attachment,texture,level,layer)=>{GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)};var _glFrontFace=x0=>GLctx.frontFace(x0);var _glGenBuffers=(n,buffers)=>{GL.genObject(n,buffers,"createBuffer",GL.buffers)};var _glGenFramebuffers=(n,ids)=>{GL.genObject(n,ids,"createFramebuffer",GL.framebuffers)};var _glGenQueries=(n,ids)=>{GL.genObject(n,ids,"createQuery",GL.queries)};var _glGenRenderbuffers=(n,renderbuffers)=>{GL.genObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)};var _glGenTextures=(n,textures)=>{GL.genObject(n,textures,"createTexture",GL.textures)};var _glGenVertexArrays=(n,arrays)=>{GL.genObject(n,arrays,"createVertexArray",GL.vaos)};var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);var readI53FromI64=ptr=>HEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;var readI53FromU64=ptr=>HEAPU32[ptr>>2]+HEAPU32[ptr+4>>2]*4294967296;var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>2]=num;var lower=HEAPU32[ptr>>2];HEAPU32[ptr+4>>2]=(num-lower)/4294967296;var deserialized=num>=0?readI53FromU64(ptr):readI53FromI64(ptr);var offset=ptr>>2;if(deserialized!=num)warnOnce(`writeI53ToI64() out of range: serialized JS Number ${num} to Wasm heap as bytes lo=${ptrToString(HEAPU32[offset])}, hi=${ptrToString(HEAPU32[offset+1])}, which deserializes back to ${deserialized} instead!`)};var webglGetExtensions=function $webglGetExtensions(){var exts=getEmscriptenSupportedExtensions(GLctx);exts=exts.concat(exts.map(e=>"GL_"+e));return exts};var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}ret=webglGetExtensions().length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Unknown object returned from WebGL getParameter(${name_})! (error: ${e})`);return}}break;default:GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Native code calling glGet${type}v(${name_}) and it returns ${result} of type ${typeof result}!`);return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p]=ret?1:0;break}};var _glGetFloatv=(name_,p)=>emscriptenWebGLGet(name_,p,2);var _glGetInteger64v=(name_,p)=>{emscriptenWebGLGet(name_,p,1)};var _glGetIntegerv=(name_,p)=>emscriptenWebGLGet(name_,p,0);var _glGetProgramInfoLog=(program,maxLength,length,infoLog)=>{var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetProgramiv=(program,pname,p)=>{if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}};var _glGetShaderInfoLog=(shader,maxLength,length,infoLog)=>{var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetShaderiv=(shader,pname,p)=>{if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}};var _glGetString=name_=>{var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:ret=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s?stringToNewUTF8(s):0;break;case 7938:var glVersion=GLctx.getParameter(7938);if(GL.currentContext.version>=2)glVersion=`OpenGL ES 3.0 (${glVersion})`;else{glVersion=`OpenGL ES 2.0 (${glVersion})`}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion=`OpenGL ES GLSL ES ${ver_num[1]} (${glslVersion})`}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret};var _glGetSynciv=(sync,pname,bufSize,length,values)=>{if(bufSize<0){GL.recordError(1281);return}if(!values){GL.recordError(1281);return}var ret=GLctx.getSyncParameter(GL.syncs[sync],pname);if(ret!==null){HEAP32[values>>2]=ret;if(length)HEAP32[length>>2]=1}};var _glGetUniformBlockIndex=(program,uniformBlockName)=>GLctx.getUniformBlockIndex(GL.programs[program],UTF8ToString(uniformBlockName));var jstoi_q=str=>parseInt(str);var webglGetLeftBracePos=name=>name.slice(-1)=="]"&&name.lastIndexOf("[");var webglPrepareUniformLocationsBeforeFirstUse=program=>{var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j{name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};var _glPixelStorei=(pname,param)=>{if(pname==3317){GL.unpackAlignment=param}else if(pname==3314){GL.unpackRowLength=param}GLctx.pixelStorei(pname,param)};var _glReadBuffer=x0=>GLctx.readBuffer(x0);var computeUnpackAlignedImageSize=(width,height,sizePerPixel)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=(GL.unpackRowLength||width)*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,GL.unpackAlignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel);return heap.subarray(toTypedArrayIndex(pixels,heap),toTypedArrayIndex(pixels+bytes,heap))};var _glReadPixels=(x,y,width,height,format,type,pixels)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels);return}var heap=heapObjectForWebGLType(type);var target=toTypedArrayIndex(pixels,heap);GLctx.readPixels(x,y,width,height,format,type,heap,target);return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)};var _glRenderbufferStorage=(x0,x1,x2,x3)=>GLctx.renderbufferStorage(x0,x1,x2,x3);var _glRenderbufferStorageMultisample=(x0,x1,x2,x3,x4)=>GLctx.renderbufferStorageMultisample(x0,x1,x2,x3,x4);var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);var _glShaderSource=(shader,count,string,length)=>{var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)};var _glTexImage2D=(target,level,internalFormat,width,height,border,format,type,pixels)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels);return}if(pixels){var heap=heapObjectForWebGLType(type);var index=toTypedArrayIndex(pixels,heap);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,index);return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null;GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)};var _glTexImage3D=(target,level,internalFormat,width,height,depth,border,format,type,pixels)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,null)}};var _glTexParameterf=(x0,x1,x2)=>GLctx.texParameterf(x0,x1,x2);var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);var _glTexStorage2D=(x0,x1,x2,x3,x4)=>GLctx.texStorage2D(x0,x1,x2,x3,x4);var _glTexSubImage3D=(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}};var _glTransformFeedbackVaryings=(program,count,varyings,bufferMode)=>{program=GL.programs[program];var vars=[];for(var i=0;i>2]));GLctx.transformFeedbackVaryings(program,vars,bufferMode)};var webglGetUniformLocation=location=>{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};var miniTempWebGLIntBuffers=[];var _glUniform1iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform1iv(webglGetUniformLocation(location),HEAP32,value>>2,count);return}if(count<=288){var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)};var _glUniform1ui=(location,v0)=>{GLctx.uniform1ui(webglGetUniformLocation(location),v0)};var _glUniform1uiv=(location,count,value)=>{count&&GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count)};var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};var miniTempWebGLFloatBuffers=[];var _glUniform2fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform2fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*2);return}if(count<=144){var view=miniTempWebGLFloatBuffers[2*count];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)};var _glUniform2iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform2iv(webglGetUniformLocation(location),HEAP32,value>>2,count*2);return}if(count<=144){var view=miniTempWebGLIntBuffers[2*count];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)};var _glUniform3fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform3fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*3);return}if(count<=96){var view=miniTempWebGLFloatBuffers[3*count];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)};var _glUniform4f=(location,v0,v1,v2,v3)=>{GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)};var _glUniform4fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform4fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*4);return}if(count<=72){var view=miniTempWebGLFloatBuffers[4*count];var heap=HEAPF32;value=value>>2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)};var _glUniformBlockBinding=(program,uniformBlockIndex,uniformBlockBinding)=>{program=GL.programs[program];GLctx.uniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding)};var _glUniformMatrix3fv=(location,count,transpose,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*9);return}if(count<=32){var view=miniTempWebGLFloatBuffers[9*count];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)};var _glUniformMatrix4fv=(location,count,transpose,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16);return}if(count<=18){var view=miniTempWebGLFloatBuffers[16*count];var heap=HEAPF32;value=value>>2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)};var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};var _glVertexAttrib4f=(x0,x1,x2,x3,x4)=>GLctx.vertexAttrib4f(x0,x1,x2,x3,x4);var _glVertexAttribDivisor=(index,divisor)=>{GLctx.vertexAttribDivisor(index,divisor)};var _glVertexAttribI4ui=(x0,x1,x2,x3,x4)=>GLctx.vertexAttribI4ui(x0,x1,x2,x3,x4);var _glVertexAttribIPointer=(index,size,type,stride,ptr)=>{GLctx.vertexAttribIPointer(index,size,type,stride,ptr)};var _glVertexAttribPointer=(index,size,type,normalized,stride,ptr)=>{GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)};var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);var GodotRuntime={get_func:function(ptr){return wasmTable.get(ptr)},error:function(){err.apply(null,Array.from(arguments))},print:function(){out.apply(null,Array.from(arguments))},malloc:function(p_size){return _malloc(p_size)},free:function(p_ptr){_free(p_ptr)},getHeapValue:function(p_ptr,p_type){return getValue(p_ptr,p_type)},setHeapValue:function(p_ptr,p_value,p_type){setValue(p_ptr,p_value,p_type)},heapSub:function(p_heap,p_ptr,p_len){const bytes=p_heap.BYTES_PER_ELEMENT;return p_heap.subarray(p_ptr/bytes,p_ptr/bytes+p_len)},heapSlice:function(p_heap,p_ptr,p_len){const bytes=p_heap.BYTES_PER_ELEMENT;return p_heap.slice(p_ptr/bytes,p_ptr/bytes+p_len)},heapCopy:function(p_dst,p_src,p_ptr){const bytes=p_src.BYTES_PER_ELEMENT;return p_dst.set(p_src,p_ptr/bytes)},parseString:function(p_ptr){return UTF8ToString(p_ptr)},parseStringArray:function(p_ptr,p_size){const strings=[];const ptrs=GodotRuntime.heapSub(HEAP32,p_ptr,p_size);ptrs.forEach(function(ptr){strings.push(GodotRuntime.parseString(ptr))});return strings},strlen:function(p_str){return lengthBytesUTF8(p_str)},allocString:function(p_str){const length=GodotRuntime.strlen(p_str)+1;const c_str=GodotRuntime.malloc(length);stringToUTF8(p_str,c_str,length);return c_str},allocStringArray:function(p_strings){const size=p_strings.length;const c_ptr=GodotRuntime.malloc(size*4);for(let i=0;i>2)+i]=GodotRuntime.allocString(p_strings[i])}return c_ptr},freeStringArray:function(p_ptr,p_len){for(let i=0;i>2)+i])}GodotRuntime.free(p_ptr)},stringToHeap:function(p_str,p_ptr,p_len){return stringToUTF8Array(p_str,HEAP8,p_ptr,p_len)}};var GodotConfig={canvas:null,locale:"en",canvas_resize_policy:2,virtual_keyboard:false,persistent_drops:false,on_execute:null,on_exit:null,init_config:function(p_opts){GodotConfig.canvas_resize_policy=p_opts["canvasResizePolicy"];GodotConfig.canvas=p_opts["canvas"];GodotConfig.locale=p_opts["locale"]||GodotConfig.locale;GodotConfig.virtual_keyboard=p_opts["virtualKeyboard"];GodotConfig.persistent_drops=!!p_opts["persistentDrops"];GodotConfig.on_execute=p_opts["onExecute"];GodotConfig.on_exit=p_opts["onExit"];if(p_opts["focusCanvas"]){GodotConfig.canvas.focus()}},locate_file:function(file){return Module["locateFile"](file)},clear:function(){GodotConfig.canvas=null;GodotConfig.locale="en";GodotConfig.canvas_resize_policy=2;GodotConfig.virtual_keyboard=false;GodotConfig.persistent_drops=false;GodotConfig.on_execute=null;GodotConfig.on_exit=null}};var GodotFS={ENOENT:44,_idbfs:false,_syncing:false,_mount_points:[],is_persistent:function(){return GodotFS._idbfs?1:0},init:function(persistentPaths){GodotFS._idbfs=false;if(!Array.isArray(persistentPaths)){return Promise.reject(new Error("Persistent paths must be an array"))}if(!persistentPaths.length){return Promise.resolve()}GodotFS._mount_points=persistentPaths.slice();function createRecursive(dir){try{FS.stat(dir)}catch(e){if(e.errno!==GodotFS.ENOENT){GodotRuntime.error(e)}FS.mkdirTree(dir)}}GodotFS._mount_points.forEach(function(path){createRecursive(path);FS.mount(IDBFS,{},path)});return new Promise(function(resolve,reject){FS.syncfs(true,function(err){if(err){GodotFS._mount_points=[];GodotFS._idbfs=false;GodotRuntime.print(`IndexedDB not available: ${err.message}`)}else{GodotFS._idbfs=true}resolve(err)})})},deinit:function(){GodotFS._mount_points.forEach(function(path){try{FS.unmount(path)}catch(e){GodotRuntime.print("Already unmounted",e)}if(GodotFS._idbfs&&IDBFS.dbs[path]){IDBFS.dbs[path].close();delete IDBFS.dbs[path]}});GodotFS._mount_points=[];GodotFS._idbfs=false;GodotFS._syncing=false},sync:function(){if(GodotFS._syncing){GodotRuntime.error("Already syncing!");return Promise.resolve()}GodotFS._syncing=true;return new Promise(function(resolve,reject){FS.syncfs(false,function(error){if(error){GodotRuntime.error(`Failed to save IDB file system: ${error.message}`)}GodotFS._syncing=false;resolve(error)})})},copy_to_fs:function(path,buffer){const idx=path.lastIndexOf("/");let dir="/";if(idx>0){dir=path.slice(0,idx)}try{FS.stat(dir)}catch(e){if(e.errno!==GodotFS.ENOENT){GodotRuntime.error(e)}FS.mkdirTree(dir)}FS.writeFile(path,new Uint8Array(buffer))}};var GodotOS={request_quit:function(){},_async_cbs:[],_fs_sync_promise:null,atexit:function(p_promise_cb){GodotOS._async_cbs.push(p_promise_cb)},cleanup:function(exit_code){const cb=GodotConfig.on_exit;GodotFS.deinit();GodotConfig.clear();if(cb){cb(exit_code)}},finish_async:function(callback){GodotOS._fs_sync_promise.then(function(err){const promises=[];GodotOS._async_cbs.forEach(function(cb){promises.push(new Promise(cb))});return Promise.all(promises)}).then(function(){return GodotFS.sync()}).then(function(err){setTimeout(function(){callback()},0)})}};var GodotAudio={MAX_VOLUME_CHANNELS:8,GodotChannel:{CHANNEL_L:0,CHANNEL_R:1,CHANNEL_C:3,CHANNEL_LFE:4,CHANNEL_RL:5,CHANNEL_RR:6,CHANNEL_SL:7,CHANNEL_SR:8},WebChannel:{CHANNEL_L:0,CHANNEL_R:1,CHANNEL_SL:2,CHANNEL_SR:3,CHANNEL_C:4,CHANNEL_LFE:5},samples:null,Sample:class Sample{static getSample(id){if(!GodotAudio.samples.has(id)){throw new ReferenceError(`Could not find sample "${id}"`)}return GodotAudio.samples.get(id)}static getSampleOrNull(id){return GodotAudio.samples.get(id)??null}static create(params,options={}){const sample=new GodotAudio.Sample(params,options);GodotAudio.samples.set(params.id,sample);return sample}static delete(id){GodotAudio.samples.delete(id)}constructor(params,options={}){this.id=params.id;this._audioBuffer=null;this.numberOfChannels=options.numberOfChannels??2;this.sampleRate=options.sampleRate??44100;this.loopMode=options.loopMode??"disabled";this.loopBegin=options.loopBegin??0;this.loopEnd=options.loopEnd??0;this.setAudioBuffer(params.audioBuffer)}getAudioBuffer(){return this._duplicateAudioBuffer()}setAudioBuffer(val){this._audioBuffer=val}clear(){this.setAudioBuffer(null);GodotAudio.Sample.delete(this.id)}_duplicateAudioBuffer(){if(this._audioBuffer==null){throw new Error("couldn't duplicate a null audioBuffer")}const channels=new Array(this._audioBuffer.numberOfChannels);for(let i=0;i{const newErr=new Error("Failed to create PositionWorklet.");newErr.cause=err;GodotRuntime.error(newErr)})}getPlaybackRate(){return this._playbackRate}getPlaybackPosition(){return this._playbackPosition}setPlaybackRate(val){this._playbackRate=val;this._syncPlaybackRate()}getPitchScale(){return this._pitchScale}setPitchScale(val){this._pitchScale=val;this._syncPlaybackRate()}getSample(){return GodotAudio.Sample.getSample(this.streamObjectId)}getOutputNode(){return this._source}start(){if(this.isStarted){return}this._resetSourceStartTime();this._source.start(this.startTime,this.offset);this.isStarted=true}stop(){this.clear()}restart(){this.isPaused=false;this.pauseTime=0;this._resetSourceStartTime();this._restart()}pause(enable=true){if(enable){this._pause();return}this._unpause()}connect(node){return this.getOutputNode().connect(node)}setVolumes(buses,volumes){for(let busIdx=0;busIdx{switch(event.data["type"]){case"position":this._playbackPosition=parseInt(event.data.data,10)/this.getSample().sampleRate+this.offset;break;default:}};return this._positionWorklet}clear(){this.isCanceled=true;this.isPaused=false;this.pauseTime=0;if(this._source!=null){this._source.removeEventListener("ended",this._onended);this._onended=null;if(this.isStarted){this._source.stop()}this._source.disconnect();this._source=null}for(const sampleNodeBus of this._sampleNodeBuses.values()){sampleNodeBus.clear()}this._sampleNodeBuses.clear();if(this._positionWorklet){this._positionWorklet.disconnect();this._positionWorklet.port.onmessage=null;this._positionWorklet.port.postMessage({type:"ended"});this._positionWorklet=null}GodotAudio.SampleNode.delete(this.id)}_resetSourceStartTime(){this._sourceStartTime=GodotAudio.ctx.currentTime}_syncPlaybackRate(){this._source.playbackRate.value=this.getPlaybackRate()*this.getPitchScale()}_restart(){if(this._source!=null){this._source.disconnect()}this._source=GodotAudio.ctx.createBufferSource();this._source.buffer=this.getSample().getAudioBuffer();for(const sampleNodeBus of this._sampleNodeBuses.values()){this.connect(sampleNodeBus.getInputNode())}this._addEndedListener();const pauseTime=this.isPaused?this.pauseTime:0;if(this._positionWorklet!=null){this._positionWorklet.port.postMessage({type:"clear"});this._source.connect(this._positionWorklet)}this._source.start(this.startTime,this.offset+pauseTime);this.isStarted=true}_pause(){if(!this.isStarted){return}this.isPaused=true;this.pauseTime=(GodotAudio.ctx.currentTime-this._sourceStartTime)/this.getPlaybackRate();this._source.stop()}_unpause(){this._restart();this.isPaused=false;this.pauseTime=0}_addEndedListener(){if(this._onended!=null){this._source.removeEventListener("ended",this._onended)}const self=this;this._onended=_=>{if(self.isPaused){return}switch(self.getSample().loopMode){case"disabled":{const id=this.id;self.stop();if(GodotAudio.sampleFinishedCallback!=null){const idCharPtr=GodotRuntime.allocString(id);GodotAudio.sampleFinishedCallback(idCharPtr);GodotRuntime.free(idCharPtr)}}break;case"forward":case"backward":self.restart();break;default:}};this._source.addEventListener("ended",this._onended)}},buses:null,busSolo:null,Bus:class Bus{static getCount(){return GodotAudio.buses.length}static setCount(val){const buses=GodotAudio.buses;if(val===buses.length){return}if(val=GodotAudio.buses.length){throw new ReferenceError(`invalid bus index "${index}"`)}return GodotAudio.buses[index]}static getBusOrNull(index){if(index<0||index>=GodotAudio.buses.length){return null}return GodotAudio.buses[index]}static move(fromIndex,toIndex){const movedBus=GodotAudio.Bus.getBusOrNull(fromIndex);if(movedBus==null){return}const buses=GodotAudio.buses.filter((_,i)=>i!==fromIndex);buses.splice(toIndex-1,0,movedBus);GodotAudio.buses=buses}static addAt(index){const newBus=GodotAudio.Bus.create();if(index!==newBus.getId()){GodotAudio.Bus.move(newBus.getId(),index)}}static create(){const newBus=new GodotAudio.Bus;const isFirstBus=GodotAudio.buses.length===0;GodotAudio.buses.push(newBus);if(isFirstBus){newBus.setSend(null)}else{newBus.setSend(GodotAudio.Bus.getBus(0))}return newBus}constructor(){this._sampleNodes=new Set;this.isSolo=false;this._send=null;this._gainNode=GodotAudio.ctx.createGain();this._soloNode=GodotAudio.ctx.createGain();this._muteNode=GodotAudio.ctx.createGain();this._gainNode.connect(this._soloNode).connect(this._muteNode)}getId(){return GodotAudio.buses.indexOf(this)}getVolumeDb(){return GodotAudio.linear_to_db(this._gainNode.gain.value)}setVolumeDb(val){const linear=GodotAudio.db_to_linear(val);if(isFinite(linear)){this._gainNode.gain.value=linear}}getSend(){return this._send}setSend(val){this._send=val;if(val==null){if(this.getId()==0){this.getOutputNode().connect(GodotAudio.ctx.destination);return}throw new Error(`Cannot send to "${val}" without the bus being at index 0 (current index: ${this.getId()})`)}this.connect(val)}getInputNode(){return this._gainNode}getOutputNode(){return this._muteNode}mute(enable){this._muteNode.gain.value=enable?0:1}solo(enable){if(this.isSolo===enable){return}if(enable){if(GodotAudio.busSolo!=null&&GodotAudio.busSolo!==this){GodotAudio.busSolo._disableSolo()}this._enableSolo();return}this._disableSolo()}addSampleNode(sampleNode){this._sampleNodes.add(sampleNode);sampleNode.getOutputNode().connect(this.getInputNode())}removeSampleNode(sampleNode){this._sampleNodes.delete(sampleNode);sampleNode.getOutputNode().disconnect()}connect(bus){if(bus==null){throw new Error("cannot connect to null bus")}this.getOutputNode().disconnect();this.getOutputNode().connect(bus.getInputNode());return bus}clear(){GodotAudio.buses=GodotAudio.buses.filter(v=>v!==this)}_syncSampleNodes(){const sampleNodes=Array.from(this._sampleNodes);for(let i=0;iotherBus!==this);for(let i=0;iotherBus!==this);for(let i=0;iGodotAudio.Bus.getBus(busIndex));sampleNode.setVolumes(buses,volumes)},set_sample_bus_count:function(count){GodotAudio.Bus.setCount(count)},remove_sample_bus:function(index){const bus=GodotAudio.Bus.getBusOrNull(index);if(bus==null){return}bus.clear()},add_sample_bus:function(atPos){GodotAudio.Bus.addAt(atPos)},move_sample_bus:function(busIndex,toPos){GodotAudio.Bus.move(busIndex,toPos)},set_sample_bus_send:function(busIndex,sendIndex){const bus=GodotAudio.Bus.getBusOrNull(busIndex);if(bus==null){return}let targetBus=GodotAudio.Bus.getBusOrNull(sendIndex);if(targetBus==null){targetBus=GodotAudio.Bus.getBus(0)}bus.setSend(targetBus)},set_sample_bus_volume_db:function(busIndex,volumeDb){const bus=GodotAudio.Bus.getBusOrNull(busIndex);if(bus==null){return}bus.setVolumeDb(volumeDb)},set_sample_bus_solo:function(busIndex,enable){const bus=GodotAudio.Bus.getBusOrNull(busIndex);if(bus==null){return}bus.solo(enable)},set_sample_bus_mute:function(busIndex,enable){const bus=GodotAudio.Bus.getBusOrNull(busIndex);if(bus==null){return}bus.mute(enable)}};function _godot_audio_get_sample_playback_position(playbackObjectIdStrPtr){const playbackObjectId=GodotRuntime.parseString(playbackObjectIdStrPtr);const sampleNode=GodotAudio.SampleNode.getSampleNodeOrNull(playbackObjectId);if(sampleNode==null){return 0}return sampleNode.getPlaybackPosition()}function _godot_audio_has_script_processor(){return GodotAudio.ctx&&GodotAudio.ctx.createScriptProcessor?1:0}function _godot_audio_has_worklet(){return GodotAudio.ctx&&GodotAudio.ctx.audioWorklet?1:0}function _godot_audio_init(p_mix_rate,p_latency,p_state_change,p_latency_update){const statechange=GodotRuntime.get_func(p_state_change);const latencyupdate=GodotRuntime.get_func(p_latency_update);const mix_rate=GodotRuntime.getHeapValue(p_mix_rate,"i32");const channels=GodotAudio.init(mix_rate,p_latency,statechange,latencyupdate);GodotRuntime.setHeapValue(p_mix_rate,GodotAudio.ctx.sampleRate,"i32");return channels}function _godot_audio_input_start(){return GodotAudio.create_input(function(input){input.connect(GodotAudio.driver.get_node())})}function _godot_audio_input_stop(){if(GodotAudio.input){const tracks=GodotAudio.input["mediaStream"]["getTracks"]();for(let i=0;i=size){const high=size-wpos;wbuf.set(buffer.subarray(wpos,size));pending_samples-=high;wpos=0}if(pending_samples>0){wbuf.set(buffer.subarray(wpos,wpos+pending_samples),tot_sent-pending_samples)}port.postMessage({cmd:"chunk",data:wbuf.subarray(0,tot_sent)});wpos+=pending_samples;pending_samples=0}this.receive=function(recv_buf){const buffer=GodotRuntime.heapSub(HEAPF32,p_in_buf,p_in_size);const from=rpos;let to_write=recv_buf.length;let high=0;if(rpos+to_write>=p_in_size){high=p_in_size-rpos;buffer.set(recv_buf.subarray(0,high),rpos);to_write-=high;rpos=0}if(to_write){buffer.set(recv_buf.subarray(high,to_write),rpos)}in_callback(from,recv_buf.length);rpos+=to_write};this.consumed=function(size,port){pending_samples+=size;send(port)}}GodotAudioWorklet.ring_buffer=new RingBuffer;GodotAudioWorklet.promise.then(function(){const node=GodotAudioWorklet.worklet;const buffer=GodotRuntime.heapSlice(HEAPF32,p_out_buf,p_out_size);node.connect(GodotAudio.ctx.destination);node.port.postMessage({cmd:"start_nothreads",data:[buffer,p_in_size]});node.port.onmessage=function(event){if(!GodotAudioWorklet.worklet){return}if(event.data["cmd"]==="read"){const read=event.data["data"];GodotAudioWorklet.ring_buffer.consumed(read,GodotAudioWorklet.worklet.port)}else if(event.data["cmd"]==="input"){const buf=event.data["data"];if(buf.length>p_in_size){GodotRuntime.error("Input chunk is too big");return}GodotAudioWorklet.ring_buffer.receive(buf)}else{GodotRuntime.error(event.data)}}})},get_node:function(){return GodotAudioWorklet.worklet},close:function(){return new Promise(function(resolve,reject){if(GodotAudioWorklet.promise===null){return}const p=GodotAudioWorklet.promise;p.then(function(){GodotAudioWorklet.worklet.port.postMessage({cmd:"stop",data:null});GodotAudioWorklet.worklet.disconnect();GodotAudioWorklet.worklet.port.onmessage=null;GodotAudioWorklet.worklet=null;GodotAudioWorklet.promise=null;resolve()}).catch(function(err){GodotRuntime.error(err)})})}};function _godot_audio_worklet_create(channels){try{GodotAudioWorklet.create(channels)}catch(e){GodotRuntime.error("Error starting AudioDriverWorklet",e);return 1}return 0}function _godot_audio_worklet_start_no_threads(p_out_buf,p_out_size,p_out_callback,p_in_buf,p_in_size,p_in_callback){const out_callback=GodotRuntime.get_func(p_out_callback);const in_callback=GodotRuntime.get_func(p_in_callback);GodotAudioWorklet.start_no_threads(p_out_buf,p_out_size,out_callback,p_in_buf,p_in_size,in_callback)}function _godot_js_config_canvas_id_get(p_ptr,p_ptr_max){GodotRuntime.stringToHeap(`#${GodotConfig.canvas.id}`,p_ptr,p_ptr_max)}function _godot_js_config_locale_get(p_ptr,p_ptr_max){GodotRuntime.stringToHeap(GodotConfig.locale,p_ptr,p_ptr_max)}var GodotDisplayCursor={shape:"default",visible:true,cursors:{},set_style:function(style){GodotConfig.canvas.style.cursor=style},set_shape:function(shape){GodotDisplayCursor.shape=shape;let css=shape;if(shape in GodotDisplayCursor.cursors){const c=GodotDisplayCursor.cursors[shape];css=`url("${c.url}") ${c.x} ${c.y}, default`}if(GodotDisplayCursor.visible){GodotDisplayCursor.set_style(css)}},clear:function(){GodotDisplayCursor.set_style("");GodotDisplayCursor.shape="default";GodotDisplayCursor.visible=true;Object.keys(GodotDisplayCursor.cursors).forEach(function(key){URL.revokeObjectURL(GodotDisplayCursor.cursors[key]);delete GodotDisplayCursor.cursors[key]})},lockPointer:function(){const canvas=GodotConfig.canvas;if(canvas.requestPointerLock){canvas.requestPointerLock()}},releasePointer:function(){if(document.exitPointerLock){document.exitPointerLock()}},isPointerLocked:function(){return document.pointerLockElement===GodotConfig.canvas}};var GodotEventListeners={handlers:[],has:function(target,event,method,capture){return GodotEventListeners.handlers.findIndex(function(e){return e.target===target&&e.event===event&&e.method===method&&e.capture===capture})!==-1},add:function(target,event,method,capture){if(GodotEventListeners.has(target,event,method,capture)){return}function Handler(p_target,p_event,p_method,p_capture){this.target=p_target;this.event=p_event;this.method=p_method;this.capture=p_capture}GodotEventListeners.handlers.push(new Handler(target,event,method,capture));target.addEventListener(event,method,capture)},clear:function(){GodotEventListeners.handlers.forEach(function(h){h.target.removeEventListener(h.event,h.method,h.capture)});GodotEventListeners.handlers.length=0}};var _emscripten_webgl_do_get_current_context=()=>GL.currentContext?GL.currentContext.handle:0;var _emscripten_webgl_get_current_context=_emscripten_webgl_do_get_current_context;var GodotDisplayScreen={desired_size:[0,0],hidpi:true,getPixelRatio:function(){return GodotDisplayScreen.hidpi?window.devicePixelRatio||1:1},isFullscreen:function(){const elem=document.fullscreenElement||document.mozFullscreenElement||document.webkitFullscreenElement||document.msFullscreenElement;if(elem){return elem===GodotConfig.canvas}return document.fullscreen||document.mozFullScreen||document.webkitIsFullscreen},hasFullscreen:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled},requestFullscreen:function(){if(!GodotDisplayScreen.hasFullscreen()){return 1}const canvas=GodotConfig.canvas;try{const promise=(canvas.requestFullscreen||canvas.msRequestFullscreen||canvas.mozRequestFullScreen||canvas.mozRequestFullscreen||canvas.webkitRequestFullscreen).call(canvas);if(promise){promise.catch(function(){})}}catch(e){return 1}return 0},exitFullscreen:function(){if(!GodotDisplayScreen.isFullscreen()){return 0}try{const promise=document.exitFullscreen();if(promise){promise.catch(function(){})}}catch(e){return 1}return 0},_updateGL:function(){const gl_context_handle=_emscripten_webgl_get_current_context();const gl=GL.getContext(gl_context_handle);if(gl){GL.resizeOffscreenFramebuffer(gl)}},updateSize:function(){const isFullscreen=GodotDisplayScreen.isFullscreen();const wantsFullWindow=GodotConfig.canvas_resize_policy===2;const noResize=GodotConfig.canvas_resize_policy===0;const dWidth=GodotDisplayScreen.desired_size[0];const dHeight=GodotDisplayScreen.desired_size[1];const canvas=GodotConfig.canvas;let width=dWidth;let height=dHeight;if(noResize){if(canvas.width!==width||canvas.height!==height){GodotDisplayScreen.desired_size=[canvas.width,canvas.height];GodotDisplayScreen._updateGL();return 1}return 0}const scale=GodotDisplayScreen.getPixelRatio();if(isFullscreen||wantsFullWindow){width=window.innerWidth*scale;height=window.innerHeight*scale}const csw=`${width/scale}px`;const csh=`${height/scale}px`;if(canvas.style.width!==csw||canvas.style.height!==csh||canvas.width!==width||canvas.height!==height){canvas.width=width;canvas.height=height;canvas.style.width=csw;canvas.style.height=csh;GodotDisplayScreen._updateGL();return 1}return 0}};var GodotDisplayVK={textinput:null,textarea:null,available:function(){return GodotConfig.virtual_keyboard&&"ontouchstart"in window},init:function(input_cb){function create(what){const elem=document.createElement(what);elem.style.display="none";elem.style.position="absolute";elem.style.zIndex="-1";elem.style.background="transparent";elem.style.padding="0px";elem.style.margin="0px";elem.style.overflow="hidden";elem.style.width="0px";elem.style.height="0px";elem.style.border="0px";elem.style.outline="none";elem.readonly=true;elem.disabled=true;GodotEventListeners.add(elem,"input",function(evt){const c_str=GodotRuntime.allocString(elem.value);input_cb(c_str,elem.selectionEnd);GodotRuntime.free(c_str)},false);GodotEventListeners.add(elem,"blur",function(evt){elem.style.display="none";elem.readonly=true;elem.disabled=true},false);GodotConfig.canvas.insertAdjacentElement("beforebegin",elem);return elem}GodotDisplayVK.textinput=create("input");GodotDisplayVK.textarea=create("textarea");GodotDisplayVK.updateSize()},show:function(text,type,start,end){if(!GodotDisplayVK.textinput||!GodotDisplayVK.textarea){return}if(GodotDisplayVK.textinput.style.display!==""||GodotDisplayVK.textarea.style.display!==""){GodotDisplayVK.hide()}GodotDisplayVK.updateSize();let elem=GodotDisplayVK.textinput;switch(type){case 0:elem.type="text";elem.inputmode="";break;case 1:elem=GodotDisplayVK.textarea;break;case 2:elem.type="text";elem.inputmode="numeric";break;case 3:elem.type="text";elem.inputmode="decimal";break;case 4:elem.type="tel";elem.inputmode="";break;case 5:elem.type="email";elem.inputmode="";break;case 6:elem.type="password";elem.inputmode="";break;case 7:elem.type="url";elem.inputmode="";break;default:elem.type="text";elem.inputmode="";break}elem.readonly=false;elem.disabled=false;elem.value=text;elem.style.display="block";elem.focus();elem.setSelectionRange(start,end)},hide:function(){if(!GodotDisplayVK.textinput||!GodotDisplayVK.textarea){return}[GodotDisplayVK.textinput,GodotDisplayVK.textarea].forEach(function(elem){elem.blur();elem.style.display="none";elem.value=""})},updateSize:function(){if(!GodotDisplayVK.textinput||!GodotDisplayVK.textarea){return}const rect=GodotConfig.canvas.getBoundingClientRect();function update(elem){elem.style.left=`${rect.left}px`;elem.style.top=`${rect.top}px`;elem.style.width=`${rect.width}px`;elem.style.height=`${rect.height}px`}update(GodotDisplayVK.textinput);update(GodotDisplayVK.textarea)},clear:function(){if(GodotDisplayVK.textinput){GodotDisplayVK.textinput.remove();GodotDisplayVK.textinput=null}if(GodotDisplayVK.textarea){GodotDisplayVK.textarea.remove();GodotDisplayVK.textarea=null}}};var GodotDisplay={window_icon:"",getDPI:function(){const dpi=Math.round(window.devicePixelRatio*96);return dpi>=96?dpi:96}};function _godot_js_display_alert(p_text){window.alert(GodotRuntime.parseString(p_text))}function _godot_js_display_canvas_focus(){GodotConfig.canvas.focus()}function _godot_js_display_canvas_is_focused(){return document.activeElement===GodotConfig.canvas}function _godot_js_display_clipboard_get(callback){const func=GodotRuntime.get_func(callback);try{navigator.clipboard.readText().then(function(result){const ptr=GodotRuntime.allocString(result);func(ptr);GodotRuntime.free(ptr)}).catch(function(e){})}catch(e){}}function _godot_js_display_clipboard_set(p_text){const text=GodotRuntime.parseString(p_text);if(!navigator.clipboard||!navigator.clipboard.writeText){return 1}navigator.clipboard.writeText(text).catch(function(e){GodotRuntime.error("Setting OS clipboard is only possible from an input callback for the Web platform. Exception:",e)});return 0}function _godot_js_display_cursor_is_hidden(){return!GodotDisplayCursor.visible}function _godot_js_display_cursor_is_locked(){return GodotDisplayCursor.isPointerLocked()?1:0}function _godot_js_display_cursor_lock_set(p_lock){if(p_lock){GodotDisplayCursor.lockPointer()}else{GodotDisplayCursor.releasePointer()}}function _godot_js_display_cursor_set_custom_shape(p_shape,p_ptr,p_len,p_hotspot_x,p_hotspot_y){const shape=GodotRuntime.parseString(p_shape);const old_shape=GodotDisplayCursor.cursors[shape];if(p_len>0){const png=new Blob([GodotRuntime.heapSlice(HEAPU8,p_ptr,p_len)],{type:"image/png"});const url=URL.createObjectURL(png);GodotDisplayCursor.cursors[shape]={url:url,x:p_hotspot_x,y:p_hotspot_y}}else{delete GodotDisplayCursor.cursors[shape]}if(shape===GodotDisplayCursor.shape){GodotDisplayCursor.set_shape(GodotDisplayCursor.shape)}if(old_shape){URL.revokeObjectURL(old_shape.url)}}function _godot_js_display_cursor_set_shape(p_string){GodotDisplayCursor.set_shape(GodotRuntime.parseString(p_string))}function _godot_js_display_cursor_set_visible(p_visible){const visible=p_visible!==0;if(visible===GodotDisplayCursor.visible){return}GodotDisplayCursor.visible=visible;if(visible){GodotDisplayCursor.set_shape(GodotDisplayCursor.shape)}else{GodotDisplayCursor.set_style("none")}}function _godot_js_display_desired_size_set(width,height){GodotDisplayScreen.desired_size=[width,height];GodotDisplayScreen.updateSize()}function _godot_js_display_fullscreen_cb(callback){const canvas=GodotConfig.canvas;const func=GodotRuntime.get_func(callback);function change_cb(evt){if(evt.target===canvas){func(GodotDisplayScreen.isFullscreen())}}GodotEventListeners.add(document,"fullscreenchange",change_cb,false);GodotEventListeners.add(document,"mozfullscreenchange",change_cb,false);GodotEventListeners.add(document,"webkitfullscreenchange",change_cb,false)}function _godot_js_display_fullscreen_exit(){return GodotDisplayScreen.exitFullscreen()}function _godot_js_display_fullscreen_request(){return GodotDisplayScreen.requestFullscreen()}function _godot_js_display_has_webgl(p_version){if(p_version!==1&&p_version!==2){return false}try{return!!document.createElement("canvas").getContext(p_version===2?"webgl2":"webgl")}catch(e){}return false}function _godot_js_display_is_swap_ok_cancel(){const win=["Windows","Win64","Win32","WinCE"];const plat=navigator.platform||"";if(win.indexOf(plat)!==-1){return 1}return 0}function _godot_js_display_notification_cb(callback,p_enter,p_exit,p_in,p_out){const canvas=GodotConfig.canvas;const func=GodotRuntime.get_func(callback);const notif=[p_enter,p_exit,p_in,p_out];["mouseover","mouseleave","focus","blur"].forEach(function(evt_name,idx){GodotEventListeners.add(canvas,evt_name,function(){func(notif[idx])},true)})}function _godot_js_display_pixel_ratio_get(){return GodotDisplayScreen.getPixelRatio()}function _godot_js_display_screen_dpi_get(){return GodotDisplay.getDPI()}function _godot_js_display_screen_size_get(width,height){const scale=GodotDisplayScreen.getPixelRatio();GodotRuntime.setHeapValue(width,window.screen.width*scale,"i32");GodotRuntime.setHeapValue(height,window.screen.height*scale,"i32")}function _godot_js_display_setup_canvas(p_width,p_height,p_fullscreen,p_hidpi){const canvas=GodotConfig.canvas;GodotEventListeners.add(canvas,"contextmenu",function(ev){ev.preventDefault()},false);GodotEventListeners.add(canvas,"webglcontextlost",function(ev){alert("WebGL context lost, please reload the page");ev.preventDefault()},false);GodotDisplayScreen.hidpi=!!p_hidpi;switch(GodotConfig.canvas_resize_policy){case 0:GodotDisplayScreen.desired_size=[canvas.width,canvas.height];break;case 1:GodotDisplayScreen.desired_size=[p_width,p_height];break;default:canvas.style.position="absolute";canvas.style.top=0;canvas.style.left=0;break}GodotDisplayScreen.updateSize();if(p_fullscreen){GodotDisplayScreen.requestFullscreen()}}function _godot_js_display_size_update(){const updated=GodotDisplayScreen.updateSize();if(updated){GodotDisplayVK.updateSize()}return updated}function _godot_js_display_touchscreen_is_available(){return"ontouchstart"in window}function _godot_js_display_tts_available(){return"speechSynthesis"in window}function _godot_js_display_vk_available(){return GodotDisplayVK.available()}function _godot_js_display_vk_cb(p_input_cb){const input_cb=GodotRuntime.get_func(p_input_cb);if(GodotDisplayVK.available()){GodotDisplayVK.init(input_cb)}}function _godot_js_display_vk_hide(){GodotDisplayVK.hide()}function _godot_js_display_vk_show(p_text,p_type,p_start,p_end){const text=GodotRuntime.parseString(p_text);const start=p_start>0?p_start:0;const end=p_end>0?p_end:start;GodotDisplayVK.show(text,p_type,start,end)}function _godot_js_display_window_blur_cb(callback){const func=GodotRuntime.get_func(callback);GodotEventListeners.add(window,"blur",function(){func()},false)}function _godot_js_display_window_icon_set(p_ptr,p_len){let link=document.getElementById("-gd-engine-icon");const old_icon=GodotDisplay.window_icon;if(p_ptr){if(link===null){link=document.createElement("link");link.rel="icon";link.id="-gd-engine-icon";document.head.appendChild(link)}const png=new Blob([GodotRuntime.heapSlice(HEAPU8,p_ptr,p_len)],{type:"image/png"});GodotDisplay.window_icon=URL.createObjectURL(png);link.href=GodotDisplay.window_icon}else{if(link){link.remove()}GodotDisplay.window_icon=null}if(old_icon){URL.revokeObjectURL(old_icon)}}function _godot_js_display_window_size_get(p_width,p_height){GodotRuntime.setHeapValue(p_width,GodotConfig.canvas.width,"i32");GodotRuntime.setHeapValue(p_height,GodotConfig.canvas.height,"i32")}function _godot_js_display_window_title_set(p_data){document.title=GodotRuntime.parseString(p_data)}function _godot_js_eval(p_js,p_use_global_ctx,p_union_ptr,p_byte_arr,p_byte_arr_write,p_callback){const js_code=GodotRuntime.parseString(p_js);let eval_ret=null;try{if(p_use_global_ctx){const global_eval=eval;eval_ret=global_eval(js_code)}else{eval_ret=eval(js_code)}}catch(e){GodotRuntime.error(e)}switch(typeof eval_ret){case"boolean":GodotRuntime.setHeapValue(p_union_ptr,eval_ret,"i32");return 1;case"number":GodotRuntime.setHeapValue(p_union_ptr,eval_ret,"double");return 3;case"string":GodotRuntime.setHeapValue(p_union_ptr,GodotRuntime.allocString(eval_ret),"*");return 4;case"object":if(eval_ret===null){break}if(ArrayBuffer.isView(eval_ret)&&!(eval_ret instanceof Uint8Array)){eval_ret=new Uint8Array(eval_ret.buffer)}else if(eval_ret instanceof ArrayBuffer){eval_ret=new Uint8Array(eval_ret)}if(eval_ret instanceof Uint8Array){const func=GodotRuntime.get_func(p_callback);const bytes_ptr=func(p_byte_arr,p_byte_arr_write,eval_ret.length);HEAPU8.set(eval_ret,bytes_ptr);return 29}break}return 0}var IDHandler={_last_id:0,_references:{},get:function(p_id){return IDHandler._references[p_id]},add:function(p_data){const id=++IDHandler._last_id;IDHandler._references[id]=p_data;return id},remove:function(p_id){delete IDHandler._references[p_id]}};var GodotFetch={onread:function(id,result){const obj=IDHandler.get(id);if(!obj){return}if(result.value){obj.chunks.push(result.value)}obj.reading=false;obj.done=result.done},onresponse:function(id,response){const obj=IDHandler.get(id);if(!obj){return}let chunked=false;response.headers.forEach(function(value,header){const v=value.toLowerCase().trim();const h=header.toLowerCase().trim();if(h==="transfer-encoding"&&v==="chunked"){chunked=true}});obj.status=response.status;obj.response=response;obj.reader=response.body?.getReader();obj.chunked=chunked},onerror:function(id,err){GodotRuntime.error(err);const obj=IDHandler.get(id);if(!obj){return}obj.error=err},create:function(method,url,headers,body){const obj={request:null,response:null,reader:null,error:null,done:false,reading:false,status:0,chunks:[]};const id=IDHandler.add(obj);const init={method:method,headers:headers,body:body};obj.request=fetch(url,init);obj.request.then(GodotFetch.onresponse.bind(null,id)).catch(GodotFetch.onerror.bind(null,id));return id},free:function(id){const obj=IDHandler.get(id);if(!obj){return}IDHandler.remove(id);if(!obj.request){return}obj.request.then(function(response){response.abort()}).catch(function(e){})},read:function(id){const obj=IDHandler.get(id);if(!obj){return}if(obj.reader&&!obj.reading){if(obj.done){obj.reader=null;return}obj.reading=true;obj.reader.read().then(GodotFetch.onread.bind(null,id)).catch(GodotFetch.onerror.bind(null,id))}else if(obj.reader==null&&obj.response.body==null){obj.reading=true;GodotFetch.onread(id,{value:undefined,done:true})}}};function _godot_js_fetch_create(p_method,p_url,p_headers,p_headers_size,p_body,p_body_size){const method=GodotRuntime.parseString(p_method);const url=GodotRuntime.parseString(p_url);const headers=GodotRuntime.parseStringArray(p_headers,p_headers_size);const body=p_body_size?GodotRuntime.heapSlice(HEAP8,p_body,p_body_size):null;return GodotFetch.create(method,url,headers.map(function(hv){const idx=hv.indexOf(":");if(idx<=0){return[]}return[hv.slice(0,idx).trim(),hv.slice(idx+1).trim()]}).filter(function(v){return v.length===2}),body)}function _godot_js_fetch_free(id){GodotFetch.free(id)}function _godot_js_fetch_http_status_get(p_id){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return 0}return obj.status}function _godot_js_fetch_is_chunked(p_id){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return-1}return obj.chunked?1:0}function _godot_js_fetch_read_chunk(p_id,p_buf,p_buf_size){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return 0}let to_read=p_buf_size;const chunks=obj.chunks;while(to_read&&chunks.length){const chunk=obj.chunks[0];if(chunk.length>to_read){GodotRuntime.heapCopy(HEAP8,chunk.slice(0,to_read),p_buf);chunks[0]=chunk.slice(to_read);to_read=0}else{GodotRuntime.heapCopy(HEAP8,chunk,p_buf);to_read-=chunk.length;chunks.pop()}}if(!chunks.length){GodotFetch.read(p_id)}return p_buf_size-to_read}function _godot_js_fetch_read_headers(p_id,p_parse_cb,p_ref){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return 1}const cb=GodotRuntime.get_func(p_parse_cb);const arr=[];obj.response.headers.forEach(function(v,h){arr.push(`${h}:${v}`)});const c_ptr=GodotRuntime.allocStringArray(arr);cb(arr.length,c_ptr,p_ref);GodotRuntime.freeStringArray(c_ptr,arr.length);return 0}function _godot_js_fetch_state_get(p_id){const obj=IDHandler.get(p_id);if(!obj){return-1}if(obj.error){return-1}if(!obj.response){return 0}if(obj.reader||obj.response.body==null&&!obj.done){return 1}if(obj.done){return 2}return-1}var GodotInputGamepads={samples:[],get_pads:function(){try{const pads=navigator.getGamepads();if(pads){return pads}return[]}catch(e){return[]}},get_samples:function(){return GodotInputGamepads.samples},get_sample:function(index){const samples=GodotInputGamepads.samples;return index=0){os="Android"}else if(ua.indexOf("Linux")>=0){os="Linux"}else if(ua.indexOf("iPhone")>=0){os="iOS"}else if(ua.indexOf("Macintosh")>=0){os="MacOSX"}else if(ua.indexOf("Windows")>=0){os="Windows"}const id=pad.id;const exp1=/vendor: ([0-9a-f]{4}) product: ([0-9a-f]{4})/i;const exp2=/^([0-9a-f]+)-([0-9a-f]+)-/i;let vendor="";let product="";if(exp1.test(id)){const match=exp1.exec(id);vendor=match[1].padStart(4,"0");product=match[2].padStart(4,"0")}else if(exp2.test(id)){const match=exp2.exec(id);vendor=match[1].padStart(4,"0");product=match[2].padStart(4,"0")}if(!vendor||!product){return`${os}Unknown`}return os+vendor+product}};var GodotInputDragDrop={promises:[],pending_files:[],add_entry:function(entry){if(entry.isDirectory){GodotInputDragDrop.add_dir(entry)}else if(entry.isFile){GodotInputDragDrop.add_file(entry)}else{GodotRuntime.error("Unrecognized entry...",entry)}},add_dir:function(entry){GodotInputDragDrop.promises.push(new Promise(function(resolve,reject){const reader=entry.createReader();reader.readEntries(function(entries){for(let i=0;i{const path=elem["path"];GodotFS.copy_to_fs(DROP+path,elem["data"]);let idx=path.indexOf("/");if(idx===-1){drops.push(DROP+path)}else{const sub=path.substr(0,idx);idx=sub.indexOf("/");if(idx<0&&drops.indexOf(DROP+sub)===-1){drops.push(DROP+sub)}}files.push(DROP+path)});GodotInputDragDrop.promises=[];GodotInputDragDrop.pending_files=[];callback(drops);if(GodotConfig.persistent_drops){GodotOS.atexit(function(resolve,reject){GodotInputDragDrop.remove_drop(files,DROP);resolve()})}else{GodotInputDragDrop.remove_drop(files,DROP)}})},remove_drop:function(files,drop_path){const dirs=[drop_path.substr(0,drop_path.length-1)];files.forEach(function(file){FS.unlink(file);let dir=file.replace(drop_path,"");let idx=dir.lastIndexOf("/");while(idx>0){dir=dir.substr(0,idx);if(dirs.indexOf(drop_path+dir)===-1){dirs.push(drop_path+dir)}idx=dir.lastIndexOf("/")}});dirs.sort(function(a,b){const al=(a.match(/\//g)||[]).length;const bl=(b.match(/\//g)||[]).length;if(al>bl){return-1}else if(al-1){clearFocusTimerInterval()}if(GodotIME.ime==null){return}GodotIME.active=active;if(active){GodotIME.ime.style.display="block";GodotIME.focusTimerIntervalId=setInterval(focusTimer,100)}else{GodotIME.ime.style.display="none";GodotConfig.canvas.focus()}},ime_position:function(x,y){if(GodotIME.ime==null){return}const canvas=GodotConfig.canvas;const rect=canvas.getBoundingClientRect();const rw=canvas.width/rect.width;const rh=canvas.height/rect.height;const clx=x/rw+rect.x;const cly=y/rh+rect.y;GodotIME.ime.style.left=`${clx}px`;GodotIME.ime.style.top=`${cly}px`},init:function(ime_cb,key_cb,code,key){function key_event_cb(pressed,evt){const modifiers=GodotIME.getModifiers(evt);GodotRuntime.stringToHeap(evt.code,code,32);GodotRuntime.stringToHeap(evt.key,key,32);key_cb(pressed,evt.repeat,modifiers);evt.preventDefault()}function ime_event_cb(event){if(GodotIME.ime==null){return}switch(event.type){case"compositionstart":ime_cb(0,null);GodotIME.ime.innerHTML="";break;case"compositionupdate":{const ptr=GodotRuntime.allocString(event.data);ime_cb(1,ptr);GodotRuntime.free(ptr)}break;case"compositionend":{const ptr=GodotRuntime.allocString(event.data);ime_cb(2,ptr);GodotRuntime.free(ptr);GodotIME.ime.innerHTML=""}break;default:}}const ime=document.createElement("div");ime.className="ime";ime.style.background="none";ime.style.opacity=0;ime.style.position="fixed";ime.style.textAlign="left";ime.style.fontSize="1px";ime.style.left="0px";ime.style.top="0px";ime.style.width="100%";ime.style.height="40px";ime.style.pointerEvents="none";ime.style.display="none";ime.contentEditable="true";GodotEventListeners.add(ime,"compositionstart",ime_event_cb,false);GodotEventListeners.add(ime,"compositionupdate",ime_event_cb,false);GodotEventListeners.add(ime,"compositionend",ime_event_cb,false);GodotEventListeners.add(ime,"keydown",key_event_cb.bind(null,1),false);GodotEventListeners.add(ime,"keyup",key_event_cb.bind(null,0),false);ime.onblur=function(){this.style.display="none";GodotConfig.canvas.focus();GodotIME.active=false};GodotConfig.canvas.parentElement.appendChild(ime);GodotIME.ime=ime},clear:function(){if(GodotIME.ime==null){return}if(GodotIME.focusTimerIntervalId>-1){clearInterval(GodotIME.focusTimerIntervalId);GodotIME.focusTimerIntervalId=-1}GodotIME.ime.remove();GodotIME.ime=null}};var GodotInput={getModifiers:function(evt){return evt.shiftKey+0+(evt.altKey+0<<1)+(evt.ctrlKey+0<<2)+(evt.metaKey+0<<3)},computePosition:function(evt,rect){const canvas=GodotConfig.canvas;const rw=canvas.width/rect.width;const rh=canvas.height/rect.height;const x=(evt.clientX-rect.x)*rw;const y=(evt.clientY-rect.y)*rh;return[x,y]}};function _godot_js_input_drop_files_cb(callback){const func=GodotRuntime.get_func(callback);const dropFiles=function(files){const args=files||[];if(!args.length){return}const argc=args.length;const argv=GodotRuntime.allocStringArray(args);func(argv,argc);GodotRuntime.freeStringArray(argv,argc)};const canvas=GodotConfig.canvas;GodotEventListeners.add(canvas,"dragover",function(ev){ev.preventDefault()},false);GodotEventListeners.add(canvas,"drop",GodotInputDragDrop.handler(dropFiles))}function _godot_js_input_gamepad_cb(change_cb){const onchange=GodotRuntime.get_func(change_cb);GodotInputGamepads.init(onchange)}function _godot_js_input_gamepad_sample(){GodotInputGamepads.sample();return 0}function _godot_js_input_gamepad_sample_count(){return GodotInputGamepads.get_samples().length}function _godot_js_input_gamepad_sample_get(p_index,r_btns,r_btns_num,r_axes,r_axes_num,r_standard){const sample=GodotInputGamepads.get_sample(p_index);if(!sample||!sample.connected){return 1}const btns=sample.buttons;const btns_len=btns.length<16?btns.length:16;for(let i=0;i{const inputs=[...midi.inputs.values()];const inputNames=inputs.map(input=>input.name);const c_ptr=GodotRuntime.allocStringArray(inputNames);setInputNamesCb(inputNames.length,c_ptr);GodotRuntime.freeStringArray(c_ptr,inputNames.length);inputs.forEach((input,i)=>{const abortController=new AbortController;GodotWebMidi.abortControllers.push(abortController);input.addEventListener("midimessage",event=>{const status=event.data[0];const data=event.data.slice(1);const size=data.length;if(size>dataBufferLen){throw new Error(`data too big ${size} > ${dataBufferLen}`)}HEAPU8.set(data,pDataBuffer);onMidiMessageCb(i,status,pDataBuffer,data.length)},{signal:abortController.signal})})});return 0}var GodotWebSocket={_onopen:function(p_id,callback,event){const ref=IDHandler.get(p_id);if(!ref){return}const c_str=GodotRuntime.allocString(ref.protocol);callback(c_str);GodotRuntime.free(c_str)},_onmessage:function(p_id,callback,event){const ref=IDHandler.get(p_id);if(!ref){return}let buffer;let is_string=0;if(event.data instanceof ArrayBuffer){buffer=new Uint8Array(event.data)}else if(event.data instanceof Blob){GodotRuntime.error("Blob type not supported");return}else if(typeof event.data==="string"){is_string=1;const enc=new TextEncoder("utf-8");buffer=new Uint8Array(enc.encode(event.data))}else{GodotRuntime.error("Unknown message type");return}const len=buffer.length*buffer.BYTES_PER_ELEMENT;const out=GodotRuntime.malloc(len);HEAPU8.set(buffer,out);callback(out,len,is_string);GodotRuntime.free(out)},_onerror:function(p_id,callback,event){const ref=IDHandler.get(p_id);if(!ref){return}callback()},_onclose:function(p_id,callback,event){const ref=IDHandler.get(p_id);if(!ref){return}const c_str=GodotRuntime.allocString(event.reason);callback(event.code,c_str,event.wasClean?1:0);GodotRuntime.free(c_str)},send:function(p_id,p_data){const ref=IDHandler.get(p_id);if(!ref||ref.readyState!==ref.OPEN){return 1}ref.send(p_data);return 0},bufferedAmount:function(p_id){const ref=IDHandler.get(p_id);if(!ref){return 0}return ref.bufferedAmount},create:function(socket,p_on_open,p_on_message,p_on_error,p_on_close){const id=IDHandler.add(socket);socket.onopen=GodotWebSocket._onopen.bind(null,id,p_on_open);socket.onmessage=GodotWebSocket._onmessage.bind(null,id,p_on_message);socket.onerror=GodotWebSocket._onerror.bind(null,id,p_on_error);socket.onclose=GodotWebSocket._onclose.bind(null,id,p_on_close);return id},close:function(p_id,p_code,p_reason){const ref=IDHandler.get(p_id);if(ref&&ref.readyState=Number.MIN_SAFE_INTEGER&&heap_value<=Number.MAX_SAFE_INTEGER?Number(heap_value):heap_value}case 3:return Number(GodotRuntime.getHeapValue(val,"double"));case 4:return GodotRuntime.parseString(GodotRuntime.getHeapValue(val,"*"));case 24:return GodotJSWrapper.get_proxied_value(GodotRuntime.getHeapValue(val,"i64"));default:return undefined}},js2variant:function(p_val,p_exchange){if(p_val===undefined||p_val===null){return 0}const type=typeof p_val;if(type==="boolean"){GodotRuntime.setHeapValue(p_exchange,p_val,"i64");return 1}else if(type==="number"){if(Number.isInteger(p_val)){GodotRuntime.setHeapValue(p_exchange,p_val,"i64");return 2}GodotRuntime.setHeapValue(p_exchange,p_val,"double");return 3}else if(type==="bigint"){GodotRuntime.setHeapValue(p_exchange,p_val,"i64");return 2}else if(type==="string"){const c_str=GodotRuntime.allocString(p_val);GodotRuntime.setHeapValue(p_exchange,c_str,"*");return 4}const id=GodotJSWrapper.get_proxied(p_val);GodotRuntime.setHeapValue(p_exchange,id,"i64");return 24},isBuffer:function(obj){return obj instanceof ArrayBuffer||ArrayBuffer.isView(obj)}};function _godot_js_wrapper_create_cb(p_ref,p_func){const func=GodotRuntime.get_func(p_func);let id=0;const cb=function(){if(!GodotJSWrapper.get_proxied_value(id)){return undefined}GodotJSWrapper.cb_ret=null;const args=Array.from(arguments);const argsProxy=new GodotJSWrapper.MyProxy(args);func(p_ref,argsProxy.get_id(),args.length);argsProxy.unref();const ret=GodotJSWrapper.cb_ret;GodotJSWrapper.cb_ret=null;return ret};id=GodotJSWrapper.get_proxied(cb);return id}function _godot_js_wrapper_create_object(p_object,p_args,p_argc,p_convert_callback,p_exchange,p_lock,p_free_lock_callback){const name=GodotRuntime.parseString(p_object);if(typeof window[name]==="undefined"){return-1}const convert=GodotRuntime.get_func(p_convert_callback);const freeLock=GodotRuntime.get_func(p_free_lock_callback);const args=new Array(p_argc);for(let i=0;i{if(GodotWebXR.session&&GodotWebXR.space){const onFrame=function(time,frame){GodotWebXR.frame=frame;GodotWebXR.pose=frame.getViewerPose(GodotWebXR.space);callback(time);GodotWebXR.frame=null;GodotWebXR.pose=null};GodotWebXR.session.requestAnimationFrame(onFrame)}else{GodotWebXR.orig_requestAnimationFrame(callback)}},monkeyPatchRequestAnimationFrame:enable=>{if(GodotWebXR.orig_requestAnimationFrame===null){GodotWebXR.orig_requestAnimationFrame=Browser.requestAnimationFrame}Browser.requestAnimationFrame=enable?GodotWebXR.requestAnimationFrame:GodotWebXR.orig_requestAnimationFrame},pauseResumeMainLoop:()=>{Browser.mainLoop.pause();runtimeKeepalivePush();window.setTimeout(function(){runtimeKeepalivePop();Browser.mainLoop.resume()},0)},getLayer:()=>{const new_view_count=GodotWebXR.pose?GodotWebXR.pose.views.length:1;let layer=GodotWebXR.layer;if(layer&&GodotWebXR.view_count===new_view_count){return layer}if(!GodotWebXR.session||!GodotWebXR.gl_binding){return null}const gl=GodotWebXR.gl;layer=GodotWebXR.gl_binding.createProjectionLayer({textureType:new_view_count>1?"texture-array":"texture",colorFormat:gl.RGBA8,depthFormat:gl.DEPTH_COMPONENT24});GodotWebXR.session.updateRenderState({layers:[layer]});GodotWebXR.layer=layer;GodotWebXR.view_count=new_view_count;return layer},getSubImage:()=>{if(!GodotWebXR.pose){return null}const layer=GodotWebXR.getLayer();if(layer===null){return null}return GodotWebXR.gl_binding.getViewSubImage(layer,GodotWebXR.pose.views[0])},getTextureId:texture=>{if(texture.name!==undefined){return texture.name}const id=GL.getNewId(GL.textures);texture.name=id;GL.textures[id]=texture;return id},addInputSource:input_source=>{let name=-1;if(input_source.targetRayMode==="tracked-pointer"&&input_source.handedness==="left"){name=0}else if(input_source.targetRayMode==="tracked-pointer"&&input_source.handedness==="right"){name=1}else{for(let i=2;i<16;i++){if(!GodotWebXR.input_sources[i]){name=i;break}}}if(name>=0){GodotWebXR.input_sources[name]=input_source;input_source.name=name;if(input_source.targetRayMode==="screen"){let touch_index=-1;for(let i=0;i<5;i++){if(!GodotWebXR.touches[i]){touch_index=i;break}}if(touch_index>=0){GodotWebXR.touches[touch_index]=input_source;input_source.touch_index=touch_index}}}return name},removeInputSource:input_source=>{if(input_source.name!==undefined){const name=input_source.name;if(name>=0&&name<16){GodotWebXR.input_sources[name]=null}if(input_source.touch_index!==undefined){const touch_index=input_source.touch_index;if(touch_index>=0&&touch_index<5){GodotWebXR.touches[touch_index]=null}}return name}return-1},getInputSourceId:input_source=>{if(input_source!==undefined){return input_source.name}return-1},getTouchIndex:input_source=>{if(input_source.touch_index!==undefined){return input_source.touch_index}return-1}};function _godot_webxr_get_bounds_geometry(r_points){if(!GodotWebXR.space||!GodotWebXR.space.boundsGeometry){return 0}const point_count=GodotWebXR.space.boundsGeometry.length;if(point_count===0){return 0}const buf=GodotRuntime.malloc(point_count*3*4);for(let i=0;i=0){matrix=views[p_view].transform.matrix}else{matrix=GodotWebXR.pose.transform.matrix}for(let i=0;i<16;i++){GodotRuntime.setHeapValue(r_transform+i*4,matrix[i],"float")}return true}function _godot_webxr_get_velocity_texture(){const subimage=GodotWebXR.getSubImage();if(subimage===null){return 0}if(!subimage.motionVectorTexture){return 0}return GodotWebXR.getTextureId(subimage.motionVectorTexture)}function _godot_webxr_get_view_count(){if(!GodotWebXR.session||!GodotWebXR.pose){return 1}const view_count=GodotWebXR.pose.views.length;return view_count>0?view_count:1}function _godot_webxr_get_visibility_state(){if(!GodotWebXR.session||!GodotWebXR.session.visibilityState){return 0}return GodotRuntime.allocString(GodotWebXR.session.visibilityState)}var _godot_webxr_initialize=function(p_session_mode,p_required_features,p_optional_features,p_requested_reference_spaces,p_on_session_started,p_on_session_ended,p_on_session_failed,p_on_input_event,p_on_simple_event){GodotWebXR.monkeyPatchRequestAnimationFrame(true);const session_mode=GodotRuntime.parseString(p_session_mode);const required_features=GodotRuntime.parseString(p_required_features).split(",").map(s=>s.trim()).filter(s=>s!=="");const optional_features=GodotRuntime.parseString(p_optional_features).split(",").map(s=>s.trim()).filter(s=>s!=="");const requested_reference_space_types=GodotRuntime.parseString(p_requested_reference_spaces).split(",").map(s=>s.trim());const onstarted=GodotRuntime.get_func(p_on_session_started);const onended=GodotRuntime.get_func(p_on_session_ended);const onfailed=GodotRuntime.get_func(p_on_session_failed);const oninputevent=GodotRuntime.get_func(p_on_input_event);const onsimpleevent=GodotRuntime.get_func(p_on_simple_event);const session_init={};if(required_features.length>0){session_init["requiredFeatures"]=required_features}if(optional_features.length>0){session_init["optionalFeatures"]=optional_features}navigator.xr.requestSession(session_mode,session_init).then(function(session){GodotWebXR.session=session;session.addEventListener("end",function(evt){onended()});session.addEventListener("inputsourceschange",function(evt){evt.added.forEach(GodotWebXR.addInputSource);evt.removed.forEach(GodotWebXR.removeInputSource)});["selectstart","selectend","squeezestart","squeezeend"].forEach((input_event,index)=>{session.addEventListener(input_event,function(evt){GodotWebXR.frame=evt.frame;oninputevent(index,GodotWebXR.getInputSourceId(evt.inputSource));GodotWebXR.frame=null})});session.addEventListener("visibilitychange",function(evt){const c_str=GodotRuntime.allocString("visibility_state_changed");onsimpleevent(c_str);GodotRuntime.free(c_str)});GodotWebXR.onsimpleevent=onsimpleevent;const gl_context_handle=_emscripten_webgl_get_current_context();const gl=GL.getContext(gl_context_handle).GLctx;GodotWebXR.gl=gl;gl.makeXRCompatible().then(function(){GodotWebXR.gl_binding=new XRWebGLBinding(session,gl);GodotWebXR.getLayer();function onReferenceSpaceSuccess(reference_space,reference_space_type){GodotWebXR.space=reference_space;reference_space.onreset=function(evt){const c_str=GodotRuntime.allocString("reference_space_reset");onsimpleevent(c_str);GodotRuntime.free(c_str)};GodotWebXR.pauseResumeMainLoop();window.setTimeout(function(){const reference_space_c_str=GodotRuntime.allocString(reference_space_type);const enabled_features="enabledFeatures"in session?Array.from(session.enabledFeatures):[];const enabled_features_c_str=GodotRuntime.allocString(enabled_features.join(","));const environment_blend_mode="environmentBlendMode"in session?session.environmentBlendMode:"";const environment_blend_mode_c_str=GodotRuntime.allocString(environment_blend_mode);onstarted(reference_space_c_str,enabled_features_c_str,environment_blend_mode_c_str);GodotRuntime.free(reference_space_c_str);GodotRuntime.free(enabled_features_c_str);GodotRuntime.free(environment_blend_mode_c_str)},0)}function requestReferenceSpace(){const reference_space_type=requested_reference_space_types.shift();session.requestReferenceSpace(reference_space_type).then(refSpace=>{onReferenceSpaceSuccess(refSpace,reference_space_type)}).catch(()=>{if(requested_reference_space_types.length===0){const c_str=GodotRuntime.allocString("Unable to get any of the requested reference space types");onfailed(c_str);GodotRuntime.free(c_str)}else{requestReferenceSpace()}})}requestReferenceSpace()}).catch(function(error){const c_str=GodotRuntime.allocString(`Unable to make WebGL context compatible with WebXR: ${error}`);onfailed(c_str);GodotRuntime.free(c_str)})}).catch(function(error){const c_str=GodotRuntime.allocString(`Unable to start session: ${error}`);onfailed(c_str);GodotRuntime.free(c_str)})};function _godot_webxr_is_session_supported(p_session_mode,p_callback){const session_mode=GodotRuntime.parseString(p_session_mode);const cb=GodotRuntime.get_func(p_callback);if(navigator.xr){navigator.xr.isSessionSupported(session_mode).then(function(supported){const c_str=GodotRuntime.allocString(session_mode);cb(c_str,supported?1:0);GodotRuntime.free(c_str)})}else{const c_str=GodotRuntime.allocString(session_mode);cb(c_str,0);GodotRuntime.free(c_str)}}function _godot_webxr_is_supported(){return!!navigator.xr}var _godot_webxr_uninitialize=function(){if(GodotWebXR.session){GodotWebXR.session.end().catch(e=>{})}GodotWebXR.session=null;GodotWebXR.gl_binding=null;GodotWebXR.layer=null;GodotWebXR.space=null;GodotWebXR.frame=null;GodotWebXR.pose=null;GodotWebXR.view_count=1;GodotWebXR.input_sources=new Array(16);GodotWebXR.touches=new Array(5);GodotWebXR.onsimpleevent=null;GodotWebXR.monkeyPatchRequestAnimationFrame(false);GodotWebXR.pauseResumeMainLoop()};function _godot_webxr_update_input_source(p_input_source_id,r_target_pose,r_target_ray_mode,r_touch_index,r_has_grip_pose,r_grip_pose,r_has_standard_mapping,r_button_count,r_buttons,r_axes_count,r_axes,r_has_hand_data,r_hand_joints,r_hand_radii){if(!GodotWebXR.session||!GodotWebXR.frame){return 0}if(p_input_source_id<0||p_input_source_id>=GodotWebXR.input_sources.length||!GodotWebXR.input_sources[p_input_source_id]){return false}const input_source=GodotWebXR.input_sources[p_input_source_id];const frame=GodotWebXR.frame;const space=GodotWebXR.space;const target_pose=frame.getPose(input_source.targetRaySpace,space);if(!target_pose){return false}const target_pose_matrix=target_pose.transform.matrix;for(let i=0;i<16;i++){GodotRuntime.setHeapValue(r_target_pose+i*4,target_pose_matrix[i],"float")}let target_ray_mode=0;switch(input_source.targetRayMode){case"gaze":target_ray_mode=1;break;case"tracked-pointer":target_ray_mode=2;break;case"screen":target_ray_mode=3;break;default:}GodotRuntime.setHeapValue(r_target_ray_mode,target_ray_mode,"i32");GodotRuntime.setHeapValue(r_touch_index,GodotWebXR.getTouchIndex(input_source),"i32");let has_grip_pose=false;if(input_source.gripSpace){const grip_pose=frame.getPose(input_source.gripSpace,space);if(grip_pose){const grip_pose_matrix=grip_pose.transform.matrix;for(let i=0;i<16;i++){GodotRuntime.setHeapValue(r_grip_pose+i*4,grip_pose_matrix[i],"float")}has_grip_pose=true}}GodotRuntime.setHeapValue(r_has_grip_pose,has_grip_pose?1:0,"i32");let has_standard_mapping=false;let button_count=0;let axes_count=0;if(input_source.gamepad){if(input_source.gamepad.mapping==="xr-standard"){has_standard_mapping=true}button_count=Math.min(input_source.gamepad.buttons.length,10);for(let i=0;i{const c_str=GodotRuntime.allocString("display_refresh_rate_changed");GodotWebXR.onsimpleevent(c_str);GodotRuntime.free(c_str)})}var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var getCFunc=ident=>{var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func};var writeArrayToMemory=(array,buffer)=>{assert(array.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");HEAP8.set(array,buffer)};var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i(...args)=>ccall(ident,returnType,argTypes,args,opts);FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["requestFullscreen"]=Browser.requestFullscreen;Module["requestFullScreen"]=Browser.requestFullScreen;Module["requestAnimationFrame"]=Browser.requestAnimationFrame;Module["setCanvasSize"]=Browser.setCanvasSize;Module["pauseMainLoop"]=Browser.mainLoop.pause;Module["resumeMainLoop"]=Browser.mainLoop.resume;Module["getUserMedia"]=Browser.getUserMedia;Module["createContext"]=Browser.createContext;var preloadedImages={};var preloadedAudios={};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<=288;++i){miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i)}var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<=288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i)}Module["request_quit"]=function(){GodotOS.request_quit()};Module["onExit"]=GodotOS.cleanup;GodotOS._fs_sync_promise=Promise.resolve();Module["initConfig"]=GodotConfig.init_config;Module["initFS"]=GodotFS.init;Module["copyToFS"]=GodotFS.copy_to_fs;GodotOS.atexit(function(resolve,reject){GodotDisplayCursor.clear();resolve()});GodotOS.atexit(function(resolve,reject){GodotEventListeners.clear();resolve()});GodotOS.atexit(function(resolve,reject){GodotDisplayVK.clear();resolve()});GodotOS.atexit(function(resolve,reject){GodotIME.clear();resolve()});GodotJSWrapper.proxies=new Map;function checkIncomingModuleAPI(){ignoredModuleProp("fetchSettings")}var wasmImports={__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_faccessat:___syscall_faccessat,__syscall_fchmod:___syscall_fchmod,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_mknodat:___syscall_mknodat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_readlinkat:___syscall_readlinkat,__syscall_renameat:___syscall_renameat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_statfs64:___syscall_statfs64,__syscall_symlink:___syscall_symlink,__syscall_unlinkat:___syscall_unlinkat,_abort_js:__abort_js,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_tzset_js:__tzset_js,emscripten_cancel_main_loop:_emscripten_cancel_main_loop,emscripten_date_now:_emscripten_date_now,emscripten_err:_emscripten_err,emscripten_force_exit:_emscripten_force_exit,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_now:_emscripten_get_now,emscripten_resize_heap:_emscripten_resize_heap,emscripten_set_canvas_element_size:_emscripten_set_canvas_element_size,emscripten_set_main_loop:_emscripten_set_main_loop,emscripten_webgl_commit_frame:_emscripten_webgl_commit_frame,emscripten_webgl_create_context:_emscripten_webgl_create_context,emscripten_webgl_destroy_context:_emscripten_webgl_destroy_context,emscripten_webgl_enable_extension:_emscripten_webgl_enable_extension,emscripten_webgl_get_supported_extensions:_emscripten_webgl_get_supported_extensions,emscripten_webgl_make_context_current:_emscripten_webgl_make_context_current,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_read:_fd_read,fd_seek:_fd_seek,fd_write:_fd_write,glActiveTexture:_glActiveTexture,glAttachShader:_glAttachShader,glBeginTransformFeedback:_glBeginTransformFeedback,glBindBuffer:_glBindBuffer,glBindBufferBase:_glBindBufferBase,glBindBufferRange:_glBindBufferRange,glBindFramebuffer:_glBindFramebuffer,glBindRenderbuffer:_glBindRenderbuffer,glBindTexture:_glBindTexture,glBindVertexArray:_glBindVertexArray,glBlendColor:_glBlendColor,glBlendEquation:_glBlendEquation,glBlendFunc:_glBlendFunc,glBlendFuncSeparate:_glBlendFuncSeparate,glBlitFramebuffer:_glBlitFramebuffer,glBufferData:_glBufferData,glBufferSubData:_glBufferSubData,glCheckFramebufferStatus:_glCheckFramebufferStatus,glClear:_glClear,glClearBufferfv:_glClearBufferfv,glClearColor:_glClearColor,glClearDepthf:_glClearDepthf,glColorMask:_glColorMask,glCompileShader:_glCompileShader,glCompressedTexImage2D:_glCompressedTexImage2D,glCompressedTexImage3D:_glCompressedTexImage3D,glCompressedTexSubImage3D:_glCompressedTexSubImage3D,glCopyBufferSubData:_glCopyBufferSubData,glCreateProgram:_glCreateProgram,glCreateShader:_glCreateShader,glCullFace:_glCullFace,glDeleteBuffers:_glDeleteBuffers,glDeleteFramebuffers:_glDeleteFramebuffers,glDeleteProgram:_glDeleteProgram,glDeleteQueries:_glDeleteQueries,glDeleteRenderbuffers:_glDeleteRenderbuffers,glDeleteShader:_glDeleteShader,glDeleteSync:_glDeleteSync,glDeleteTextures:_glDeleteTextures,glDeleteVertexArrays:_glDeleteVertexArrays,glDepthFunc:_glDepthFunc,glDepthMask:_glDepthMask,glDisable:_glDisable,glDisableVertexAttribArray:_glDisableVertexAttribArray,glDrawArrays:_glDrawArrays,glDrawArraysInstanced:_glDrawArraysInstanced,glDrawBuffers:_glDrawBuffers,glDrawElements:_glDrawElements,glDrawElementsInstanced:_glDrawElementsInstanced,glEnable:_glEnable,glEnableVertexAttribArray:_glEnableVertexAttribArray,glEndTransformFeedback:_glEndTransformFeedback,glFenceSync:_glFenceSync,glFinish:_glFinish,glFramebufferRenderbuffer:_glFramebufferRenderbuffer,glFramebufferTexture2D:_glFramebufferTexture2D,glFramebufferTextureLayer:_glFramebufferTextureLayer,glFrontFace:_glFrontFace,glGenBuffers:_glGenBuffers,glGenFramebuffers:_glGenFramebuffers,glGenQueries:_glGenQueries,glGenRenderbuffers:_glGenRenderbuffers,glGenTextures:_glGenTextures,glGenVertexArrays:_glGenVertexArrays,glGenerateMipmap:_glGenerateMipmap,glGetFloatv:_glGetFloatv,glGetInteger64v:_glGetInteger64v,glGetIntegerv:_glGetIntegerv,glGetProgramInfoLog:_glGetProgramInfoLog,glGetProgramiv:_glGetProgramiv,glGetShaderInfoLog:_glGetShaderInfoLog,glGetShaderiv:_glGetShaderiv,glGetString:_glGetString,glGetSynciv:_glGetSynciv,glGetUniformBlockIndex:_glGetUniformBlockIndex,glGetUniformLocation:_glGetUniformLocation,glLinkProgram:_glLinkProgram,glPixelStorei:_glPixelStorei,glReadBuffer:_glReadBuffer,glReadPixels:_glReadPixels,glRenderbufferStorage:_glRenderbufferStorage,glRenderbufferStorageMultisample:_glRenderbufferStorageMultisample,glScissor:_glScissor,glShaderSource:_glShaderSource,glTexImage2D:_glTexImage2D,glTexImage3D:_glTexImage3D,glTexParameterf:_glTexParameterf,glTexParameteri:_glTexParameteri,glTexStorage2D:_glTexStorage2D,glTexSubImage3D:_glTexSubImage3D,glTransformFeedbackVaryings:_glTransformFeedbackVaryings,glUniform1f:_glUniform1f,glUniform1i:_glUniform1i,glUniform1iv:_glUniform1iv,glUniform1ui:_glUniform1ui,glUniform1uiv:_glUniform1uiv,glUniform2f:_glUniform2f,glUniform2fv:_glUniform2fv,glUniform2iv:_glUniform2iv,glUniform3fv:_glUniform3fv,glUniform4f:_glUniform4f,glUniform4fv:_glUniform4fv,glUniformBlockBinding:_glUniformBlockBinding,glUniformMatrix3fv:_glUniformMatrix3fv,glUniformMatrix4fv:_glUniformMatrix4fv,glUseProgram:_glUseProgram,glVertexAttrib4f:_glVertexAttrib4f,glVertexAttribDivisor:_glVertexAttribDivisor,glVertexAttribI4ui:_glVertexAttribI4ui,glVertexAttribIPointer:_glVertexAttribIPointer,glVertexAttribPointer:_glVertexAttribPointer,glViewport:_glViewport,godot_audio_get_sample_playback_position:_godot_audio_get_sample_playback_position,godot_audio_has_script_processor:_godot_audio_has_script_processor,godot_audio_has_worklet:_godot_audio_has_worklet,godot_audio_init:_godot_audio_init,godot_audio_input_start:_godot_audio_input_start,godot_audio_input_stop:_godot_audio_input_stop,godot_audio_is_available:_godot_audio_is_available,godot_audio_resume:_godot_audio_resume,godot_audio_sample_bus_add:_godot_audio_sample_bus_add,godot_audio_sample_bus_move:_godot_audio_sample_bus_move,godot_audio_sample_bus_remove:_godot_audio_sample_bus_remove,godot_audio_sample_bus_set_count:_godot_audio_sample_bus_set_count,godot_audio_sample_bus_set_mute:_godot_audio_sample_bus_set_mute,godot_audio_sample_bus_set_send:_godot_audio_sample_bus_set_send,godot_audio_sample_bus_set_solo:_godot_audio_sample_bus_set_solo,godot_audio_sample_bus_set_volume_db:_godot_audio_sample_bus_set_volume_db,godot_audio_sample_is_active:_godot_audio_sample_is_active,godot_audio_sample_register_stream:_godot_audio_sample_register_stream,godot_audio_sample_set_finished_callback:_godot_audio_sample_set_finished_callback,godot_audio_sample_set_pause:_godot_audio_sample_set_pause,godot_audio_sample_set_volumes_linear:_godot_audio_sample_set_volumes_linear,godot_audio_sample_start:_godot_audio_sample_start,godot_audio_sample_stop:_godot_audio_sample_stop,godot_audio_sample_stream_is_registered:_godot_audio_sample_stream_is_registered,godot_audio_sample_unregister_stream:_godot_audio_sample_unregister_stream,godot_audio_sample_update_pitch_scale:_godot_audio_sample_update_pitch_scale,godot_audio_script_create:_godot_audio_script_create,godot_audio_script_start:_godot_audio_script_start,godot_audio_worklet_create:_godot_audio_worklet_create,godot_audio_worklet_start_no_threads:_godot_audio_worklet_start_no_threads,godot_js_config_canvas_id_get:_godot_js_config_canvas_id_get,godot_js_config_locale_get:_godot_js_config_locale_get,godot_js_display_alert:_godot_js_display_alert,godot_js_display_canvas_focus:_godot_js_display_canvas_focus,godot_js_display_canvas_is_focused:_godot_js_display_canvas_is_focused,godot_js_display_clipboard_get:_godot_js_display_clipboard_get,godot_js_display_clipboard_set:_godot_js_display_clipboard_set,godot_js_display_cursor_is_hidden:_godot_js_display_cursor_is_hidden,godot_js_display_cursor_is_locked:_godot_js_display_cursor_is_locked,godot_js_display_cursor_lock_set:_godot_js_display_cursor_lock_set,godot_js_display_cursor_set_custom_shape:_godot_js_display_cursor_set_custom_shape,godot_js_display_cursor_set_shape:_godot_js_display_cursor_set_shape,godot_js_display_cursor_set_visible:_godot_js_display_cursor_set_visible,godot_js_display_desired_size_set:_godot_js_display_desired_size_set,godot_js_display_fullscreen_cb:_godot_js_display_fullscreen_cb,godot_js_display_fullscreen_exit:_godot_js_display_fullscreen_exit,godot_js_display_fullscreen_request:_godot_js_display_fullscreen_request,godot_js_display_has_webgl:_godot_js_display_has_webgl,godot_js_display_is_swap_ok_cancel:_godot_js_display_is_swap_ok_cancel,godot_js_display_notification_cb:_godot_js_display_notification_cb,godot_js_display_pixel_ratio_get:_godot_js_display_pixel_ratio_get,godot_js_display_screen_dpi_get:_godot_js_display_screen_dpi_get,godot_js_display_screen_size_get:_godot_js_display_screen_size_get,godot_js_display_setup_canvas:_godot_js_display_setup_canvas,godot_js_display_size_update:_godot_js_display_size_update,godot_js_display_touchscreen_is_available:_godot_js_display_touchscreen_is_available,godot_js_display_tts_available:_godot_js_display_tts_available,godot_js_display_vk_available:_godot_js_display_vk_available,godot_js_display_vk_cb:_godot_js_display_vk_cb,godot_js_display_vk_hide:_godot_js_display_vk_hide,godot_js_display_vk_show:_godot_js_display_vk_show,godot_js_display_window_blur_cb:_godot_js_display_window_blur_cb,godot_js_display_window_icon_set:_godot_js_display_window_icon_set,godot_js_display_window_size_get:_godot_js_display_window_size_get,godot_js_display_window_title_set:_godot_js_display_window_title_set,godot_js_eval:_godot_js_eval,godot_js_fetch_create:_godot_js_fetch_create,godot_js_fetch_free:_godot_js_fetch_free,godot_js_fetch_http_status_get:_godot_js_fetch_http_status_get,godot_js_fetch_is_chunked:_godot_js_fetch_is_chunked,godot_js_fetch_read_chunk:_godot_js_fetch_read_chunk,godot_js_fetch_read_headers:_godot_js_fetch_read_headers,godot_js_fetch_state_get:_godot_js_fetch_state_get,godot_js_input_drop_files_cb:_godot_js_input_drop_files_cb,godot_js_input_gamepad_cb:_godot_js_input_gamepad_cb,godot_js_input_gamepad_sample:_godot_js_input_gamepad_sample,godot_js_input_gamepad_sample_count:_godot_js_input_gamepad_sample_count,godot_js_input_gamepad_sample_get:_godot_js_input_gamepad_sample_get,godot_js_input_key_cb:_godot_js_input_key_cb,godot_js_input_mouse_button_cb:_godot_js_input_mouse_button_cb,godot_js_input_mouse_move_cb:_godot_js_input_mouse_move_cb,godot_js_input_mouse_wheel_cb:_godot_js_input_mouse_wheel_cb,godot_js_input_paste_cb:_godot_js_input_paste_cb,godot_js_input_touch_cb:_godot_js_input_touch_cb,godot_js_input_vibrate_handheld:_godot_js_input_vibrate_handheld,godot_js_is_ime_focused:_godot_js_is_ime_focused,godot_js_os_download_buffer:_godot_js_os_download_buffer,godot_js_os_execute:_godot_js_os_execute,godot_js_os_finish_async:_godot_js_os_finish_async,godot_js_os_fs_is_persistent:_godot_js_os_fs_is_persistent,godot_js_os_fs_sync:_godot_js_os_fs_sync,godot_js_os_has_feature:_godot_js_os_has_feature,godot_js_os_hw_concurrency_get:_godot_js_os_hw_concurrency_get,godot_js_os_request_quit_cb:_godot_js_os_request_quit_cb,godot_js_os_shell_open:_godot_js_os_shell_open,godot_js_pwa_cb:_godot_js_pwa_cb,godot_js_pwa_update:_godot_js_pwa_update,godot_js_rtc_datachannel_close:_godot_js_rtc_datachannel_close,godot_js_rtc_datachannel_connect:_godot_js_rtc_datachannel_connect,godot_js_rtc_datachannel_destroy:_godot_js_rtc_datachannel_destroy,godot_js_rtc_datachannel_get_buffered_amount:_godot_js_rtc_datachannel_get_buffered_amount,godot_js_rtc_datachannel_id_get:_godot_js_rtc_datachannel_id_get,godot_js_rtc_datachannel_is_negotiated:_godot_js_rtc_datachannel_is_negotiated,godot_js_rtc_datachannel_is_ordered:_godot_js_rtc_datachannel_is_ordered,godot_js_rtc_datachannel_label_get:_godot_js_rtc_datachannel_label_get,godot_js_rtc_datachannel_max_packet_lifetime_get:_godot_js_rtc_datachannel_max_packet_lifetime_get,godot_js_rtc_datachannel_max_retransmits_get:_godot_js_rtc_datachannel_max_retransmits_get,godot_js_rtc_datachannel_protocol_get:_godot_js_rtc_datachannel_protocol_get,godot_js_rtc_datachannel_ready_state_get:_godot_js_rtc_datachannel_ready_state_get,godot_js_rtc_datachannel_send:_godot_js_rtc_datachannel_send,godot_js_rtc_pc_close:_godot_js_rtc_pc_close,godot_js_rtc_pc_create:_godot_js_rtc_pc_create,godot_js_rtc_pc_datachannel_create:_godot_js_rtc_pc_datachannel_create,godot_js_rtc_pc_destroy:_godot_js_rtc_pc_destroy,godot_js_rtc_pc_ice_candidate_add:_godot_js_rtc_pc_ice_candidate_add,godot_js_rtc_pc_local_description_set:_godot_js_rtc_pc_local_description_set,godot_js_rtc_pc_offer_create:_godot_js_rtc_pc_offer_create,godot_js_rtc_pc_remote_description_set:_godot_js_rtc_pc_remote_description_set,godot_js_set_ime_active:_godot_js_set_ime_active,godot_js_set_ime_cb:_godot_js_set_ime_cb,godot_js_set_ime_position:_godot_js_set_ime_position,godot_js_tts_get_voices:_godot_js_tts_get_voices,godot_js_tts_is_paused:_godot_js_tts_is_paused,godot_js_tts_is_speaking:_godot_js_tts_is_speaking,godot_js_tts_pause:_godot_js_tts_pause,godot_js_tts_resume:_godot_js_tts_resume,godot_js_tts_speak:_godot_js_tts_speak,godot_js_tts_stop:_godot_js_tts_stop,godot_js_webmidi_close_midi_inputs:_godot_js_webmidi_close_midi_inputs,godot_js_webmidi_open_midi_inputs:_godot_js_webmidi_open_midi_inputs,godot_js_websocket_buffered_amount:_godot_js_websocket_buffered_amount,godot_js_websocket_close:_godot_js_websocket_close,godot_js_websocket_create:_godot_js_websocket_create,godot_js_websocket_destroy:_godot_js_websocket_destroy,godot_js_websocket_send:_godot_js_websocket_send,godot_js_wrapper_create_cb:_godot_js_wrapper_create_cb,godot_js_wrapper_create_object:_godot_js_wrapper_create_object,godot_js_wrapper_interface_get:_godot_js_wrapper_interface_get,godot_js_wrapper_object_call:_godot_js_wrapper_object_call,godot_js_wrapper_object_get:_godot_js_wrapper_object_get,godot_js_wrapper_object_getvar:_godot_js_wrapper_object_getvar,godot_js_wrapper_object_is_buffer:_godot_js_wrapper_object_is_buffer,godot_js_wrapper_object_set:_godot_js_wrapper_object_set,godot_js_wrapper_object_set_cb_ret:_godot_js_wrapper_object_set_cb_ret,godot_js_wrapper_object_setvar:_godot_js_wrapper_object_setvar,godot_js_wrapper_object_transfer_buffer:_godot_js_wrapper_object_transfer_buffer,godot_js_wrapper_object_unref:_godot_js_wrapper_object_unref,godot_webgl2_glFramebufferTextureMultisampleMultiviewOVR:_godot_webgl2_glFramebufferTextureMultisampleMultiviewOVR,godot_webgl2_glFramebufferTextureMultiviewOVR:_godot_webgl2_glFramebufferTextureMultiviewOVR,godot_webgl2_glGetBufferSubData:_godot_webgl2_glGetBufferSubData,godot_webxr_get_bounds_geometry:_godot_webxr_get_bounds_geometry,godot_webxr_get_color_texture:_godot_webxr_get_color_texture,godot_webxr_get_depth_texture:_godot_webxr_get_depth_texture,godot_webxr_get_frame_rate:_godot_webxr_get_frame_rate,godot_webxr_get_projection_for_view:_godot_webxr_get_projection_for_view,godot_webxr_get_render_target_size:_godot_webxr_get_render_target_size,godot_webxr_get_supported_frame_rates:_godot_webxr_get_supported_frame_rates,godot_webxr_get_transform_for_view:_godot_webxr_get_transform_for_view,godot_webxr_get_velocity_texture:_godot_webxr_get_velocity_texture,godot_webxr_get_view_count:_godot_webxr_get_view_count,godot_webxr_get_visibility_state:_godot_webxr_get_visibility_state,godot_webxr_initialize:_godot_webxr_initialize,godot_webxr_is_session_supported:_godot_webxr_is_session_supported,godot_webxr_is_supported:_godot_webxr_is_supported,godot_webxr_uninitialize:_godot_webxr_uninitialize,godot_webxr_update_input_source:_godot_webxr_update_input_source,godot_webxr_update_target_frame_rate:_godot_webxr_update_target_frame_rate,proc_exit:_proc_exit};var wasmExports=createWasm();var ___wasm_call_ctors=createExportWrapper("__wasm_call_ctors",0);var _free=createExportWrapper("free",1);var __Z14godot_web_mainiPPc=Module["__Z14godot_web_mainiPPc"]=createExportWrapper("_Z14godot_web_mainiPPc",2);var _main=Module["_main"]=createExportWrapper("__main_argc_argv",2);var _malloc=createExportWrapper("malloc",1);var _fflush=createExportWrapper("fflush",1);var __emwebxr_on_input_event=Module["__emwebxr_on_input_event"]=createExportWrapper("_emwebxr_on_input_event",2);var __emwebxr_on_simple_event=Module["__emwebxr_on_simple_event"]=createExportWrapper("_emwebxr_on_simple_event",1);var _strerror=createExportWrapper("strerror",1);var ___funcs_on_exit=createExportWrapper("__funcs_on_exit",0);var _emscripten_stack_init=()=>(_emscripten_stack_init=wasmExports["emscripten_stack_init"])();var _emscripten_stack_get_free=()=>(_emscripten_stack_get_free=wasmExports["emscripten_stack_get_free"])();var _emscripten_stack_get_base=()=>(_emscripten_stack_get_base=wasmExports["emscripten_stack_get_base"])();var _emscripten_stack_get_end=()=>(_emscripten_stack_get_end=wasmExports["emscripten_stack_get_end"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"])();Module["callMain"]=callMain;Module["cwrap"]=cwrap;var missingLibrarySymbols=["writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","convertI32PairToI53","convertI32PairToI53Checked","convertU32PairToI53","getTempRet0","setTempRet0","arraySum","addDays","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","emscriptenLog","readEmAsmArgs","listenOnce","autoResumeAudioContext","getDynCaller","dynCall","setWasmTableEntry","asmjsMangle","HandleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","intArrayToString","AsciiToString","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","registerKeyEventCallback","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","jsStackTrace","getCallstack","convertPCtoSourceLocation","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","createDyncallWrapper","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","getPromise","makePromise","idsToPromises","makePromiseCallback","Browser_asyncPrepareDataCounter","getSocketFromFD","getSocketAddress","FS_unlink","FS_mkdirTree","_setNetworkCallback","emscriptenWebGLGetUniform","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","emscriptenWebGLGetIndexed","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","setErrNo","demangle","stackTrace"];missingLibrarySymbols.forEach(missingLibrarySymbol);var unexportedSymbols=["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","out","err","abort","wasmMemory","wasmExports","writeStackCookie","checkStackCookie","writeI53ToI64","readI53FromI64","readI53FromU64","INT53_MAX","INT53_MIN","bigintToI53Checked","stackSave","stackRestore","stackAlloc","ptrToString","zeroMemory","exitJS","getHeapMax","growMemory","ENV","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","ydayFromDate","ERRNO_CODES","strError","DNS","Protocols","Sockets","initRandomFill","randomFill","timers","warnOnce","readEmAsmArgsArray","jstoi_q","jstoi_s","getExecutableName","getWasmTableEntry","handleException","keepRuntimeAlive","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","asyncLoad","alignMemory","mmapAlloc","wasmTable","noExitRuntime","getCFunc","ccall","freeTableIndexes","functionsInTableMap","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","intArrayFromString","stringToAscii","UTF16Decoder","stringToNewUTF8","stringToUTF8OnStack","writeArrayToMemory","JSEvents","specialHTMLTargets","maybeCStringToJsString","findEventTarget","findCanvasEventTarget","currentFullscreenStrategy","restoreOldWindowedStyle","UNWIND_CACHE","ExitStatus","getEnvStrings","doReadv","doWritev","safeSetTimeout","promiseMap","Browser","setMainLoop","getPreloadedImageData__data","wget","SYSCALLS","preloadPlugins","FS_createPreloadedFile","FS_modeStringToFlags","FS_getMode","FS_stdin_getChar_buffer","FS_stdin_getChar","FS_createPath","FS_createDevice","FS_readFile","FS","FS_createDataFile","FS_createLazyFile","MEMFS","TTY","PIPEFS","SOCKFS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","heapObjectForWebGLType","toTypedArrayIndex","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","GL","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance","webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance","allocateUTF8","allocateUTF8OnStack","print","printErr","GodotWebXR","GodotWebSocket","GodotRTCDataChannel","GodotRTCPeerConnection","GodotAudio","GodotAudioWorklet","GodotAudioScript","GodotDisplayVK","GodotDisplayCursor","GodotDisplayScreen","GodotDisplay","GodotFetch","GodotWebMidi","IDHandler","GodotConfig","GodotFS","GodotOS","GodotEventListeners","GodotPWA","GodotRuntime","GodotIME","GodotInputGamepads","GodotInputDragDrop","GodotInput","GodotWebGL2","GodotJSWrapper","IDBFS"];unexportedSymbols.forEach(unexportedRuntimeSymbol);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){assert(runDependencies==0,'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])');assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(args=arguments_){if(runDependencies>0){return}stackCheckInit();preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=false;if(Module["noInitialRun"])shouldRunNow=false;run();moduleRtn=readyPromise;for(const prop of Object.keys(Module)){if(!(prop in moduleArg)){Object.defineProperty(moduleArg,prop,{configurable:true,get(){abort(`Access to module property ('${prop}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`)}})}} + + + return moduleRtn; +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = Godot; +else if (typeof define === 'function' && define['amd']) + define([], () => Godot); + +const Features = { + /** + * Check whether WebGL is available. Optionally, specify a particular version of WebGL to check for. + * + * @param {number=} [majorVersion=1] The major WebGL version to check for. + * @returns {boolean} If the given major version of WebGL is available. + * @function Engine.isWebGLAvailable + */ + isWebGLAvailable: function (majorVersion = 1) { + try { + return !!document.createElement('canvas').getContext(['webgl', 'webgl2'][majorVersion - 1]); + } catch (e) { /* Not available */ } + return false; + }, + + /** + * Check whether the Fetch API available and supports streaming responses. + * + * @returns {boolean} If the Fetch API is available and supports streaming responses. + * @function Engine.isFetchAvailable + */ + isFetchAvailable: function () { + return 'fetch' in window && 'Response' in window && 'body' in window.Response.prototype; + }, + + /** + * Check whether the engine is running in a Secure Context. + * + * @returns {boolean} If the engine is running in a Secure Context. + * @function Engine.isSecureContext + */ + isSecureContext: function () { + return window['isSecureContext'] === true; + }, + + /** + * Check whether the engine is cross origin isolated. + * This value is dependent on Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy headers sent by the server. + * + * @returns {boolean} If the engine is running in a Secure Context. + * @function Engine.isSecureContext + */ + isCrossOriginIsolated: function () { + return window['crossOriginIsolated'] === true; + }, + + /** + * Check whether SharedBufferArray is available. + * + * Most browsers require the page to be running in a secure context, and the + * the server to provide specific CORS headers for SharedArrayBuffer to be available. + * + * @returns {boolean} If SharedArrayBuffer is available. + * @function Engine.isSharedArrayBufferAvailable + */ + isSharedArrayBufferAvailable: function () { + return 'SharedArrayBuffer' in window; + }, + + /** + * Check whether the AudioContext supports AudioWorkletNodes. + * + * @returns {boolean} If AudioWorkletNode is available. + * @function Engine.isAudioWorkletAvailable + */ + isAudioWorkletAvailable: function () { + return 'AudioContext' in window && 'audioWorklet' in AudioContext.prototype; + }, + + /** + * Return an array of missing required features (as string). + * + * @returns {Array} A list of human-readable missing features. + * @function Engine.getMissingFeatures + * @param {{threads: (boolean|undefined)}} supportedFeatures + */ + getMissingFeatures: function (supportedFeatures = {}) { + const { + // Quotes are needed for the Closure compiler. + 'threads': supportsThreads = true, + } = supportedFeatures; + + const missing = []; + if (!Features.isWebGLAvailable(2)) { + missing.push('WebGL2 - Check web browser configuration and hardware support'); + } + if (!Features.isFetchAvailable()) { + missing.push('Fetch - Check web browser version'); + } + if (!Features.isSecureContext()) { + missing.push('Secure Context - Check web server configuration (use HTTPS)'); + } + + if (supportsThreads) { + if (!Features.isCrossOriginIsolated()) { + missing.push('Cross-Origin Isolation - Check that the web server configuration sends the correct headers.'); + } + if (!Features.isSharedArrayBufferAvailable()) { + missing.push('SharedArrayBuffer - Check that the web server configuration sends the correct headers.'); + } + } + + // Audio is normally optional since we have a dummy fallback. + return missing; + }, +}; + +const Preloader = /** @constructor */ function () { // eslint-disable-line no-unused-vars + function getTrackedResponse(response, load_status) { + function onloadprogress(reader, controller) { + return reader.read().then(function (result) { + if (load_status.done) { + return Promise.resolve(); + } + if (result.value) { + controller.enqueue(result.value); + load_status.loaded += result.value.length; + } + if (!result.done) { + return onloadprogress(reader, controller); + } + load_status.done = true; + return Promise.resolve(); + }); + } + const reader = response.body.getReader(); + return new Response(new ReadableStream({ + start: function (controller) { + onloadprogress(reader, controller).then(function () { + controller.close(); + }); + }, + }), { headers: response.headers }); + } + + function loadFetch(file, tracker, fileSize, raw) { + tracker[file] = { + total: fileSize || 0, + loaded: 0, + done: false, + }; + return fetch(file).then(function (response) { + if (!response.ok) { + return Promise.reject(new Error(`Failed loading file '${file}'`)); + } + const tr = getTrackedResponse(response, tracker[file]); + if (raw) { + return Promise.resolve(tr); + } + return tr.arrayBuffer(); + }); + } + + function retry(func, attempts = 1) { + function onerror(err) { + if (attempts <= 1) { + return Promise.reject(err); + } + return new Promise(function (resolve, reject) { + setTimeout(function () { + retry(func, attempts - 1).then(resolve).catch(reject); + }, 1000); + }); + } + return func().catch(onerror); + } + + const DOWNLOAD_ATTEMPTS_MAX = 4; + const loadingFiles = {}; + const lastProgress = { loaded: 0, total: 0 }; + let progressFunc = null; + + const animateProgress = function () { + let loaded = 0; + let total = 0; + let totalIsValid = true; + let progressIsFinal = true; + + Object.keys(loadingFiles).forEach(function (file) { + const stat = loadingFiles[file]; + if (!stat.done) { + progressIsFinal = false; + } + if (!totalIsValid || stat.total === 0) { + totalIsValid = false; + total = 0; + } else { + total += stat.total; + } + loaded += stat.loaded; + }); + if (loaded !== lastProgress.loaded || total !== lastProgress.total) { + lastProgress.loaded = loaded; + lastProgress.total = total; + if (typeof progressFunc === 'function') { + progressFunc(loaded, total); + } + } + if (!progressIsFinal) { + requestAnimationFrame(animateProgress); + } + }; + + this.animateProgress = animateProgress; + + this.setProgressFunc = function (callback) { + progressFunc = callback; + }; + + this.loadPromise = function (file, fileSize, raw = false) { + return retry(loadFetch.bind(null, file, loadingFiles, fileSize, raw), DOWNLOAD_ATTEMPTS_MAX); + }; + + this.preloadedFiles = []; + this.preload = function (pathOrBuffer, destPath, fileSize) { + let buffer = null; + if (typeof pathOrBuffer === 'string') { + const me = this; + return this.loadPromise(pathOrBuffer, fileSize).then(function (buf) { + me.preloadedFiles.push({ + path: destPath || pathOrBuffer, + buffer: buf, + }); + return Promise.resolve(); + }); + } else if (pathOrBuffer instanceof ArrayBuffer) { + buffer = new Uint8Array(pathOrBuffer); + } else if (ArrayBuffer.isView(pathOrBuffer)) { + buffer = new Uint8Array(pathOrBuffer.buffer); + } + if (buffer) { + this.preloadedFiles.push({ + path: destPath, + buffer: pathOrBuffer, + }); + return Promise.resolve(); + } + return Promise.reject(new Error('Invalid object for preloading')); + }; +}; + +/** + * An object used to configure the Engine instance based on godot export options, and to override those in custom HTML + * templates if needed. + * + * @header Engine configuration + * @summary The Engine configuration object. This is just a typedef, create it like a regular object, e.g.: + * + * ``const MyConfig = { executable: 'godot', unloadAfterInit: false }`` + * + * @typedef {Object} EngineConfig + */ +const EngineConfig = {}; // eslint-disable-line no-unused-vars + +/** + * @struct + * @constructor + * @ignore + */ +const InternalConfig = function (initConfig) { // eslint-disable-line no-unused-vars + const cfg = /** @lends {InternalConfig.prototype} */ { + /** + * Whether to unload the engine automatically after the instance is initialized. + * + * @memberof EngineConfig + * @default + * @type {boolean} + */ + unloadAfterInit: true, + /** + * The HTML DOM Canvas object to use. + * + * By default, the first canvas element in the document will be used is none is specified. + * + * @memberof EngineConfig + * @default + * @type {?HTMLCanvasElement} + */ + canvas: null, + /** + * The name of the WASM file without the extension. (Set by Godot Editor export process). + * + * @memberof EngineConfig + * @default + * @type {string} + */ + executable: '', + /** + * An alternative name for the game pck to load. The executable name is used otherwise. + * + * @memberof EngineConfig + * @default + * @type {?string} + */ + mainPack: null, + /** + * Specify a language code to select the proper localization for the game. + * + * The browser locale will be used if none is specified. See complete list of + * :ref:`supported locales `. + * + * @memberof EngineConfig + * @type {?string} + * @default + */ + locale: null, + /** + * The canvas resize policy determines how the canvas should be resized by Godot. + * + * ``0`` means Godot won't do any resizing. This is useful if you want to control the canvas size from + * javascript code in your template. + * + * ``1`` means Godot will resize the canvas on start, and when changing window size via engine functions. + * + * ``2`` means Godot will adapt the canvas size to match the whole browser window. + * + * @memberof EngineConfig + * @type {number} + * @default + */ + canvasResizePolicy: 2, + /** + * The arguments to be passed as command line arguments on startup. + * + * See :ref:`command line tutorial `. + * + * **Note**: :js:meth:`startGame ` will always add the ``--main-pack`` argument. + * + * @memberof EngineConfig + * @type {Array} + * @default + */ + args: [], + /** + * When enabled, the game canvas will automatically grab the focus when the engine starts. + * + * @memberof EngineConfig + * @type {boolean} + * @default + */ + focusCanvas: true, + /** + * When enabled, this will turn on experimental virtual keyboard support on mobile. + * + * @memberof EngineConfig + * @type {boolean} + * @default + */ + experimentalVK: false, + /** + * The progressive web app service worker to install. + * @memberof EngineConfig + * @default + * @type {string} + */ + serviceWorker: '', + /** + * @ignore + * @type {Array.} + */ + persistentPaths: ['/userfs'], + /** + * @ignore + * @type {boolean} + */ + persistentDrops: false, + /** + * @ignore + * @type {Array.} + */ + gdextensionLibs: [], + /** + * @ignore + * @type {Array.} + */ + fileSizes: [], + /** + * A callback function for handling Godot's ``OS.execute`` calls. + * + * This is for example used in the Web Editor template to switch between project manager and editor, and for running the game. + * + * @callback EngineConfig.onExecute + * @param {string} path The path that Godot's wants executed. + * @param {Array.} args The arguments of the "command" to execute. + */ + /** + * @ignore + * @type {?function(string, Array.)} + */ + onExecute: null, + /** + * A callback function for being notified when the Godot instance quits. + * + * **Note**: This function will not be called if the engine crashes or become unresponsive. + * + * @callback EngineConfig.onExit + * @param {number} status_code The status code returned by Godot on exit. + */ + /** + * @ignore + * @type {?function(number)} + */ + onExit: null, + /** + * A callback function for displaying download progress. + * + * The function is called once per frame while downloading files, so the usage of ``requestAnimationFrame()`` + * is not necessary. + * + * If the callback function receives a total amount of bytes as 0, this means that it is impossible to calculate. + * Possible reasons include: + * + * - Files are delivered with server-side chunked compression + * - Files are delivered with server-side compression on Chromium + * - Not all file downloads have started yet (usually on servers without multi-threading) + * + * @callback EngineConfig.onProgress + * @param {number} current The current amount of downloaded bytes so far. + * @param {number} total The total amount of bytes to be downloaded. + */ + /** + * @ignore + * @type {?function(number, number)} + */ + onProgress: null, + /** + * A callback function for handling the standard output stream. This method should usually only be used in debug pages. + * + * By default, ``console.log()`` is used. + * + * @callback EngineConfig.onPrint + * @param {...*} [var_args] A variadic number of arguments to be printed. + */ + /** + * @ignore + * @type {?function(...*)} + */ + onPrint: function () { + console.log.apply(console, Array.from(arguments)); // eslint-disable-line no-console + }, + /** + * A callback function for handling the standard error stream. This method should usually only be used in debug pages. + * + * By default, ``console.error()`` is used. + * + * @callback EngineConfig.onPrintError + * @param {...*} [var_args] A variadic number of arguments to be printed as errors. + */ + /** + * @ignore + * @type {?function(...*)} + */ + onPrintError: function (var_args) { + console.error.apply(console, Array.from(arguments)); // eslint-disable-line no-console + }, + }; + + /** + * @ignore + * @struct + * @constructor + * @param {EngineConfig} opts + */ + function Config(opts) { + this.update(opts); + } + + Config.prototype = cfg; + + /** + * @ignore + * @param {EngineConfig} opts + */ + Config.prototype.update = function (opts) { + const config = opts || {}; + // NOTE: We must explicitly pass the default, accessing it via + // the key will fail due to closure compiler renames. + function parse(key, def) { + if (typeof (config[key]) === 'undefined') { + return def; + } + return config[key]; + } + // Module config + this.unloadAfterInit = parse('unloadAfterInit', this.unloadAfterInit); + this.onPrintError = parse('onPrintError', this.onPrintError); + this.onPrint = parse('onPrint', this.onPrint); + this.onProgress = parse('onProgress', this.onProgress); + + // Godot config + this.canvas = parse('canvas', this.canvas); + this.executable = parse('executable', this.executable); + this.mainPack = parse('mainPack', this.mainPack); + this.locale = parse('locale', this.locale); + this.canvasResizePolicy = parse('canvasResizePolicy', this.canvasResizePolicy); + this.persistentPaths = parse('persistentPaths', this.persistentPaths); + this.persistentDrops = parse('persistentDrops', this.persistentDrops); + this.experimentalVK = parse('experimentalVK', this.experimentalVK); + this.focusCanvas = parse('focusCanvas', this.focusCanvas); + this.serviceWorker = parse('serviceWorker', this.serviceWorker); + this.gdextensionLibs = parse('gdextensionLibs', this.gdextensionLibs); + this.fileSizes = parse('fileSizes', this.fileSizes); + this.args = parse('args', this.args); + this.onExecute = parse('onExecute', this.onExecute); + this.onExit = parse('onExit', this.onExit); + }; + + /** + * @ignore + * @param {string} loadPath + * @param {Response} response + */ + Config.prototype.getModuleConfig = function (loadPath, response) { + let r = response; + const gdext = this.gdextensionLibs; + return { + 'print': this.onPrint, + 'printErr': this.onPrintError, + 'thisProgram': this.executable, + 'noExitRuntime': false, + 'dynamicLibraries': [`${loadPath}.side.wasm`].concat(this.gdextensionLibs), + 'instantiateWasm': function (imports, onSuccess) { + function done(result) { + onSuccess(result['instance'], result['module']); + } + if (typeof (WebAssembly.instantiateStreaming) !== 'undefined') { + WebAssembly.instantiateStreaming(Promise.resolve(r), imports).then(done); + } else { + r.arrayBuffer().then(function (buffer) { + WebAssembly.instantiate(buffer, imports).then(done); + }); + } + r = null; + return {}; + }, + 'locateFile': function (path) { + if (!path.startsWith('godot.')) { + return path; + } else if (path.endsWith('.audio.worklet.js')) { + return `${loadPath}.audio.worklet.js`; + } else if (path.endsWith('.audio.position.worklet.js')) { + return `${loadPath}.audio.position.worklet.js`; + } else if (path.endsWith('.js')) { + return `${loadPath}.js`; + } else if (path in gdext) { + return path; + } else if (path.endsWith('.side.wasm')) { + return `${loadPath}.side.wasm`; + } else if (path.endsWith('.wasm')) { + return `${loadPath}.wasm`; + } + return path; + }, + }; + }; + + /** + * @ignore + * @param {function()} cleanup + */ + Config.prototype.getGodotConfig = function (cleanup) { + // Try to find a canvas + if (!(this.canvas instanceof HTMLCanvasElement)) { + const nodes = document.getElementsByTagName('canvas'); + if (nodes.length && nodes[0] instanceof HTMLCanvasElement) { + const first = nodes[0]; + this.canvas = /** @type {!HTMLCanvasElement} */ (first); + } + if (!this.canvas) { + throw new Error('No canvas found in page'); + } + } + // Canvas can grab focus on click, or key events won't work. + if (this.canvas.tabIndex < 0) { + this.canvas.tabIndex = 0; + } + + // Browser locale, or custom one if defined. + let locale = this.locale; + if (!locale) { + locale = navigator.languages ? navigator.languages[0] : navigator.language; + locale = locale.split('.')[0]; + } + locale = locale.replace('-', '_'); + const onExit = this.onExit; + + // Godot configuration. + return { + 'canvas': this.canvas, + 'canvasResizePolicy': this.canvasResizePolicy, + 'locale': locale, + 'persistentDrops': this.persistentDrops, + 'virtualKeyboard': this.experimentalVK, + 'focusCanvas': this.focusCanvas, + 'onExecute': this.onExecute, + 'onExit': function (p_code) { + cleanup(); // We always need to call the cleanup callback to free memory. + if (typeof (onExit) === 'function') { + onExit(p_code); + } + }, + }; + }; + return new Config(initConfig); +}; + +/** + * Projects exported for the Web expose the :js:class:`Engine` class to the JavaScript environment, that allows + * fine control over the engine's start-up process. + * + * This API is built in an asynchronous manner and requires basic understanding + * of `Promises `__. + * + * @module Engine + * @header Web export JavaScript reference + */ +const Engine = (function () { + const preloader = new Preloader(); + + let loadPromise = null; + let loadPath = ''; + let initPromise = null; + + /** + * @classdesc The ``Engine`` class provides methods for loading and starting exported projects on the Web. For default export + * settings, this is already part of the exported HTML page. To understand practical use of the ``Engine`` class, + * see :ref:`Custom HTML page for Web export `. + * + * @description Create a new Engine instance with the given configuration. + * + * @global + * @constructor + * @param {EngineConfig} initConfig The initial config for this instance. + */ + function Engine(initConfig) { // eslint-disable-line no-shadow + this.config = new InternalConfig(initConfig); + this.rtenv = null; + } + + /** + * Load the engine from the specified base path. + * + * @param {string} basePath Base path of the engine to load. + * @param {number=} [size=0] The file size if known. + * @returns {Promise} A Promise that resolves once the engine is loaded. + * + * @function Engine.load + */ + Engine.load = function (basePath, size) { + if (loadPromise == null) { + loadPath = basePath; + loadPromise = preloader.loadPromise(`${loadPath}.wasm`, size, true); + requestAnimationFrame(preloader.animateProgress); + } + return loadPromise; + }; + + /** + * Unload the engine to free memory. + * + * This method will be called automatically depending on the configuration. See :js:attr:`unloadAfterInit`. + * + * @function Engine.unload + */ + Engine.unload = function () { + loadPromise = null; + }; + + /** + * Safe Engine constructor, creates a new prototype for every new instance to avoid prototype pollution. + * @ignore + * @constructor + */ + function SafeEngine(initConfig) { + const proto = /** @lends Engine.prototype */ { + /** + * Initialize the engine instance. Optionally, pass the base path to the engine to load it, + * if it hasn't been loaded yet. See :js:meth:`Engine.load`. + * + * @param {string=} basePath Base path of the engine to load. + * @return {Promise} A ``Promise`` that resolves once the engine is loaded and initialized. + */ + init: function (basePath) { + if (initPromise) { + return initPromise; + } + if (loadPromise == null) { + if (!basePath) { + initPromise = Promise.reject(new Error('A base path must be provided when calling `init` and the engine is not loaded.')); + return initPromise; + } + Engine.load(basePath, this.config.fileSizes[`${basePath}.wasm`]); + } + const me = this; + function doInit(promise) { + // Care! Promise chaining is bogus with old emscripten versions. + // This caused a regression with the Mono build (which uses an older emscripten version). + // Make sure to test that when refactoring. + return new Promise(function (resolve, reject) { + promise.then(function (response) { + const cloned = new Response(response.clone().body, { 'headers': [['content-type', 'application/wasm']] }); + Godot(me.config.getModuleConfig(loadPath, cloned)).then(function (module) { + const paths = me.config.persistentPaths; + module['initFS'](paths).then(function (err) { + me.rtenv = module; + if (me.config.unloadAfterInit) { + Engine.unload(); + } + resolve(); + }); + }); + }); + }); + } + preloader.setProgressFunc(this.config.onProgress); + initPromise = doInit(loadPromise); + return initPromise; + }, + + /** + * Load a file so it is available in the instance's file system once it runs. Must be called **before** starting the + * instance. + * + * If not provided, the ``path`` is derived from the URL of the loaded file. + * + * @param {string|ArrayBuffer} file The file to preload. + * + * If a ``string`` the file will be loaded from that path. + * + * If an ``ArrayBuffer`` or a view on one, the buffer will used as the content of the file. + * + * @param {string=} path Path by which the file will be accessible. Required, if ``file`` is not a string. + * + * @returns {Promise} A Promise that resolves once the file is loaded. + */ + preloadFile: function (file, path) { + return preloader.preload(file, path, this.config.fileSizes[file]); + }, + + /** + * Start the engine instance using the given override configuration (if any). + * :js:meth:`startGame ` can be used in typical cases instead. + * + * This will initialize the instance if it is not initialized. For manual initialization, see :js:meth:`init `. + * The engine must be loaded beforehand. + * + * Fails if a canvas cannot be found on the page, or not specified in the configuration. + * + * @param {EngineConfig} override An optional configuration override. + * @return {Promise} Promise that resolves once the engine started. + */ + start: function (override) { + this.config.update(override); + const me = this; + return me.init().then(function () { + if (!me.rtenv) { + return Promise.reject(new Error('The engine must be initialized before it can be started')); + } + + let config = {}; + try { + config = me.config.getGodotConfig(function () { + me.rtenv = null; + }); + } catch (e) { + return Promise.reject(e); + } + // Godot configuration. + me.rtenv['initConfig'](config); + + // Preload GDExtension libraries. + if (me.config.gdextensionLibs.length > 0 && !me.rtenv['loadDynamicLibrary']) { + return Promise.reject(new Error('GDExtension libraries are not supported by this engine version. ' + + 'Enable "Extensions Support" for your export preset and/or build your custom template with "dlink_enabled=yes".')); + } + return new Promise(function (resolve, reject) { + for (const file of preloader.preloadedFiles) { + me.rtenv['copyToFS'](file.path, file.buffer); + } + preloader.preloadedFiles.length = 0; // Clear memory + me.rtenv['callMain'](me.config.args); + initPromise = null; + me.installServiceWorker(); + resolve(); + }); + }); + }, + + /** + * Start the game instance using the given configuration override (if any). + * + * This will initialize the instance if it is not initialized. For manual initialization, see :js:meth:`init `. + * + * This will load the engine if it is not loaded, and preload the main pck. + * + * This method expects the initial config (or the override) to have both the :js:attr:`executable` and :js:attr:`mainPack` + * properties set (normally done by the editor during export). + * + * @param {EngineConfig} override An optional configuration override. + * @return {Promise} Promise that resolves once the game started. + */ + startGame: function (override) { + this.config.update(override); + // Add main-pack argument. + const exe = this.config.executable; + const pack = this.config.mainPack || `${exe}.pck`; + this.config.args = ['--main-pack', pack].concat(this.config.args); + // Start and init with execName as loadPath if not inited. + const me = this; + return Promise.all([ + this.init(exe), + this.preloadFile(pack, pack), + ]).then(function () { + return me.start.apply(me); + }); + }, + + /** + * Create a file at the specified ``path`` with the passed as ``buffer`` in the instance's file system. + * + * @param {string} path The location where the file will be created. + * @param {ArrayBuffer} buffer The content of the file. + */ + copyToFS: function (path, buffer) { + if (this.rtenv == null) { + throw new Error('Engine must be inited before copying files'); + } + this.rtenv['copyToFS'](path, buffer); + }, + + /** + * Request that the current instance quit. + * + * This is akin the user pressing the close button in the window manager, and will + * have no effect if the engine has crashed, or is stuck in a loop. + * + */ + requestQuit: function () { + if (this.rtenv) { + this.rtenv['request_quit'](); + } + }, + + /** + * Install the progressive-web app service worker. + * @returns {Promise} The service worker registration promise. + */ + installServiceWorker: function () { + if (this.config.serviceWorker && 'serviceWorker' in navigator) { + try { + return navigator.serviceWorker.register(this.config.serviceWorker); + } catch (e) { + return Promise.reject(e); + } + } + return Promise.resolve(); + }, + }; + + Engine.prototype = proto; + // Closure compiler exported instance methods. + Engine.prototype['init'] = Engine.prototype.init; + Engine.prototype['preloadFile'] = Engine.prototype.preloadFile; + Engine.prototype['start'] = Engine.prototype.start; + Engine.prototype['startGame'] = Engine.prototype.startGame; + Engine.prototype['copyToFS'] = Engine.prototype.copyToFS; + Engine.prototype['requestQuit'] = Engine.prototype.requestQuit; + Engine.prototype['installServiceWorker'] = Engine.prototype.installServiceWorker; + // Also expose static methods as instance methods + Engine.prototype['load'] = Engine.load; + Engine.prototype['unload'] = Engine.unload; + return new Engine(initConfig); + } + + // Closure compiler exported static methods. + SafeEngine['load'] = Engine.load; + SafeEngine['unload'] = Engine.unload; + + // Feature-detection utilities. + SafeEngine['isWebGLAvailable'] = Features.isWebGLAvailable; + SafeEngine['isFetchAvailable'] = Features.isFetchAvailable; + SafeEngine['isSecureContext'] = Features.isSecureContext; + SafeEngine['isCrossOriginIsolated'] = Features.isCrossOriginIsolated; + SafeEngine['isSharedArrayBufferAvailable'] = Features.isSharedArrayBufferAvailable; + SafeEngine['isAudioWorkletAvailable'] = Features.isAudioWorkletAvailable; + SafeEngine['getMissingFeatures'] = Features.getMissingFeatures; + + return SafeEngine; +}()); +if (typeof window !== 'undefined') { + window['Engine'] = Engine; +} diff --git a/exports/encuentralo.offline.audio.position.worklet.js b/exports/encuentralo.offline.audio.position.worklet.js new file mode 100644 index 0000000..155d4e6 --- /dev/null +++ b/exports/encuentralo.offline.audio.position.worklet.js @@ -0,0 +1,69 @@ +/**************************************************************************/ +/* godot.audio.position.worklet.js */ +/**************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/**************************************************************************/ +/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ +/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/**************************************************************************/ + +const POST_THRESHOLD_S = 0.1; + +class GodotPositionReportingProcessor extends AudioWorkletProcessor { + constructor(...args) { + super(...args); + this.lastPostTime = currentTime; + this.position = 0; + this.ended = false; + + this.port.onmessage = (event) => { + if (event?.data?.type === 'ended') { + this.ended = true; + } + }; + } + + process(inputs, _outputs, _parameters) { + if (this.ended) { + return false; + } + + if (inputs.length > 0) { + const input = inputs[0]; + if (input.length > 0) { + this.position += input[0].length; + } + } + + // Posting messages is expensive. Let's limit the number of posts. + if (currentTime - this.lastPostTime > POST_THRESHOLD_S) { + this.lastPostTime = currentTime; + this.port.postMessage({ type: 'position', data: this.position }); + } + + return true; + } +} + +registerProcessor('godot-position-reporting-processor', GodotPositionReportingProcessor); diff --git a/exports/encuentralo.offline.audio.worklet.js b/exports/encuentralo.offline.audio.worklet.js new file mode 100644 index 0000000..3b94cab --- /dev/null +++ b/exports/encuentralo.offline.audio.worklet.js @@ -0,0 +1,213 @@ +/**************************************************************************/ +/* audio.worklet.js */ +/**************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/**************************************************************************/ +/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ +/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/**************************************************************************/ + +class RingBuffer { + constructor(p_buffer, p_state, p_threads) { + this.buffer = p_buffer; + this.avail = p_state; + this.threads = p_threads; + this.rpos = 0; + this.wpos = 0; + } + + data_left() { + return this.threads ? Atomics.load(this.avail, 0) : this.avail; + } + + space_left() { + return this.buffer.length - this.data_left(); + } + + read(output) { + const size = this.buffer.length; + let from = 0; + let to_write = output.length; + if (this.rpos + to_write > size) { + const high = size - this.rpos; + output.set(this.buffer.subarray(this.rpos, size)); + from = high; + to_write -= high; + this.rpos = 0; + } + if (to_write) { + output.set(this.buffer.subarray(this.rpos, this.rpos + to_write), from); + } + this.rpos += to_write; + if (this.threads) { + Atomics.add(this.avail, 0, -output.length); + Atomics.notify(this.avail, 0); + } else { + this.avail -= output.length; + } + } + + write(p_buffer) { + const to_write = p_buffer.length; + const mw = this.buffer.length - this.wpos; + if (mw >= to_write) { + this.buffer.set(p_buffer, this.wpos); + this.wpos += to_write; + if (mw === to_write) { + this.wpos = 0; + } + } else { + const high = p_buffer.subarray(0, mw); + const low = p_buffer.subarray(mw); + this.buffer.set(high, this.wpos); + this.buffer.set(low); + this.wpos = low.length; + } + if (this.threads) { + Atomics.add(this.avail, 0, to_write); + Atomics.notify(this.avail, 0); + } else { + this.avail += to_write; + } + } +} + +class GodotProcessor extends AudioWorkletProcessor { + constructor() { + super(); + this.threads = false; + this.running = true; + this.lock = null; + this.notifier = null; + this.output = null; + this.output_buffer = new Float32Array(); + this.input = null; + this.input_buffer = new Float32Array(); + this.port.onmessage = (event) => { + const cmd = event.data['cmd']; + const data = event.data['data']; + this.parse_message(cmd, data); + }; + } + + process_notify() { + if (this.notifier) { + Atomics.add(this.notifier, 0, 1); + Atomics.notify(this.notifier, 0); + } + } + + parse_message(p_cmd, p_data) { + if (p_cmd === 'start' && p_data) { + const state = p_data[0]; + let idx = 0; + this.threads = true; + this.lock = state.subarray(idx, ++idx); + this.notifier = state.subarray(idx, ++idx); + const avail_in = state.subarray(idx, ++idx); + const avail_out = state.subarray(idx, ++idx); + this.input = new RingBuffer(p_data[1], avail_in, true); + this.output = new RingBuffer(p_data[2], avail_out, true); + } else if (p_cmd === 'stop') { + this.running = false; + this.output = null; + this.input = null; + this.lock = null; + this.notifier = null; + } else if (p_cmd === 'start_nothreads') { + this.output = new RingBuffer(p_data[0], p_data[0].length, false); + } else if (p_cmd === 'chunk') { + this.output.write(p_data); + } + } + + static array_has_data(arr) { + return arr.length && arr[0].length && arr[0][0].length; + } + + process(inputs, outputs, parameters) { + if (!this.running) { + return false; // Stop processing. + } + if (this.output === null) { + return true; // Not ready yet, keep processing. + } + const process_input = GodotProcessor.array_has_data(inputs); + if (process_input) { + const input = inputs[0]; + const chunk = input[0].length * input.length; + if (this.input_buffer.length !== chunk) { + this.input_buffer = new Float32Array(chunk); + } + if (!this.threads) { + GodotProcessor.write_input(this.input_buffer, input); + this.port.postMessage({ 'cmd': 'input', 'data': this.input_buffer }); + } else if (this.input.space_left() >= chunk) { + GodotProcessor.write_input(this.input_buffer, input); + this.input.write(this.input_buffer); + } else { + // this.port.postMessage('Input buffer is full! Skipping input frame.'); // Uncomment this line to debug input buffer. + } + } + const process_output = GodotProcessor.array_has_data(outputs); + if (process_output) { + const output = outputs[0]; + const chunk = output[0].length * output.length; + if (this.output_buffer.length !== chunk) { + this.output_buffer = new Float32Array(chunk); + } + if (this.output.data_left() >= chunk) { + this.output.read(this.output_buffer); + GodotProcessor.write_output(output, this.output_buffer); + if (!this.threads) { + this.port.postMessage({ 'cmd': 'read', 'data': chunk }); + } + } else { + // this.port.postMessage('Output buffer has not enough frames! Skipping output frame.'); // Uncomment this line to debug output buffer. + } + } + this.process_notify(); + return true; + } + + static write_output(dest, source) { + const channels = dest.length; + for (let ch = 0; ch < channels; ch++) { + for (let sample = 0; sample < dest[ch].length; sample++) { + dest[ch][sample] = source[sample * channels + ch]; + } + } + } + + static write_input(dest, source) { + const channels = source.length; + for (let ch = 0; ch < channels; ch++) { + for (let sample = 0; sample < source[ch].length; sample++) { + dest[sample * channels + ch] = source[ch][sample]; + } + } + } +} + +registerProcessor('godot-processor', GodotProcessor); diff --git a/exports/encuentralo.offline.html b/exports/encuentralo.offline.html new file mode 100644 index 0000000..a5d5b9d --- /dev/null +++ b/exports/encuentralo.offline.html @@ -0,0 +1,250 @@ + + + + + + Encuentralo + + + + + + Your browser does not support the canvas tag. + + + + +
+ + +
+
+ + + + + + diff --git a/exports/encuentralo.offline.js b/exports/encuentralo.offline.js new file mode 100644 index 0000000..e64d1ee --- /dev/null +++ b/exports/encuentralo.offline.js @@ -0,0 +1,912 @@ + +var Godot = (() => { + var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined; + + return ( +function(moduleArg = {}) { + var moduleRtn; + +var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});["_memory","__Z14godot_web_mainiPPc","__emwebxr_on_input_event","__emwebxr_on_simple_event","___indirect_function_table","_main","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(readyPromise,prop)){Object.defineProperty(readyPromise,prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)")}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>{assert(!isFileURI(url),"readAsync does not work with file:// URLs");return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{throw new Error("environment detection error")}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module["arguments"])arguments_=Module["arguments"];legacyModuleProp("arguments","arguments_");if(Module["thisProgram"])thisProgram=Module["thisProgram"];legacyModuleProp("thisProgram","thisProgram");if(Module["quit"])quit_=Module["quit"];legacyModuleProp("quit","quit_");assert(typeof Module["memoryInitializerPrefixURL"]=="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]=="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]=="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]=="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["read"]=="undefined","Module.read option was removed");assert(typeof Module["readAsync"]=="undefined","Module.readAsync option was removed (modify readAsync in JS)");assert(typeof Module["readBinary"]=="undefined","Module.readBinary option was removed (modify readBinary in JS)");assert(typeof Module["setWindowTitle"]=="undefined","Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)");assert(typeof Module["TOTAL_MEMORY"]=="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");legacyModuleProp("asm","wasmExports");legacyModuleProp("readAsync","readAsync");legacyModuleProp("readBinary","readBinary");legacyModuleProp("setWindowTitle","setWindowTitle");assert(!ENVIRONMENT_IS_NODE,"node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable.");assert(!ENVIRONMENT_IS_SHELL,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.");var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];legacyModuleProp("wasmBinary","wasmBinary");if(typeof WebAssembly!="object"){err("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed"+(text?": "+text:""))}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);Module["HEAP64"]=HEAP64=new BigInt64Array(b);Module["HEAPU64"]=HEAPU64=new BigUint64Array(b)}assert(!Module["STACK_SIZE"],"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time");assert(typeof Int32Array!="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,"JS engine does not provide full typed array support");assert(!Module["wasmMemory"],"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally");assert(!Module["INITIAL_MEMORY"],"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically");function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0>>2]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`)}if(HEAPU32[0>>2]!=1668509029){abort("Runtime error: The application has corrupted its heap memory area (address zero)!")}}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){assert(!runtimeExited);checkStackCookie();___funcs_on_exit();callRuntimeCallbacks(__ATEXIT__);FS.quit();TTY.shutdown();IDBFS.quit();runtimeExited=true}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies);if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!="undefined"){runDependencyWatcher=setInterval(()=>{if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err(`dependency: ${dep}`)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function createExportWrapper(name,nargs){return(...args)=>{assert(runtimeInitialized,`native function \`${name}\` called before runtime initialization`);assert(!runtimeExited,`native function \`${name}\` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)`);var f=wasmExports[name];assert(f,`exported native function \`${name}\` not found`);assert(args.length<=nargs,`native function \`${name}\` called with ${args.length} args but expects ${nargs}`);return f(...args)}}function findWasmBinary(){var f="godot.web.template_release.wasm32.nothreads.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);if(isFileURI(wasmBinaryFile)){err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`)}abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["memory"];assert(wasmMemory,"memory not found in wasm exports");updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];assert(wasmTable,"table not found in wasm exports");addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}function legacyModuleProp(prop,newName,incoming=true){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get(){let extra=incoming?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":"";abort(`\`Module.${prop}\` has been replaced by \`${newName}\``+extra)}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`)}}function isExportedByForceFilesystem(name){return name==="FS_createPath"||name==="FS_createDataFile"||name==="FS_createPreloadedFile"||name==="FS_unlink"||name==="addRunDependency"||name==="FS_createLazyFile"||name==="FS_createDevice"||name==="removeRunDependency"}function missingGlobal(sym,msg){if(typeof globalThis!="undefined"){Object.defineProperty(globalThis,sym,{configurable:true,get(){warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`);return undefined}})}}missingGlobal("buffer","Please use HEAP8.buffer or wasmMemory.buffer");missingGlobal("asm","Please use wasmExports instead");function missingLibrarySymbol(sym){if(typeof globalThis!="undefined"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get(){var msg=`\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`;var librarySymbol=sym;if(!librarySymbol.startsWith("_")){librarySymbol="$"+sym}msg+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`;if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}warnOnce(msg);return undefined}})}unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get(){var msg=`'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}abort(msg)}})}}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP64[ptr>>3];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=Module["noExitRuntime"]||false;var ptrToString=ptr=>{assert(typeof ptr==="number");ptr>>>=0;return"0x"+ptr.toString(16).padStart(8,"0")};function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":HEAP64[ptr>>3]=BigInt(value);break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}};var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>{assert(typeof ptr=="number",`UTF8ToString expects a number (got ${typeof ptr})`);return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""};var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var ___call_sighandler=(fp,sig)=>getWasmTableEntry(fp)(sig);var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else abort("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{assert(typeof str==="string",`stringToUTF8Array expects a string (got ${typeof str})`);if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;if(u>1114111)warnOnce("Invalid Unicode code point "+ptrToString(u)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var mmapAlloc=size=>{abort("internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported")};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url).then(arrayBuffer=>{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},err=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var IDBFS={dbs:{},indexedDB:()=>{if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",queuePersist:mount=>{function onPersistComplete(){if(mount.idbPersistState==="again")startPersist();else mount.idbPersistState=0}function startPersist(){mount.idbPersistState="idb";IDBFS.syncfs(mount,false,onPersistComplete)}if(!mount.idbPersistState){mount.idbPersistState=setTimeout(startPersist,0)}else if(mount.idbPersistState==="idb"){mount.idbPersistState="again"}},mount:mount=>{var mnt=MEMFS.mount(mount);if(mount?.opts?.autoPersist){mnt.idbPersistState=0;var memfs_node_ops=mnt.node_ops;mnt.node_ops=Object.assign({},mnt.node_ops);mnt.node_ops.mknod=(parent,name,mode,dev)=>{var node=memfs_node_ops.mknod(parent,name,mode,dev);node.node_ops=mnt.node_ops;node.idbfs_mount=mnt.mount;node.memfs_stream_ops=node.stream_ops;node.stream_ops=Object.assign({},node.stream_ops);node.stream_ops.write=(stream,buffer,offset,length,position,canOwn)=>{stream.node.isModified=true;return node.memfs_stream_ops.write(stream,buffer,offset,length,position,canOwn)};node.stream_ops.close=stream=>{var n=stream.node;if(n.isModified){IDBFS.queuePersist(n.idbfs_mount);n.isModified=false}if(n.memfs_stream_ops.close)return n.memfs_stream_ops.close(stream)};return node};mnt.node_ops.mkdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.mkdir(...args));mnt.node_ops.rmdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rmdir(...args));mnt.node_ops.symlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.symlink(...args));mnt.node_ops.unlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.unlink(...args));mnt.node_ops.rename=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rename(...args))}return mnt},syncfs:(mount,populate,callback)=>{IDBFS.getLocalSet(mount,(err,local)=>{if(err)return callback(err);IDBFS.getRemoteSet(mount,(err,remote)=>{if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},quit:()=>{Object.values(IDBFS.dbs).forEach(value=>value.close());IDBFS.dbs={}},getDB:(name,callback)=>{var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=()=>{db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=e=>{callback(e.target.error);e.preventDefault()}},getLocalSet:(mount,callback)=>{var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return p=>PATH.join2(root,p)}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push(...FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:(mount,callback)=>{var entries={};IDBFS.getDB(mount.mountpoint,(err,db)=>{if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=e=>{callback(e.target.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=event=>{var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:(path,callback)=>{var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:(path,entry,callback)=>{try{if(FS.isDir(entry["mode"])){FS.mkdirTree(path,entry["mode"])}else if(FS.isFile(entry["mode"])){FS.writeFile(path,entry["contents"],{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry["mode"]);FS.utime(path,entry["timestamp"],entry["timestamp"])}catch(e){return callback(e)}callback(null)},removeLocalEntry:(path,callback)=>{try{var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:(store,path,callback)=>{var req=store.get(path);req.onsuccess=event=>callback(null,event.target.result);req.onerror=e=>{callback(e.target.error);e.preventDefault()}},storeRemoteEntry:(store,path,entry,callback)=>{try{var req=store.put(entry,path)}catch(e){callback(e);return}req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},removeRemoteEntry:(store,path,callback)=>{var req=store.delete(path);req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},reconcile:(src,dst,callback)=>{var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e["timestamp"].getTime()!=e2["timestamp"].getTime()){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){if(!src.entries[key]){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=transaction.onabort=e=>{done(e.target.error);e.preventDefault()};transaction.oncomplete=e=>{if(!errored){callback(null)}};create.sort().forEach(path=>{if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(err,entry)=>{if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,(err,entry)=>{if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(path=>{if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var strError=errno=>UTF8ToString(_strerror(errno));var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class extends Error{constructor(errno){super(runtimeInitialized?strError(errno):"");this.name="ErrnoError";this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){assert(typeof parent=="object");var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){assert(fd>=-1);stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){if(typeof type=="string"){throw type}var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;i=0);if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){assert(offset>=0);if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){assert(offset>=0);if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1);assert(stdin.fd===0,`invalid handle for stdin (${stdin.fd})`);assert(stdout.fd===1,`invalid handle for stdout (${stdout.fd})`);assert(stderr.fd===2,`invalid handle for stderr (${stderr.fd})`)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS:MEMFS,IDBFS:IDBFS}},init(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;_fflush(0);for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node},absolutePath(){abort("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder(){abort("FS.createFolder has been removed; use FS.mkdir instead")},createLink(){abort("FS.createLink has been removed; use FS.symlink instead")},joinPath(){abort("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc(){abort("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath(){abort("FS.standardizePath has been removed; use PATH.normalize instead")}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;HEAP64[buf+24>>3]=BigInt(stat.size);HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>3]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>2]=atime%1e3*1e3;HEAP64[buf+56>>3]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>2]=mtime%1e3*1e3;HEAP64[buf+72>>3]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>2]=ctime%1e3*1e3;HEAP64[buf+88>>3]=BigInt(stat.ino);return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);assert(flags===0);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function syscallGetVarargI(){assert(SYSCALLS.varargs!=undefined);var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>numINT53_MAX?NaN:Number(num);function ___syscall_ftruncate64(fd,length){length=bigintToI53Checked(length);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>{assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)};function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>3]=BigInt(id);HEAP64[dirp+pos+8>>3]=BigInt((idx+1)*struct_size);HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mknodat(dirfd,path,mode,dev){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;assert(!flags,`unknown flags in __syscall_newfstatat: ${flags}`);path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_readlinkat(dirfd,path,buf,bufsize){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_statfs64(path,size,buf){try{path=SYSCALLS.getStr(path);assert(size===64);HEAP32[buf+4>>2]=4096;HEAP32[buf+40>>2]=4096;HEAP32[buf+8>>2]=1e6;HEAP32[buf+12>>2]=5e5;HEAP32[buf+16>>2]=5e5;HEAP32[buf+20>>2]=FS.nextInode;HEAP32[buf+24>>2]=1e6;HEAP32[buf+28>>2]=42;HEAP32[buf+44>>2]=2;HEAP32[buf+36>>2]=255;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_symlink(target,linkpath){try{target=SYSCALLS.getStr(target);linkpath=SYSCALLS.getStr(linkpath);FS.symlink(target,linkpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>{abort("native code called abort()")};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};function __gmtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);assert(winterName);assert(summerName);assert(lengthBytesUTF8(winterName)<=16,`timezone name truncated to fit in TZNAME_MAX (${winterName})`);assert(lengthBytesUTF8(summerName)<=16,`timezone name truncated to fit in TZNAME_MAX (${summerName})`);if(summerOffset{runtimeKeepaliveCounter+=1};var _emscripten_set_main_loop_timing=(mode,value)=>{Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){err("emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.");return 1}if(!Browser.mainLoop.running){runtimeKeepalivePush();Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof Browser.setImmediate=="undefined"){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);Browser.setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){Module["setImmediates"]??=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}else{Browser.setImmediate=setImmediate}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){Browser.setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0};var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var webgl_enable_ANGLE_instanced_arrays=ctx=>{var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=(index,divisor)=>ext["vertexAttribDivisorANGLE"](index,divisor);ctx["drawArraysInstanced"]=(mode,first,count,primcount)=>ext["drawArraysInstancedANGLE"](mode,first,count,primcount);ctx["drawElementsInstanced"]=(mode,count,type,indices,primcount)=>ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount);return 1}};var webgl_enable_OES_vertex_array_object=ctx=>{var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=()=>ext["createVertexArrayOES"]();ctx["deleteVertexArray"]=vao=>ext["deleteVertexArrayOES"](vao);ctx["bindVertexArray"]=vao=>ext["bindVertexArrayOES"](vao);ctx["isVertexArray"]=vao=>ext["isVertexArrayOES"](vao);return 1}};var webgl_enable_WEBGL_draw_buffers=ctx=>{var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=(n,bufs)=>ext["drawBuffersWEBGL"](n,bufs);return 1}};var webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));var getEmscriptenSupportedExtensions=ctx=>{var supportedExtensions=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>2]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>2]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>2],len)}return source},createContext:(canvas,webGLContextAttributes)=>{if(webGLContextAttributes.renderViaOffscreenBackBuffer)webGLContextAttributes["preserveDrawingBuffer"]=true;var ctx=webGLContextAttributes.majorVersion>1?canvas.getContext("webgl2",webGLContextAttributes):canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},enableOffscreenFramebufferAttributes:webGLContextAttributes=>{webGLContextAttributes.renderViaOffscreenBackBuffer=true;webGLContextAttributes.preserveDrawingBuffer=true},createOffscreenFramebuffer:context=>{var gl=context.GLctx;var fbo=gl.createFramebuffer();gl.bindFramebuffer(36160,fbo);context.defaultFbo=fbo;context.defaultFboForbidBlitFramebuffer=false;if(gl.getContextAttributes().antialias){context.defaultFboForbidBlitFramebuffer=true}context.defaultColorTarget=gl.createTexture();context.defaultDepthTarget=gl.createRenderbuffer();GL.resizeOffscreenFramebuffer(context);gl.bindTexture(3553,context.defaultColorTarget);gl.texParameteri(3553,10241,9728);gl.texParameteri(3553,10240,9728);gl.texParameteri(3553,10242,33071);gl.texParameteri(3553,10243,33071);gl.texImage2D(3553,0,6408,gl.canvas.width,gl.canvas.height,0,6408,5121,null);gl.framebufferTexture2D(36160,36064,3553,context.defaultColorTarget,0);gl.bindTexture(3553,null);var depthTarget=gl.createRenderbuffer();gl.bindRenderbuffer(36161,context.defaultDepthTarget);gl.renderbufferStorage(36161,33189,gl.canvas.width,gl.canvas.height);gl.framebufferRenderbuffer(36160,36096,36161,context.defaultDepthTarget);gl.bindRenderbuffer(36161,null);var vertices=[-1,-1,-1,1,1,-1,1,1];var vb=gl.createBuffer();gl.bindBuffer(34962,vb);gl.bufferData(34962,new Float32Array(vertices),35044);gl.bindBuffer(34962,null);context.blitVB=vb;var vsCode="attribute vec2 pos;"+"varying lowp vec2 tex;"+"void main() { tex = pos * 0.5 + vec2(0.5,0.5); gl_Position = vec4(pos, 0.0, 1.0); }";var vs=gl.createShader(35633);gl.shaderSource(vs,vsCode);gl.compileShader(vs);var fsCode="varying lowp vec2 tex;"+"uniform sampler2D sampler;"+"void main() { gl_FragColor = texture2D(sampler, tex); }";var fs=gl.createShader(35632);gl.shaderSource(fs,fsCode);gl.compileShader(fs);var blitProgram=gl.createProgram();gl.attachShader(blitProgram,vs);gl.attachShader(blitProgram,fs);gl.linkProgram(blitProgram);context.blitProgram=blitProgram;context.blitPosLoc=gl.getAttribLocation(blitProgram,"pos");gl.useProgram(blitProgram);gl.uniform1i(gl.getUniformLocation(blitProgram,"sampler"),0);gl.useProgram(null);context.defaultVao=undefined;if(gl.createVertexArray){context.defaultVao=gl.createVertexArray();gl.bindVertexArray(context.defaultVao);gl.enableVertexAttribArray(context.blitPosLoc);gl.bindVertexArray(null)}},resizeOffscreenFramebuffer:context=>{var gl=context.GLctx;if(context.defaultColorTarget){var prevTextureBinding=gl.getParameter(32873);gl.bindTexture(3553,context.defaultColorTarget);gl.texImage2D(3553,0,6408,gl.drawingBufferWidth,gl.drawingBufferHeight,0,6408,5121,null);gl.bindTexture(3553,prevTextureBinding)}if(context.defaultDepthTarget){var prevRenderBufferBinding=gl.getParameter(36007);gl.bindRenderbuffer(36161,context.defaultDepthTarget);gl.renderbufferStorage(36161,33189,gl.drawingBufferWidth,gl.drawingBufferHeight);gl.bindRenderbuffer(36161,prevRenderBufferBinding)}},blitOffscreenFramebuffer:context=>{var gl=context.GLctx;var prevScissorTest=gl.getParameter(3089);if(prevScissorTest)gl.disable(3089);var prevFbo=gl.getParameter(36006);if(gl.blitFramebuffer&&!context.defaultFboForbidBlitFramebuffer){gl.bindFramebuffer(36008,context.defaultFbo);gl.bindFramebuffer(36009,null);gl.blitFramebuffer(0,0,gl.canvas.width,gl.canvas.height,0,0,gl.canvas.width,gl.canvas.height,16384,9728)}else{gl.bindFramebuffer(36160,null);var prevProgram=gl.getParameter(35725);gl.useProgram(context.blitProgram);var prevVB=gl.getParameter(34964);gl.bindBuffer(34962,context.blitVB);var prevActiveTexture=gl.getParameter(34016);gl.activeTexture(33984);var prevTextureBinding=gl.getParameter(32873);gl.bindTexture(3553,context.defaultColorTarget);var prevBlend=gl.getParameter(3042);if(prevBlend)gl.disable(3042);var prevCullFace=gl.getParameter(2884);if(prevCullFace)gl.disable(2884);var prevDepthTest=gl.getParameter(2929);if(prevDepthTest)gl.disable(2929);var prevStencilTest=gl.getParameter(2960);if(prevStencilTest)gl.disable(2960);function draw(){gl.vertexAttribPointer(context.blitPosLoc,2,5126,false,0,0);gl.drawArrays(5,0,4)}if(context.defaultVao){var prevVAO=gl.getParameter(34229);gl.bindVertexArray(context.defaultVao);draw();gl.bindVertexArray(prevVAO)}else{var prevVertexAttribPointer={buffer:gl.getVertexAttrib(context.blitPosLoc,34975),size:gl.getVertexAttrib(context.blitPosLoc,34339),stride:gl.getVertexAttrib(context.blitPosLoc,34340),type:gl.getVertexAttrib(context.blitPosLoc,34341),normalized:gl.getVertexAttrib(context.blitPosLoc,34922),pointer:gl.getVertexAttribOffset(context.blitPosLoc,34373)};var maxVertexAttribs=gl.getParameter(34921);var prevVertexAttribEnables=[];for(var i=0;i{var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}if(webGLContextAttributes.renderViaOffscreenBackBuffer)GL.createOffscreenFramebuffer(context);return handle},makeContextCurrent:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext?.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle]){GL.currentContext=null}if(typeof JSEvents=="object"){JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas)}if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas){GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined}GL.contexts[contextHandle]=null},initExtensions:context=>{context||=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_ANGLE_instanced_arrays(GLctx);webgl_enable_OES_vertex_array_object(GLctx);webgl_enable_WEBGL_draw_buffers(GLctx);webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);getEmscriptenSupportedExtensions(GLctx).forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var _emscripten_webgl_do_commit_frame=()=>{if(!GL.currentContext||!GL.currentContext.GLctx){return-3}if(GL.currentContext.defaultFbo){GL.blitOffscreenFramebuffer(GL.currentContext);return 0}if(!GL.currentContext.attributes.explicitSwapControl){return-3}return 0};var _emscripten_webgl_commit_frame=_emscripten_webgl_do_commit_frame;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;if(!keepRuntimeAlive()){exitRuntime()}if(keepRuntimeAlive()&&!implicit){var msg=`program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`;readyPromiseReject(msg);err(msg)}_proc_exit(status)};var _exit=exitJS;var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}checkStackCookie();if(e instanceof WebAssembly.RuntimeError){if(_emscripten_stack_get_current()<=0){err("Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 5242880)")}}quit_(1,e)};var maybeExit=()=>{if(runtimeExited){return}if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var runtimeKeepalivePop=()=>{assert(runtimeKeepaliveCounter>0);runtimeKeepaliveCounter-=1};var setMainLoop=(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){warnOnce("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);checkStackCookie();if(!checkIsRunning())return;if(typeof SDL=="object")SDL.audio?.queueNewAudioData?.();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};var callUserCallback=func=>{if(runtimeExited||ABORT){err("user callback triggered after runtime exited or application aborted. Ignoring.");return}try{func();maybeExit()}catch(e){handleException(e)}};var safeSetTimeout=(func,timeout)=>{runtimeKeepalivePush();return setTimeout(()=>{runtimeKeepalivePop();callUserCallback(func)},timeout)};var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{assert(img.complete,`Image ${name} could not be decoded`);var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);preloadedImages[name]=canvas;URL.revokeObjectURL(url);onload?.(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);onerror?.()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;preloadedAudios[name]=audio;onload?.(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);assert(typeof url=="string","createObjectURL must return a url as a string");var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err(`warning: browser could not fully decode audio ${name}, trying slower base64 approach`);function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:typeof WebGL2RenderingContext!="undefined"?2:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},destroyContext(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},requestFullScreen(){abort("Module.requestFullScreen has been replaced by Module.requestFullscreen (without a capital S)")},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame(func){runtimeKeepalivePush();return Browser.requestAnimationFrame(()=>{runtimeKeepalivePop();callUserCallback(func)})},getMimetype(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia(func){window.getUserMedia||=navigator["getUserMedia"]||navigator["mozGetUserMedia"];window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(pageX,pageY){var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;assert(typeof scrollX!="undefined"&&typeof scrollY!="undefined","Unable to retrieve scroll position, mouse positions likely broken.");var adjustedX=pageX-(scrollX+rect.left);var adjustedY=pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);return{x:adjustedX,y:adjustedY}},setMouseCoords(pageX,pageY){const{x:x,y:y}=Browser.calculateMouseCoords(pageX,pageY);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h{Browser.mainLoop.pause();Browser.mainLoop.func=null};var _emscripten_date_now=()=>Date.now();var _emscripten_err=str=>err(UTF8ToString(str));var _emscripten_force_exit=status=>{__emscripten_runtime_keepalive_clear();_exit(status)};var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){err(`growMemory: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`)}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err(`Cannot enlarge memory, requested ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`);return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`);return false};var JSEvents={removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},registerRemoveEventListeners(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},inEventHandler:0,deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var call of JSEvents.deferredCalls){if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedencecall.targetFunction!=targetFunction)},canPerformEventHandlerRequests(){if(navigator.userActivation){return navigator.userActivation.isActive}return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(!JSEvents.canPerformEventHandlerRequests()){return}var deferredCalls=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var call of deferredCalls){call.targetFunction(...call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(target,eventTypeString)=>{for(var i=0;icString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement};var findCanvasEventTarget=findEventTarget;var _emscripten_set_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;if(canvas.GLctxObject)GL.resizeOffscreenFramebuffer(canvas.GLctxObject);return 0};var _emscripten_set_main_loop=(func,fps,simulateInfiniteLoop)=>{var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)};var webglPowerPreferences=["default","low-power","high-performance"];var _emscripten_webgl_do_create_context=(target,attributes)=>{assert(attributes);var attr32=attributes>>2;var powerPreference=HEAP32[attr32+(8>>2)];var contextAttributes={alpha:!!HEAP8[attributes+0],depth:!!HEAP8[attributes+1],stencil:!!HEAP8[attributes+2],antialias:!!HEAP8[attributes+3],premultipliedAlpha:!!HEAP8[attributes+4],preserveDrawingBuffer:!!HEAP8[attributes+5],powerPreference:webglPowerPreferences[powerPreference],failIfMajorPerformanceCaveat:!!HEAP8[attributes+12],majorVersion:HEAP32[attr32+(16>>2)],minorVersion:HEAP32[attr32+(20>>2)],enableExtensionsByDefault:HEAP8[attributes+24],explicitSwapControl:HEAP8[attributes+25],proxyContextToMainThread:HEAP32[attr32+(28>>2)],renderViaOffscreenBackBuffer:HEAP8[attributes+32]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl&&!contextAttributes.renderViaOffscreenBackBuffer){contextAttributes.renderViaOffscreenBackBuffer=true}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle};var _emscripten_webgl_create_context=_emscripten_webgl_do_create_context;var _emscripten_webgl_destroy_context=contextHandle=>{if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)};var _emscripten_webgl_enable_extension=(contextHandle,extension)=>{var context=GL.getContext(contextHandle);var extString=UTF8ToString(extension);if(extString.startsWith("GL_"))extString=extString.substr(3);if(extString=="ANGLE_instanced_arrays")webgl_enable_ANGLE_instanced_arrays(GLctx);if(extString=="OES_vertex_array_object")webgl_enable_OES_vertex_array_object(GLctx);if(extString=="WEBGL_draw_buffers")webgl_enable_WEBGL_draw_buffers(GLctx);if(extString=="WEBGL_draw_instanced_base_vertex_base_instance")webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw_instanced_base_vertex_base_instance")webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw")webgl_enable_WEBGL_multi_draw(GLctx);var ext=context.GLctx.getExtension(extString);return!!ext};var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var _emscripten_webgl_get_supported_extensions=()=>stringToNewUTF8(GLctx.getSupportedExtensions().join(" "));var _emscripten_webgl_make_context_current=contextHandle=>{var success=GL.makeContextCurrent(contextHandle);return success?0:-5};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;HEAP64[pbuf+8>>3]=BigInt(rightsBase);HEAP64[pbuf+16>>3]=BigInt(rightsInheriting);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>3]=BigInt(stream.position);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _glActiveTexture=x0=>GLctx.activeTexture(x0);var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};var _glBeginTransformFeedback=x0=>GLctx.beginTransformFeedback(x0);var _glBindBuffer=(target,buffer)=>{if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])};var _glBindBufferBase=(target,index,buffer)=>{GLctx.bindBufferBase(target,index,GL.buffers[buffer])};var _glBindBufferRange=(target,index,buffer,offset,ptrsize)=>{GLctx.bindBufferRange(target,index,GL.buffers[buffer],offset,ptrsize)};var _glBindFramebuffer=(target,framebuffer)=>{GLctx.bindFramebuffer(target,framebuffer?GL.framebuffers[framebuffer]:GL.currentContext.defaultFbo)};var _glBindRenderbuffer=(target,renderbuffer)=>{GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])};var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};var _glBlendColor=(x0,x1,x2,x3)=>GLctx.blendColor(x0,x1,x2,x3);var _glBlendEquation=x0=>GLctx.blendEquation(x0);var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);var _glBlitFramebuffer=(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)=>GLctx.blitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9);var _glBufferData=(target,size,data,usage)=>{if(GL.currentContext.version>=2){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}return}GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)};var _glBufferSubData=(target,offset,size,data)=>{if(GL.currentContext.version>=2){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))};var _glCheckFramebufferStatus=x0=>GLctx.checkFramebufferStatus(x0);var _glClear=x0=>GLctx.clear(x0);var _glClearBufferfv=(buffer,drawbuffer,value)=>{GLctx.clearBufferfv(buffer,drawbuffer,HEAPF32,value>>2)};var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);var _glClearDepthf=x0=>GLctx.clearDepth(x0);var _glColorMask=(red,green,blue,alpha)=>{GLctx.colorMask(!!red,!!green,!!blue,!!alpha)};var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};var _glCompressedTexImage2D=(target,level,internalFormat,width,height,border,imageSize,data)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data);return}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8,data,imageSize);return}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)};var _glCompressedTexImage3D=(target,level,internalFormat,width,height,depth,border,imageSize,data)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data)}else{GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,HEAPU8,data,imageSize)}};var _glCompressedTexSubImage3D=(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)}else{GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,HEAPU8,data,imageSize)}};var _glCopyBufferSubData=(x0,x1,x2,x3,x4)=>GLctx.copyBufferSubData(x0,x1,x2,x3,x4);var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};var _glCullFace=x0=>GLctx.cullFace(x0);var _glDeleteBuffers=(n,buffers)=>{for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GLctx.currentPixelPackBufferBinding)GLctx.currentPixelPackBufferBinding=0;if(id==GLctx.currentPixelUnpackBufferBinding)GLctx.currentPixelUnpackBufferBinding=0}};var _glDeleteFramebuffers=(n,framebuffers)=>{for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}};var _glDeleteProgram=id=>{if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null};var _glDeleteQueries=(n,ids)=>{for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.deleteQuery(query);GL.queries[id]=null}};var _glDeleteRenderbuffers=(n,renderbuffers)=>{for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}};var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};var _glDeleteSync=id=>{if(!id)return;var sync=GL.syncs[id];if(!sync){GL.recordError(1281);return}GLctx.deleteSync(sync);sync.name=0;GL.syncs[id]=null};var _glDeleteTextures=(n,textures)=>{for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}};var _glDeleteVertexArrays=(n,vaos)=>{for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}};var _glDepthFunc=x0=>GLctx.depthFunc(x0);var _glDepthMask=flag=>{GLctx.depthMask(!!flag)};var _glDisable=x0=>GLctx.disable(x0);var _glDisableVertexAttribArray=index=>{GLctx.disableVertexAttribArray(index)};var _glDrawArrays=(mode,first,count)=>{GLctx.drawArrays(mode,first,count)};var _glDrawArraysInstanced=(mode,first,count,primcount)=>{GLctx.drawArraysInstanced(mode,first,count,primcount)};var tempFixedLengthArray=[];var _glDrawBuffers=(n,bufs)=>{var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx.drawBuffers(bufArray)};var _glDrawElements=(mode,count,type,indices)=>{GLctx.drawElements(mode,count,type,indices)};var _glDrawElementsInstanced=(mode,count,type,indices,primcount)=>{GLctx.drawElementsInstanced(mode,count,type,indices,primcount)};var _glEnable=x0=>GLctx.enable(x0);var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};var _glEndTransformFeedback=()=>GLctx.endTransformFeedback();var _glFenceSync=(condition,flags)=>{var sync=GLctx.fenceSync(condition,flags);if(sync){var id=GL.getNewId(GL.syncs);sync.name=id;GL.syncs[id]=sync;return id}return 0};var _glFinish=()=>GLctx.finish();var _glFramebufferRenderbuffer=(target,attachment,renderbuffertarget,renderbuffer)=>{GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])};var _glFramebufferTexture2D=(target,attachment,textarget,texture,level)=>{GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)};var _glFramebufferTextureLayer=(target,attachment,texture,level,layer)=>{GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)};var _glFrontFace=x0=>GLctx.frontFace(x0);var _glGenBuffers=(n,buffers)=>{GL.genObject(n,buffers,"createBuffer",GL.buffers)};var _glGenFramebuffers=(n,ids)=>{GL.genObject(n,ids,"createFramebuffer",GL.framebuffers)};var _glGenQueries=(n,ids)=>{GL.genObject(n,ids,"createQuery",GL.queries)};var _glGenRenderbuffers=(n,renderbuffers)=>{GL.genObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)};var _glGenTextures=(n,textures)=>{GL.genObject(n,textures,"createTexture",GL.textures)};var _glGenVertexArrays=(n,arrays)=>{GL.genObject(n,arrays,"createVertexArray",GL.vaos)};var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);var readI53FromI64=ptr=>HEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;var readI53FromU64=ptr=>HEAPU32[ptr>>2]+HEAPU32[ptr+4>>2]*4294967296;var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>2]=num;var lower=HEAPU32[ptr>>2];HEAPU32[ptr+4>>2]=(num-lower)/4294967296;var deserialized=num>=0?readI53FromU64(ptr):readI53FromI64(ptr);var offset=ptr>>2;if(deserialized!=num)warnOnce(`writeI53ToI64() out of range: serialized JS Number ${num} to Wasm heap as bytes lo=${ptrToString(HEAPU32[offset])}, hi=${ptrToString(HEAPU32[offset+1])}, which deserializes back to ${deserialized} instead!`)};var webglGetExtensions=function $webglGetExtensions(){var exts=getEmscriptenSupportedExtensions(GLctx);exts=exts.concat(exts.map(e=>"GL_"+e));return exts};var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}ret=webglGetExtensions().length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Unknown object returned from WebGL getParameter(${name_})! (error: ${e})`);return}}break;default:GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Native code calling glGet${type}v(${name_}) and it returns ${result} of type ${typeof result}!`);return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p]=ret?1:0;break}};var _glGetFloatv=(name_,p)=>emscriptenWebGLGet(name_,p,2);var _glGetInteger64v=(name_,p)=>{emscriptenWebGLGet(name_,p,1)};var _glGetIntegerv=(name_,p)=>emscriptenWebGLGet(name_,p,0);var _glGetProgramInfoLog=(program,maxLength,length,infoLog)=>{var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetProgramiv=(program,pname,p)=>{if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}};var _glGetShaderInfoLog=(shader,maxLength,length,infoLog)=>{var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetShaderiv=(shader,pname,p)=>{if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}};var _glGetString=name_=>{var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:ret=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s?stringToNewUTF8(s):0;break;case 7938:var glVersion=GLctx.getParameter(7938);if(GL.currentContext.version>=2)glVersion=`OpenGL ES 3.0 (${glVersion})`;else{glVersion=`OpenGL ES 2.0 (${glVersion})`}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion=`OpenGL ES GLSL ES ${ver_num[1]} (${glslVersion})`}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret};var _glGetSynciv=(sync,pname,bufSize,length,values)=>{if(bufSize<0){GL.recordError(1281);return}if(!values){GL.recordError(1281);return}var ret=GLctx.getSyncParameter(GL.syncs[sync],pname);if(ret!==null){HEAP32[values>>2]=ret;if(length)HEAP32[length>>2]=1}};var _glGetUniformBlockIndex=(program,uniformBlockName)=>GLctx.getUniformBlockIndex(GL.programs[program],UTF8ToString(uniformBlockName));var jstoi_q=str=>parseInt(str);var webglGetLeftBracePos=name=>name.slice(-1)=="]"&&name.lastIndexOf("[");var webglPrepareUniformLocationsBeforeFirstUse=program=>{var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j{name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};var _glPixelStorei=(pname,param)=>{if(pname==3317){GL.unpackAlignment=param}else if(pname==3314){GL.unpackRowLength=param}GLctx.pixelStorei(pname,param)};var _glReadBuffer=x0=>GLctx.readBuffer(x0);var computeUnpackAlignedImageSize=(width,height,sizePerPixel)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=(GL.unpackRowLength||width)*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,GL.unpackAlignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel);return heap.subarray(toTypedArrayIndex(pixels,heap),toTypedArrayIndex(pixels+bytes,heap))};var _glReadPixels=(x,y,width,height,format,type,pixels)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels);return}var heap=heapObjectForWebGLType(type);var target=toTypedArrayIndex(pixels,heap);GLctx.readPixels(x,y,width,height,format,type,heap,target);return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)};var _glRenderbufferStorage=(x0,x1,x2,x3)=>GLctx.renderbufferStorage(x0,x1,x2,x3);var _glRenderbufferStorageMultisample=(x0,x1,x2,x3,x4)=>GLctx.renderbufferStorageMultisample(x0,x1,x2,x3,x4);var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);var _glShaderSource=(shader,count,string,length)=>{var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)};var _glTexImage2D=(target,level,internalFormat,width,height,border,format,type,pixels)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels);return}if(pixels){var heap=heapObjectForWebGLType(type);var index=toTypedArrayIndex(pixels,heap);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,index);return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null;GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)};var _glTexImage3D=(target,level,internalFormat,width,height,depth,border,format,type,pixels)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,null)}};var _glTexParameterf=(x0,x1,x2)=>GLctx.texParameterf(x0,x1,x2);var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);var _glTexStorage2D=(x0,x1,x2,x3,x4)=>GLctx.texStorage2D(x0,x1,x2,x3,x4);var _glTexSubImage3D=(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}};var _glTransformFeedbackVaryings=(program,count,varyings,bufferMode)=>{program=GL.programs[program];var vars=[];for(var i=0;i>2]));GLctx.transformFeedbackVaryings(program,vars,bufferMode)};var webglGetUniformLocation=location=>{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};var miniTempWebGLIntBuffers=[];var _glUniform1iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform1iv(webglGetUniformLocation(location),HEAP32,value>>2,count);return}if(count<=288){var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)};var _glUniform1ui=(location,v0)=>{GLctx.uniform1ui(webglGetUniformLocation(location),v0)};var _glUniform1uiv=(location,count,value)=>{count&&GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count)};var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};var miniTempWebGLFloatBuffers=[];var _glUniform2fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform2fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*2);return}if(count<=144){var view=miniTempWebGLFloatBuffers[2*count];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)};var _glUniform2iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform2iv(webglGetUniformLocation(location),HEAP32,value>>2,count*2);return}if(count<=144){var view=miniTempWebGLIntBuffers[2*count];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)};var _glUniform3fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform3fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*3);return}if(count<=96){var view=miniTempWebGLFloatBuffers[3*count];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)};var _glUniform4f=(location,v0,v1,v2,v3)=>{GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)};var _glUniform4fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform4fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*4);return}if(count<=72){var view=miniTempWebGLFloatBuffers[4*count];var heap=HEAPF32;value=value>>2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)};var _glUniformBlockBinding=(program,uniformBlockIndex,uniformBlockBinding)=>{program=GL.programs[program];GLctx.uniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding)};var _glUniformMatrix3fv=(location,count,transpose,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*9);return}if(count<=32){var view=miniTempWebGLFloatBuffers[9*count];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)};var _glUniformMatrix4fv=(location,count,transpose,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16);return}if(count<=18){var view=miniTempWebGLFloatBuffers[16*count];var heap=HEAPF32;value=value>>2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)};var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};var _glVertexAttrib4f=(x0,x1,x2,x3,x4)=>GLctx.vertexAttrib4f(x0,x1,x2,x3,x4);var _glVertexAttribDivisor=(index,divisor)=>{GLctx.vertexAttribDivisor(index,divisor)};var _glVertexAttribI4ui=(x0,x1,x2,x3,x4)=>GLctx.vertexAttribI4ui(x0,x1,x2,x3,x4);var _glVertexAttribIPointer=(index,size,type,stride,ptr)=>{GLctx.vertexAttribIPointer(index,size,type,stride,ptr)};var _glVertexAttribPointer=(index,size,type,normalized,stride,ptr)=>{GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)};var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);var GodotRuntime={get_func:function(ptr){return wasmTable.get(ptr)},error:function(){err.apply(null,Array.from(arguments))},print:function(){out.apply(null,Array.from(arguments))},malloc:function(p_size){return _malloc(p_size)},free:function(p_ptr){_free(p_ptr)},getHeapValue:function(p_ptr,p_type){return getValue(p_ptr,p_type)},setHeapValue:function(p_ptr,p_value,p_type){setValue(p_ptr,p_value,p_type)},heapSub:function(p_heap,p_ptr,p_len){const bytes=p_heap.BYTES_PER_ELEMENT;return p_heap.subarray(p_ptr/bytes,p_ptr/bytes+p_len)},heapSlice:function(p_heap,p_ptr,p_len){const bytes=p_heap.BYTES_PER_ELEMENT;return p_heap.slice(p_ptr/bytes,p_ptr/bytes+p_len)},heapCopy:function(p_dst,p_src,p_ptr){const bytes=p_src.BYTES_PER_ELEMENT;return p_dst.set(p_src,p_ptr/bytes)},parseString:function(p_ptr){return UTF8ToString(p_ptr)},parseStringArray:function(p_ptr,p_size){const strings=[];const ptrs=GodotRuntime.heapSub(HEAP32,p_ptr,p_size);ptrs.forEach(function(ptr){strings.push(GodotRuntime.parseString(ptr))});return strings},strlen:function(p_str){return lengthBytesUTF8(p_str)},allocString:function(p_str){const length=GodotRuntime.strlen(p_str)+1;const c_str=GodotRuntime.malloc(length);stringToUTF8(p_str,c_str,length);return c_str},allocStringArray:function(p_strings){const size=p_strings.length;const c_ptr=GodotRuntime.malloc(size*4);for(let i=0;i>2)+i]=GodotRuntime.allocString(p_strings[i])}return c_ptr},freeStringArray:function(p_ptr,p_len){for(let i=0;i>2)+i])}GodotRuntime.free(p_ptr)},stringToHeap:function(p_str,p_ptr,p_len){return stringToUTF8Array(p_str,HEAP8,p_ptr,p_len)}};var GodotConfig={canvas:null,locale:"en",canvas_resize_policy:2,virtual_keyboard:false,persistent_drops:false,on_execute:null,on_exit:null,init_config:function(p_opts){GodotConfig.canvas_resize_policy=p_opts["canvasResizePolicy"];GodotConfig.canvas=p_opts["canvas"];GodotConfig.locale=p_opts["locale"]||GodotConfig.locale;GodotConfig.virtual_keyboard=p_opts["virtualKeyboard"];GodotConfig.persistent_drops=!!p_opts["persistentDrops"];GodotConfig.on_execute=p_opts["onExecute"];GodotConfig.on_exit=p_opts["onExit"];if(p_opts["focusCanvas"]){GodotConfig.canvas.focus()}},locate_file:function(file){return Module["locateFile"](file)},clear:function(){GodotConfig.canvas=null;GodotConfig.locale="en";GodotConfig.canvas_resize_policy=2;GodotConfig.virtual_keyboard=false;GodotConfig.persistent_drops=false;GodotConfig.on_execute=null;GodotConfig.on_exit=null}};var GodotFS={ENOENT:44,_idbfs:false,_syncing:false,_mount_points:[],is_persistent:function(){return GodotFS._idbfs?1:0},init:function(persistentPaths){GodotFS._idbfs=false;if(!Array.isArray(persistentPaths)){return Promise.reject(new Error("Persistent paths must be an array"))}if(!persistentPaths.length){return Promise.resolve()}GodotFS._mount_points=persistentPaths.slice();function createRecursive(dir){try{FS.stat(dir)}catch(e){if(e.errno!==GodotFS.ENOENT){GodotRuntime.error(e)}FS.mkdirTree(dir)}}GodotFS._mount_points.forEach(function(path){createRecursive(path);FS.mount(IDBFS,{},path)});return new Promise(function(resolve,reject){FS.syncfs(true,function(err){if(err){GodotFS._mount_points=[];GodotFS._idbfs=false;GodotRuntime.print(`IndexedDB not available: ${err.message}`)}else{GodotFS._idbfs=true}resolve(err)})})},deinit:function(){GodotFS._mount_points.forEach(function(path){try{FS.unmount(path)}catch(e){GodotRuntime.print("Already unmounted",e)}if(GodotFS._idbfs&&IDBFS.dbs[path]){IDBFS.dbs[path].close();delete IDBFS.dbs[path]}});GodotFS._mount_points=[];GodotFS._idbfs=false;GodotFS._syncing=false},sync:function(){if(GodotFS._syncing){GodotRuntime.error("Already syncing!");return Promise.resolve()}GodotFS._syncing=true;return new Promise(function(resolve,reject){FS.syncfs(false,function(error){if(error){GodotRuntime.error(`Failed to save IDB file system: ${error.message}`)}GodotFS._syncing=false;resolve(error)})})},copy_to_fs:function(path,buffer){const idx=path.lastIndexOf("/");let dir="/";if(idx>0){dir=path.slice(0,idx)}try{FS.stat(dir)}catch(e){if(e.errno!==GodotFS.ENOENT){GodotRuntime.error(e)}FS.mkdirTree(dir)}FS.writeFile(path,new Uint8Array(buffer))}};var GodotOS={request_quit:function(){},_async_cbs:[],_fs_sync_promise:null,atexit:function(p_promise_cb){GodotOS._async_cbs.push(p_promise_cb)},cleanup:function(exit_code){const cb=GodotConfig.on_exit;GodotFS.deinit();GodotConfig.clear();if(cb){cb(exit_code)}},finish_async:function(callback){GodotOS._fs_sync_promise.then(function(err){const promises=[];GodotOS._async_cbs.forEach(function(cb){promises.push(new Promise(cb))});return Promise.all(promises)}).then(function(){return GodotFS.sync()}).then(function(err){setTimeout(function(){callback()},0)})}};var GodotAudio={MAX_VOLUME_CHANNELS:8,GodotChannel:{CHANNEL_L:0,CHANNEL_R:1,CHANNEL_C:3,CHANNEL_LFE:4,CHANNEL_RL:5,CHANNEL_RR:6,CHANNEL_SL:7,CHANNEL_SR:8},WebChannel:{CHANNEL_L:0,CHANNEL_R:1,CHANNEL_SL:2,CHANNEL_SR:3,CHANNEL_C:4,CHANNEL_LFE:5},samples:null,Sample:class Sample{static getSample(id){if(!GodotAudio.samples.has(id)){throw new ReferenceError(`Could not find sample "${id}"`)}return GodotAudio.samples.get(id)}static getSampleOrNull(id){return GodotAudio.samples.get(id)??null}static create(params,options={}){const sample=new GodotAudio.Sample(params,options);GodotAudio.samples.set(params.id,sample);return sample}static delete(id){GodotAudio.samples.delete(id)}constructor(params,options={}){this.id=params.id;this._audioBuffer=null;this.numberOfChannels=options.numberOfChannels??2;this.sampleRate=options.sampleRate??44100;this.loopMode=options.loopMode??"disabled";this.loopBegin=options.loopBegin??0;this.loopEnd=options.loopEnd??0;this.setAudioBuffer(params.audioBuffer)}getAudioBuffer(){return this._duplicateAudioBuffer()}setAudioBuffer(val){this._audioBuffer=val}clear(){this.setAudioBuffer(null);GodotAudio.Sample.delete(this.id)}_duplicateAudioBuffer(){if(this._audioBuffer==null){throw new Error("couldn't duplicate a null audioBuffer")}const channels=new Array(this._audioBuffer.numberOfChannels);for(let i=0;i{const newErr=new Error("Failed to create PositionWorklet.");newErr.cause=err;GodotRuntime.error(newErr)})}getPlaybackRate(){return this._playbackRate}getPlaybackPosition(){return this._playbackPosition}setPlaybackRate(val){this._playbackRate=val;this._syncPlaybackRate()}getPitchScale(){return this._pitchScale}setPitchScale(val){this._pitchScale=val;this._syncPlaybackRate()}getSample(){return GodotAudio.Sample.getSample(this.streamObjectId)}getOutputNode(){return this._source}start(){if(this.isStarted){return}this._resetSourceStartTime();this._source.start(this.startTime,this.offset);this.isStarted=true}stop(){this.clear()}restart(){this.isPaused=false;this.pauseTime=0;this._resetSourceStartTime();this._restart()}pause(enable=true){if(enable){this._pause();return}this._unpause()}connect(node){return this.getOutputNode().connect(node)}setVolumes(buses,volumes){for(let busIdx=0;busIdx{switch(event.data["type"]){case"position":this._playbackPosition=parseInt(event.data.data,10)/this.getSample().sampleRate+this.offset;break;default:}};return this._positionWorklet}clear(){this.isCanceled=true;this.isPaused=false;this.pauseTime=0;if(this._source!=null){this._source.removeEventListener("ended",this._onended);this._onended=null;if(this.isStarted){this._source.stop()}this._source.disconnect();this._source=null}for(const sampleNodeBus of this._sampleNodeBuses.values()){sampleNodeBus.clear()}this._sampleNodeBuses.clear();if(this._positionWorklet){this._positionWorklet.disconnect();this._positionWorklet.port.onmessage=null;this._positionWorklet.port.postMessage({type:"ended"});this._positionWorklet=null}GodotAudio.SampleNode.delete(this.id)}_resetSourceStartTime(){this._sourceStartTime=GodotAudio.ctx.currentTime}_syncPlaybackRate(){this._source.playbackRate.value=this.getPlaybackRate()*this.getPitchScale()}_restart(){if(this._source!=null){this._source.disconnect()}this._source=GodotAudio.ctx.createBufferSource();this._source.buffer=this.getSample().getAudioBuffer();for(const sampleNodeBus of this._sampleNodeBuses.values()){this.connect(sampleNodeBus.getInputNode())}this._addEndedListener();const pauseTime=this.isPaused?this.pauseTime:0;if(this._positionWorklet!=null){this._positionWorklet.port.postMessage({type:"clear"});this._source.connect(this._positionWorklet)}this._source.start(this.startTime,this.offset+pauseTime);this.isStarted=true}_pause(){if(!this.isStarted){return}this.isPaused=true;this.pauseTime=(GodotAudio.ctx.currentTime-this._sourceStartTime)/this.getPlaybackRate();this._source.stop()}_unpause(){this._restart();this.isPaused=false;this.pauseTime=0}_addEndedListener(){if(this._onended!=null){this._source.removeEventListener("ended",this._onended)}const self=this;this._onended=_=>{if(self.isPaused){return}switch(self.getSample().loopMode){case"disabled":{const id=this.id;self.stop();if(GodotAudio.sampleFinishedCallback!=null){const idCharPtr=GodotRuntime.allocString(id);GodotAudio.sampleFinishedCallback(idCharPtr);GodotRuntime.free(idCharPtr)}}break;case"forward":case"backward":self.restart();break;default:}};this._source.addEventListener("ended",this._onended)}},buses:null,busSolo:null,Bus:class Bus{static getCount(){return GodotAudio.buses.length}static setCount(val){const buses=GodotAudio.buses;if(val===buses.length){return}if(val=GodotAudio.buses.length){throw new ReferenceError(`invalid bus index "${index}"`)}return GodotAudio.buses[index]}static getBusOrNull(index){if(index<0||index>=GodotAudio.buses.length){return null}return GodotAudio.buses[index]}static move(fromIndex,toIndex){const movedBus=GodotAudio.Bus.getBusOrNull(fromIndex);if(movedBus==null){return}const buses=GodotAudio.buses.filter((_,i)=>i!==fromIndex);buses.splice(toIndex-1,0,movedBus);GodotAudio.buses=buses}static addAt(index){const newBus=GodotAudio.Bus.create();if(index!==newBus.getId()){GodotAudio.Bus.move(newBus.getId(),index)}}static create(){const newBus=new GodotAudio.Bus;const isFirstBus=GodotAudio.buses.length===0;GodotAudio.buses.push(newBus);if(isFirstBus){newBus.setSend(null)}else{newBus.setSend(GodotAudio.Bus.getBus(0))}return newBus}constructor(){this._sampleNodes=new Set;this.isSolo=false;this._send=null;this._gainNode=GodotAudio.ctx.createGain();this._soloNode=GodotAudio.ctx.createGain();this._muteNode=GodotAudio.ctx.createGain();this._gainNode.connect(this._soloNode).connect(this._muteNode)}getId(){return GodotAudio.buses.indexOf(this)}getVolumeDb(){return GodotAudio.linear_to_db(this._gainNode.gain.value)}setVolumeDb(val){const linear=GodotAudio.db_to_linear(val);if(isFinite(linear)){this._gainNode.gain.value=linear}}getSend(){return this._send}setSend(val){this._send=val;if(val==null){if(this.getId()==0){this.getOutputNode().connect(GodotAudio.ctx.destination);return}throw new Error(`Cannot send to "${val}" without the bus being at index 0 (current index: ${this.getId()})`)}this.connect(val)}getInputNode(){return this._gainNode}getOutputNode(){return this._muteNode}mute(enable){this._muteNode.gain.value=enable?0:1}solo(enable){if(this.isSolo===enable){return}if(enable){if(GodotAudio.busSolo!=null&&GodotAudio.busSolo!==this){GodotAudio.busSolo._disableSolo()}this._enableSolo();return}this._disableSolo()}addSampleNode(sampleNode){this._sampleNodes.add(sampleNode);sampleNode.getOutputNode().connect(this.getInputNode())}removeSampleNode(sampleNode){this._sampleNodes.delete(sampleNode);sampleNode.getOutputNode().disconnect()}connect(bus){if(bus==null){throw new Error("cannot connect to null bus")}this.getOutputNode().disconnect();this.getOutputNode().connect(bus.getInputNode());return bus}clear(){GodotAudio.buses=GodotAudio.buses.filter(v=>v!==this)}_syncSampleNodes(){const sampleNodes=Array.from(this._sampleNodes);for(let i=0;iotherBus!==this);for(let i=0;iotherBus!==this);for(let i=0;iGodotAudio.Bus.getBus(busIndex));sampleNode.setVolumes(buses,volumes)},set_sample_bus_count:function(count){GodotAudio.Bus.setCount(count)},remove_sample_bus:function(index){const bus=GodotAudio.Bus.getBusOrNull(index);if(bus==null){return}bus.clear()},add_sample_bus:function(atPos){GodotAudio.Bus.addAt(atPos)},move_sample_bus:function(busIndex,toPos){GodotAudio.Bus.move(busIndex,toPos)},set_sample_bus_send:function(busIndex,sendIndex){const bus=GodotAudio.Bus.getBusOrNull(busIndex);if(bus==null){return}let targetBus=GodotAudio.Bus.getBusOrNull(sendIndex);if(targetBus==null){targetBus=GodotAudio.Bus.getBus(0)}bus.setSend(targetBus)},set_sample_bus_volume_db:function(busIndex,volumeDb){const bus=GodotAudio.Bus.getBusOrNull(busIndex);if(bus==null){return}bus.setVolumeDb(volumeDb)},set_sample_bus_solo:function(busIndex,enable){const bus=GodotAudio.Bus.getBusOrNull(busIndex);if(bus==null){return}bus.solo(enable)},set_sample_bus_mute:function(busIndex,enable){const bus=GodotAudio.Bus.getBusOrNull(busIndex);if(bus==null){return}bus.mute(enable)}};function _godot_audio_get_sample_playback_position(playbackObjectIdStrPtr){const playbackObjectId=GodotRuntime.parseString(playbackObjectIdStrPtr);const sampleNode=GodotAudio.SampleNode.getSampleNodeOrNull(playbackObjectId);if(sampleNode==null){return 0}return sampleNode.getPlaybackPosition()}function _godot_audio_has_script_processor(){return GodotAudio.ctx&&GodotAudio.ctx.createScriptProcessor?1:0}function _godot_audio_has_worklet(){return GodotAudio.ctx&&GodotAudio.ctx.audioWorklet?1:0}function _godot_audio_init(p_mix_rate,p_latency,p_state_change,p_latency_update){const statechange=GodotRuntime.get_func(p_state_change);const latencyupdate=GodotRuntime.get_func(p_latency_update);const mix_rate=GodotRuntime.getHeapValue(p_mix_rate,"i32");const channels=GodotAudio.init(mix_rate,p_latency,statechange,latencyupdate);GodotRuntime.setHeapValue(p_mix_rate,GodotAudio.ctx.sampleRate,"i32");return channels}function _godot_audio_input_start(){return GodotAudio.create_input(function(input){input.connect(GodotAudio.driver.get_node())})}function _godot_audio_input_stop(){if(GodotAudio.input){const tracks=GodotAudio.input["mediaStream"]["getTracks"]();for(let i=0;i=size){const high=size-wpos;wbuf.set(buffer.subarray(wpos,size));pending_samples-=high;wpos=0}if(pending_samples>0){wbuf.set(buffer.subarray(wpos,wpos+pending_samples),tot_sent-pending_samples)}port.postMessage({cmd:"chunk",data:wbuf.subarray(0,tot_sent)});wpos+=pending_samples;pending_samples=0}this.receive=function(recv_buf){const buffer=GodotRuntime.heapSub(HEAPF32,p_in_buf,p_in_size);const from=rpos;let to_write=recv_buf.length;let high=0;if(rpos+to_write>=p_in_size){high=p_in_size-rpos;buffer.set(recv_buf.subarray(0,high),rpos);to_write-=high;rpos=0}if(to_write){buffer.set(recv_buf.subarray(high,to_write),rpos)}in_callback(from,recv_buf.length);rpos+=to_write};this.consumed=function(size,port){pending_samples+=size;send(port)}}GodotAudioWorklet.ring_buffer=new RingBuffer;GodotAudioWorklet.promise.then(function(){const node=GodotAudioWorklet.worklet;const buffer=GodotRuntime.heapSlice(HEAPF32,p_out_buf,p_out_size);node.connect(GodotAudio.ctx.destination);node.port.postMessage({cmd:"start_nothreads",data:[buffer,p_in_size]});node.port.onmessage=function(event){if(!GodotAudioWorklet.worklet){return}if(event.data["cmd"]==="read"){const read=event.data["data"];GodotAudioWorklet.ring_buffer.consumed(read,GodotAudioWorklet.worklet.port)}else if(event.data["cmd"]==="input"){const buf=event.data["data"];if(buf.length>p_in_size){GodotRuntime.error("Input chunk is too big");return}GodotAudioWorklet.ring_buffer.receive(buf)}else{GodotRuntime.error(event.data)}}})},get_node:function(){return GodotAudioWorklet.worklet},close:function(){return new Promise(function(resolve,reject){if(GodotAudioWorklet.promise===null){return}const p=GodotAudioWorklet.promise;p.then(function(){GodotAudioWorklet.worklet.port.postMessage({cmd:"stop",data:null});GodotAudioWorklet.worklet.disconnect();GodotAudioWorklet.worklet.port.onmessage=null;GodotAudioWorklet.worklet=null;GodotAudioWorklet.promise=null;resolve()}).catch(function(err){GodotRuntime.error(err)})})}};function _godot_audio_worklet_create(channels){try{GodotAudioWorklet.create(channels)}catch(e){GodotRuntime.error("Error starting AudioDriverWorklet",e);return 1}return 0}function _godot_audio_worklet_start_no_threads(p_out_buf,p_out_size,p_out_callback,p_in_buf,p_in_size,p_in_callback){const out_callback=GodotRuntime.get_func(p_out_callback);const in_callback=GodotRuntime.get_func(p_in_callback);GodotAudioWorklet.start_no_threads(p_out_buf,p_out_size,out_callback,p_in_buf,p_in_size,in_callback)}function _godot_js_config_canvas_id_get(p_ptr,p_ptr_max){GodotRuntime.stringToHeap(`#${GodotConfig.canvas.id}`,p_ptr,p_ptr_max)}function _godot_js_config_locale_get(p_ptr,p_ptr_max){GodotRuntime.stringToHeap(GodotConfig.locale,p_ptr,p_ptr_max)}var GodotDisplayCursor={shape:"default",visible:true,cursors:{},set_style:function(style){GodotConfig.canvas.style.cursor=style},set_shape:function(shape){GodotDisplayCursor.shape=shape;let css=shape;if(shape in GodotDisplayCursor.cursors){const c=GodotDisplayCursor.cursors[shape];css=`url("${c.url}") ${c.x} ${c.y}, default`}if(GodotDisplayCursor.visible){GodotDisplayCursor.set_style(css)}},clear:function(){GodotDisplayCursor.set_style("");GodotDisplayCursor.shape="default";GodotDisplayCursor.visible=true;Object.keys(GodotDisplayCursor.cursors).forEach(function(key){URL.revokeObjectURL(GodotDisplayCursor.cursors[key]);delete GodotDisplayCursor.cursors[key]})},lockPointer:function(){const canvas=GodotConfig.canvas;if(canvas.requestPointerLock){canvas.requestPointerLock()}},releasePointer:function(){if(document.exitPointerLock){document.exitPointerLock()}},isPointerLocked:function(){return document.pointerLockElement===GodotConfig.canvas}};var GodotEventListeners={handlers:[],has:function(target,event,method,capture){return GodotEventListeners.handlers.findIndex(function(e){return e.target===target&&e.event===event&&e.method===method&&e.capture===capture})!==-1},add:function(target,event,method,capture){if(GodotEventListeners.has(target,event,method,capture)){return}function Handler(p_target,p_event,p_method,p_capture){this.target=p_target;this.event=p_event;this.method=p_method;this.capture=p_capture}GodotEventListeners.handlers.push(new Handler(target,event,method,capture));target.addEventListener(event,method,capture)},clear:function(){GodotEventListeners.handlers.forEach(function(h){h.target.removeEventListener(h.event,h.method,h.capture)});GodotEventListeners.handlers.length=0}};var _emscripten_webgl_do_get_current_context=()=>GL.currentContext?GL.currentContext.handle:0;var _emscripten_webgl_get_current_context=_emscripten_webgl_do_get_current_context;var GodotDisplayScreen={desired_size:[0,0],hidpi:true,getPixelRatio:function(){return GodotDisplayScreen.hidpi?window.devicePixelRatio||1:1},isFullscreen:function(){const elem=document.fullscreenElement||document.mozFullscreenElement||document.webkitFullscreenElement||document.msFullscreenElement;if(elem){return elem===GodotConfig.canvas}return document.fullscreen||document.mozFullScreen||document.webkitIsFullscreen},hasFullscreen:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled},requestFullscreen:function(){if(!GodotDisplayScreen.hasFullscreen()){return 1}const canvas=GodotConfig.canvas;try{const promise=(canvas.requestFullscreen||canvas.msRequestFullscreen||canvas.mozRequestFullScreen||canvas.mozRequestFullscreen||canvas.webkitRequestFullscreen).call(canvas);if(promise){promise.catch(function(){})}}catch(e){return 1}return 0},exitFullscreen:function(){if(!GodotDisplayScreen.isFullscreen()){return 0}try{const promise=document.exitFullscreen();if(promise){promise.catch(function(){})}}catch(e){return 1}return 0},_updateGL:function(){const gl_context_handle=_emscripten_webgl_get_current_context();const gl=GL.getContext(gl_context_handle);if(gl){GL.resizeOffscreenFramebuffer(gl)}},updateSize:function(){const isFullscreen=GodotDisplayScreen.isFullscreen();const wantsFullWindow=GodotConfig.canvas_resize_policy===2;const noResize=GodotConfig.canvas_resize_policy===0;const dWidth=GodotDisplayScreen.desired_size[0];const dHeight=GodotDisplayScreen.desired_size[1];const canvas=GodotConfig.canvas;let width=dWidth;let height=dHeight;if(noResize){if(canvas.width!==width||canvas.height!==height){GodotDisplayScreen.desired_size=[canvas.width,canvas.height];GodotDisplayScreen._updateGL();return 1}return 0}const scale=GodotDisplayScreen.getPixelRatio();if(isFullscreen||wantsFullWindow){width=window.innerWidth*scale;height=window.innerHeight*scale}const csw=`${width/scale}px`;const csh=`${height/scale}px`;if(canvas.style.width!==csw||canvas.style.height!==csh||canvas.width!==width||canvas.height!==height){canvas.width=width;canvas.height=height;canvas.style.width=csw;canvas.style.height=csh;GodotDisplayScreen._updateGL();return 1}return 0}};var GodotDisplayVK={textinput:null,textarea:null,available:function(){return GodotConfig.virtual_keyboard&&"ontouchstart"in window},init:function(input_cb){function create(what){const elem=document.createElement(what);elem.style.display="none";elem.style.position="absolute";elem.style.zIndex="-1";elem.style.background="transparent";elem.style.padding="0px";elem.style.margin="0px";elem.style.overflow="hidden";elem.style.width="0px";elem.style.height="0px";elem.style.border="0px";elem.style.outline="none";elem.readonly=true;elem.disabled=true;GodotEventListeners.add(elem,"input",function(evt){const c_str=GodotRuntime.allocString(elem.value);input_cb(c_str,elem.selectionEnd);GodotRuntime.free(c_str)},false);GodotEventListeners.add(elem,"blur",function(evt){elem.style.display="none";elem.readonly=true;elem.disabled=true},false);GodotConfig.canvas.insertAdjacentElement("beforebegin",elem);return elem}GodotDisplayVK.textinput=create("input");GodotDisplayVK.textarea=create("textarea");GodotDisplayVK.updateSize()},show:function(text,type,start,end){if(!GodotDisplayVK.textinput||!GodotDisplayVK.textarea){return}if(GodotDisplayVK.textinput.style.display!==""||GodotDisplayVK.textarea.style.display!==""){GodotDisplayVK.hide()}GodotDisplayVK.updateSize();let elem=GodotDisplayVK.textinput;switch(type){case 0:elem.type="text";elem.inputmode="";break;case 1:elem=GodotDisplayVK.textarea;break;case 2:elem.type="text";elem.inputmode="numeric";break;case 3:elem.type="text";elem.inputmode="decimal";break;case 4:elem.type="tel";elem.inputmode="";break;case 5:elem.type="email";elem.inputmode="";break;case 6:elem.type="password";elem.inputmode="";break;case 7:elem.type="url";elem.inputmode="";break;default:elem.type="text";elem.inputmode="";break}elem.readonly=false;elem.disabled=false;elem.value=text;elem.style.display="block";elem.focus();elem.setSelectionRange(start,end)},hide:function(){if(!GodotDisplayVK.textinput||!GodotDisplayVK.textarea){return}[GodotDisplayVK.textinput,GodotDisplayVK.textarea].forEach(function(elem){elem.blur();elem.style.display="none";elem.value=""})},updateSize:function(){if(!GodotDisplayVK.textinput||!GodotDisplayVK.textarea){return}const rect=GodotConfig.canvas.getBoundingClientRect();function update(elem){elem.style.left=`${rect.left}px`;elem.style.top=`${rect.top}px`;elem.style.width=`${rect.width}px`;elem.style.height=`${rect.height}px`}update(GodotDisplayVK.textinput);update(GodotDisplayVK.textarea)},clear:function(){if(GodotDisplayVK.textinput){GodotDisplayVK.textinput.remove();GodotDisplayVK.textinput=null}if(GodotDisplayVK.textarea){GodotDisplayVK.textarea.remove();GodotDisplayVK.textarea=null}}};var GodotDisplay={window_icon:"",getDPI:function(){const dpi=Math.round(window.devicePixelRatio*96);return dpi>=96?dpi:96}};function _godot_js_display_alert(p_text){window.alert(GodotRuntime.parseString(p_text))}function _godot_js_display_canvas_focus(){GodotConfig.canvas.focus()}function _godot_js_display_canvas_is_focused(){return document.activeElement===GodotConfig.canvas}function _godot_js_display_clipboard_get(callback){const func=GodotRuntime.get_func(callback);try{navigator.clipboard.readText().then(function(result){const ptr=GodotRuntime.allocString(result);func(ptr);GodotRuntime.free(ptr)}).catch(function(e){})}catch(e){}}function _godot_js_display_clipboard_set(p_text){const text=GodotRuntime.parseString(p_text);if(!navigator.clipboard||!navigator.clipboard.writeText){return 1}navigator.clipboard.writeText(text).catch(function(e){GodotRuntime.error("Setting OS clipboard is only possible from an input callback for the Web platform. Exception:",e)});return 0}function _godot_js_display_cursor_is_hidden(){return!GodotDisplayCursor.visible}function _godot_js_display_cursor_is_locked(){return GodotDisplayCursor.isPointerLocked()?1:0}function _godot_js_display_cursor_lock_set(p_lock){if(p_lock){GodotDisplayCursor.lockPointer()}else{GodotDisplayCursor.releasePointer()}}function _godot_js_display_cursor_set_custom_shape(p_shape,p_ptr,p_len,p_hotspot_x,p_hotspot_y){const shape=GodotRuntime.parseString(p_shape);const old_shape=GodotDisplayCursor.cursors[shape];if(p_len>0){const png=new Blob([GodotRuntime.heapSlice(HEAPU8,p_ptr,p_len)],{type:"image/png"});const url=URL.createObjectURL(png);GodotDisplayCursor.cursors[shape]={url:url,x:p_hotspot_x,y:p_hotspot_y}}else{delete GodotDisplayCursor.cursors[shape]}if(shape===GodotDisplayCursor.shape){GodotDisplayCursor.set_shape(GodotDisplayCursor.shape)}if(old_shape){URL.revokeObjectURL(old_shape.url)}}function _godot_js_display_cursor_set_shape(p_string){GodotDisplayCursor.set_shape(GodotRuntime.parseString(p_string))}function _godot_js_display_cursor_set_visible(p_visible){const visible=p_visible!==0;if(visible===GodotDisplayCursor.visible){return}GodotDisplayCursor.visible=visible;if(visible){GodotDisplayCursor.set_shape(GodotDisplayCursor.shape)}else{GodotDisplayCursor.set_style("none")}}function _godot_js_display_desired_size_set(width,height){GodotDisplayScreen.desired_size=[width,height];GodotDisplayScreen.updateSize()}function _godot_js_display_fullscreen_cb(callback){const canvas=GodotConfig.canvas;const func=GodotRuntime.get_func(callback);function change_cb(evt){if(evt.target===canvas){func(GodotDisplayScreen.isFullscreen())}}GodotEventListeners.add(document,"fullscreenchange",change_cb,false);GodotEventListeners.add(document,"mozfullscreenchange",change_cb,false);GodotEventListeners.add(document,"webkitfullscreenchange",change_cb,false)}function _godot_js_display_fullscreen_exit(){return GodotDisplayScreen.exitFullscreen()}function _godot_js_display_fullscreen_request(){return GodotDisplayScreen.requestFullscreen()}function _godot_js_display_has_webgl(p_version){if(p_version!==1&&p_version!==2){return false}try{return!!document.createElement("canvas").getContext(p_version===2?"webgl2":"webgl")}catch(e){}return false}function _godot_js_display_is_swap_ok_cancel(){const win=["Windows","Win64","Win32","WinCE"];const plat=navigator.platform||"";if(win.indexOf(plat)!==-1){return 1}return 0}function _godot_js_display_notification_cb(callback,p_enter,p_exit,p_in,p_out){const canvas=GodotConfig.canvas;const func=GodotRuntime.get_func(callback);const notif=[p_enter,p_exit,p_in,p_out];["mouseover","mouseleave","focus","blur"].forEach(function(evt_name,idx){GodotEventListeners.add(canvas,evt_name,function(){func(notif[idx])},true)})}function _godot_js_display_pixel_ratio_get(){return GodotDisplayScreen.getPixelRatio()}function _godot_js_display_screen_dpi_get(){return GodotDisplay.getDPI()}function _godot_js_display_screen_size_get(width,height){const scale=GodotDisplayScreen.getPixelRatio();GodotRuntime.setHeapValue(width,window.screen.width*scale,"i32");GodotRuntime.setHeapValue(height,window.screen.height*scale,"i32")}function _godot_js_display_setup_canvas(p_width,p_height,p_fullscreen,p_hidpi){const canvas=GodotConfig.canvas;GodotEventListeners.add(canvas,"contextmenu",function(ev){ev.preventDefault()},false);GodotEventListeners.add(canvas,"webglcontextlost",function(ev){alert("WebGL context lost, please reload the page");ev.preventDefault()},false);GodotDisplayScreen.hidpi=!!p_hidpi;switch(GodotConfig.canvas_resize_policy){case 0:GodotDisplayScreen.desired_size=[canvas.width,canvas.height];break;case 1:GodotDisplayScreen.desired_size=[p_width,p_height];break;default:canvas.style.position="absolute";canvas.style.top=0;canvas.style.left=0;break}GodotDisplayScreen.updateSize();if(p_fullscreen){GodotDisplayScreen.requestFullscreen()}}function _godot_js_display_size_update(){const updated=GodotDisplayScreen.updateSize();if(updated){GodotDisplayVK.updateSize()}return updated}function _godot_js_display_touchscreen_is_available(){return"ontouchstart"in window}function _godot_js_display_tts_available(){return"speechSynthesis"in window}function _godot_js_display_vk_available(){return GodotDisplayVK.available()}function _godot_js_display_vk_cb(p_input_cb){const input_cb=GodotRuntime.get_func(p_input_cb);if(GodotDisplayVK.available()){GodotDisplayVK.init(input_cb)}}function _godot_js_display_vk_hide(){GodotDisplayVK.hide()}function _godot_js_display_vk_show(p_text,p_type,p_start,p_end){const text=GodotRuntime.parseString(p_text);const start=p_start>0?p_start:0;const end=p_end>0?p_end:start;GodotDisplayVK.show(text,p_type,start,end)}function _godot_js_display_window_blur_cb(callback){const func=GodotRuntime.get_func(callback);GodotEventListeners.add(window,"blur",function(){func()},false)}function _godot_js_display_window_icon_set(p_ptr,p_len){let link=document.getElementById("-gd-engine-icon");const old_icon=GodotDisplay.window_icon;if(p_ptr){if(link===null){link=document.createElement("link");link.rel="icon";link.id="-gd-engine-icon";document.head.appendChild(link)}const png=new Blob([GodotRuntime.heapSlice(HEAPU8,p_ptr,p_len)],{type:"image/png"});GodotDisplay.window_icon=URL.createObjectURL(png);link.href=GodotDisplay.window_icon}else{if(link){link.remove()}GodotDisplay.window_icon=null}if(old_icon){URL.revokeObjectURL(old_icon)}}function _godot_js_display_window_size_get(p_width,p_height){GodotRuntime.setHeapValue(p_width,GodotConfig.canvas.width,"i32");GodotRuntime.setHeapValue(p_height,GodotConfig.canvas.height,"i32")}function _godot_js_display_window_title_set(p_data){document.title=GodotRuntime.parseString(p_data)}function _godot_js_eval(p_js,p_use_global_ctx,p_union_ptr,p_byte_arr,p_byte_arr_write,p_callback){const js_code=GodotRuntime.parseString(p_js);let eval_ret=null;try{if(p_use_global_ctx){const global_eval=eval;eval_ret=global_eval(js_code)}else{eval_ret=eval(js_code)}}catch(e){GodotRuntime.error(e)}switch(typeof eval_ret){case"boolean":GodotRuntime.setHeapValue(p_union_ptr,eval_ret,"i32");return 1;case"number":GodotRuntime.setHeapValue(p_union_ptr,eval_ret,"double");return 3;case"string":GodotRuntime.setHeapValue(p_union_ptr,GodotRuntime.allocString(eval_ret),"*");return 4;case"object":if(eval_ret===null){break}if(ArrayBuffer.isView(eval_ret)&&!(eval_ret instanceof Uint8Array)){eval_ret=new Uint8Array(eval_ret.buffer)}else if(eval_ret instanceof ArrayBuffer){eval_ret=new Uint8Array(eval_ret)}if(eval_ret instanceof Uint8Array){const func=GodotRuntime.get_func(p_callback);const bytes_ptr=func(p_byte_arr,p_byte_arr_write,eval_ret.length);HEAPU8.set(eval_ret,bytes_ptr);return 29}break}return 0}var IDHandler={_last_id:0,_references:{},get:function(p_id){return IDHandler._references[p_id]},add:function(p_data){const id=++IDHandler._last_id;IDHandler._references[id]=p_data;return id},remove:function(p_id){delete IDHandler._references[p_id]}};var GodotFetch={onread:function(id,result){const obj=IDHandler.get(id);if(!obj){return}if(result.value){obj.chunks.push(result.value)}obj.reading=false;obj.done=result.done},onresponse:function(id,response){const obj=IDHandler.get(id);if(!obj){return}let chunked=false;response.headers.forEach(function(value,header){const v=value.toLowerCase().trim();const h=header.toLowerCase().trim();if(h==="transfer-encoding"&&v==="chunked"){chunked=true}});obj.status=response.status;obj.response=response;obj.reader=response.body?.getReader();obj.chunked=chunked},onerror:function(id,err){GodotRuntime.error(err);const obj=IDHandler.get(id);if(!obj){return}obj.error=err},create:function(method,url,headers,body){const obj={request:null,response:null,reader:null,error:null,done:false,reading:false,status:0,chunks:[]};const id=IDHandler.add(obj);const init={method:method,headers:headers,body:body};obj.request=fetch(url,init);obj.request.then(GodotFetch.onresponse.bind(null,id)).catch(GodotFetch.onerror.bind(null,id));return id},free:function(id){const obj=IDHandler.get(id);if(!obj){return}IDHandler.remove(id);if(!obj.request){return}obj.request.then(function(response){response.abort()}).catch(function(e){})},read:function(id){const obj=IDHandler.get(id);if(!obj){return}if(obj.reader&&!obj.reading){if(obj.done){obj.reader=null;return}obj.reading=true;obj.reader.read().then(GodotFetch.onread.bind(null,id)).catch(GodotFetch.onerror.bind(null,id))}else if(obj.reader==null&&obj.response.body==null){obj.reading=true;GodotFetch.onread(id,{value:undefined,done:true})}}};function _godot_js_fetch_create(p_method,p_url,p_headers,p_headers_size,p_body,p_body_size){const method=GodotRuntime.parseString(p_method);const url=GodotRuntime.parseString(p_url);const headers=GodotRuntime.parseStringArray(p_headers,p_headers_size);const body=p_body_size?GodotRuntime.heapSlice(HEAP8,p_body,p_body_size):null;return GodotFetch.create(method,url,headers.map(function(hv){const idx=hv.indexOf(":");if(idx<=0){return[]}return[hv.slice(0,idx).trim(),hv.slice(idx+1).trim()]}).filter(function(v){return v.length===2}),body)}function _godot_js_fetch_free(id){GodotFetch.free(id)}function _godot_js_fetch_http_status_get(p_id){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return 0}return obj.status}function _godot_js_fetch_is_chunked(p_id){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return-1}return obj.chunked?1:0}function _godot_js_fetch_read_chunk(p_id,p_buf,p_buf_size){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return 0}let to_read=p_buf_size;const chunks=obj.chunks;while(to_read&&chunks.length){const chunk=obj.chunks[0];if(chunk.length>to_read){GodotRuntime.heapCopy(HEAP8,chunk.slice(0,to_read),p_buf);chunks[0]=chunk.slice(to_read);to_read=0}else{GodotRuntime.heapCopy(HEAP8,chunk,p_buf);to_read-=chunk.length;chunks.pop()}}if(!chunks.length){GodotFetch.read(p_id)}return p_buf_size-to_read}function _godot_js_fetch_read_headers(p_id,p_parse_cb,p_ref){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return 1}const cb=GodotRuntime.get_func(p_parse_cb);const arr=[];obj.response.headers.forEach(function(v,h){arr.push(`${h}:${v}`)});const c_ptr=GodotRuntime.allocStringArray(arr);cb(arr.length,c_ptr,p_ref);GodotRuntime.freeStringArray(c_ptr,arr.length);return 0}function _godot_js_fetch_state_get(p_id){const obj=IDHandler.get(p_id);if(!obj){return-1}if(obj.error){return-1}if(!obj.response){return 0}if(obj.reader||obj.response.body==null&&!obj.done){return 1}if(obj.done){return 2}return-1}var GodotInputGamepads={samples:[],get_pads:function(){try{const pads=navigator.getGamepads();if(pads){return pads}return[]}catch(e){return[]}},get_samples:function(){return GodotInputGamepads.samples},get_sample:function(index){const samples=GodotInputGamepads.samples;return index=0){os="Android"}else if(ua.indexOf("Linux")>=0){os="Linux"}else if(ua.indexOf("iPhone")>=0){os="iOS"}else if(ua.indexOf("Macintosh")>=0){os="MacOSX"}else if(ua.indexOf("Windows")>=0){os="Windows"}const id=pad.id;const exp1=/vendor: ([0-9a-f]{4}) product: ([0-9a-f]{4})/i;const exp2=/^([0-9a-f]+)-([0-9a-f]+)-/i;let vendor="";let product="";if(exp1.test(id)){const match=exp1.exec(id);vendor=match[1].padStart(4,"0");product=match[2].padStart(4,"0")}else if(exp2.test(id)){const match=exp2.exec(id);vendor=match[1].padStart(4,"0");product=match[2].padStart(4,"0")}if(!vendor||!product){return`${os}Unknown`}return os+vendor+product}};var GodotInputDragDrop={promises:[],pending_files:[],add_entry:function(entry){if(entry.isDirectory){GodotInputDragDrop.add_dir(entry)}else if(entry.isFile){GodotInputDragDrop.add_file(entry)}else{GodotRuntime.error("Unrecognized entry...",entry)}},add_dir:function(entry){GodotInputDragDrop.promises.push(new Promise(function(resolve,reject){const reader=entry.createReader();reader.readEntries(function(entries){for(let i=0;i{const path=elem["path"];GodotFS.copy_to_fs(DROP+path,elem["data"]);let idx=path.indexOf("/");if(idx===-1){drops.push(DROP+path)}else{const sub=path.substr(0,idx);idx=sub.indexOf("/");if(idx<0&&drops.indexOf(DROP+sub)===-1){drops.push(DROP+sub)}}files.push(DROP+path)});GodotInputDragDrop.promises=[];GodotInputDragDrop.pending_files=[];callback(drops);if(GodotConfig.persistent_drops){GodotOS.atexit(function(resolve,reject){GodotInputDragDrop.remove_drop(files,DROP);resolve()})}else{GodotInputDragDrop.remove_drop(files,DROP)}})},remove_drop:function(files,drop_path){const dirs=[drop_path.substr(0,drop_path.length-1)];files.forEach(function(file){FS.unlink(file);let dir=file.replace(drop_path,"");let idx=dir.lastIndexOf("/");while(idx>0){dir=dir.substr(0,idx);if(dirs.indexOf(drop_path+dir)===-1){dirs.push(drop_path+dir)}idx=dir.lastIndexOf("/")}});dirs.sort(function(a,b){const al=(a.match(/\//g)||[]).length;const bl=(b.match(/\//g)||[]).length;if(al>bl){return-1}else if(al-1){clearFocusTimerInterval()}if(GodotIME.ime==null){return}GodotIME.active=active;if(active){GodotIME.ime.style.display="block";GodotIME.focusTimerIntervalId=setInterval(focusTimer,100)}else{GodotIME.ime.style.display="none";GodotConfig.canvas.focus()}},ime_position:function(x,y){if(GodotIME.ime==null){return}const canvas=GodotConfig.canvas;const rect=canvas.getBoundingClientRect();const rw=canvas.width/rect.width;const rh=canvas.height/rect.height;const clx=x/rw+rect.x;const cly=y/rh+rect.y;GodotIME.ime.style.left=`${clx}px`;GodotIME.ime.style.top=`${cly}px`},init:function(ime_cb,key_cb,code,key){function key_event_cb(pressed,evt){const modifiers=GodotIME.getModifiers(evt);GodotRuntime.stringToHeap(evt.code,code,32);GodotRuntime.stringToHeap(evt.key,key,32);key_cb(pressed,evt.repeat,modifiers);evt.preventDefault()}function ime_event_cb(event){if(GodotIME.ime==null){return}switch(event.type){case"compositionstart":ime_cb(0,null);GodotIME.ime.innerHTML="";break;case"compositionupdate":{const ptr=GodotRuntime.allocString(event.data);ime_cb(1,ptr);GodotRuntime.free(ptr)}break;case"compositionend":{const ptr=GodotRuntime.allocString(event.data);ime_cb(2,ptr);GodotRuntime.free(ptr);GodotIME.ime.innerHTML=""}break;default:}}const ime=document.createElement("div");ime.className="ime";ime.style.background="none";ime.style.opacity=0;ime.style.position="fixed";ime.style.textAlign="left";ime.style.fontSize="1px";ime.style.left="0px";ime.style.top="0px";ime.style.width="100%";ime.style.height="40px";ime.style.pointerEvents="none";ime.style.display="none";ime.contentEditable="true";GodotEventListeners.add(ime,"compositionstart",ime_event_cb,false);GodotEventListeners.add(ime,"compositionupdate",ime_event_cb,false);GodotEventListeners.add(ime,"compositionend",ime_event_cb,false);GodotEventListeners.add(ime,"keydown",key_event_cb.bind(null,1),false);GodotEventListeners.add(ime,"keyup",key_event_cb.bind(null,0),false);ime.onblur=function(){this.style.display="none";GodotConfig.canvas.focus();GodotIME.active=false};GodotConfig.canvas.parentElement.appendChild(ime);GodotIME.ime=ime},clear:function(){if(GodotIME.ime==null){return}if(GodotIME.focusTimerIntervalId>-1){clearInterval(GodotIME.focusTimerIntervalId);GodotIME.focusTimerIntervalId=-1}GodotIME.ime.remove();GodotIME.ime=null}};var GodotInput={getModifiers:function(evt){return evt.shiftKey+0+(evt.altKey+0<<1)+(evt.ctrlKey+0<<2)+(evt.metaKey+0<<3)},computePosition:function(evt,rect){const canvas=GodotConfig.canvas;const rw=canvas.width/rect.width;const rh=canvas.height/rect.height;const x=(evt.clientX-rect.x)*rw;const y=(evt.clientY-rect.y)*rh;return[x,y]}};function _godot_js_input_drop_files_cb(callback){const func=GodotRuntime.get_func(callback);const dropFiles=function(files){const args=files||[];if(!args.length){return}const argc=args.length;const argv=GodotRuntime.allocStringArray(args);func(argv,argc);GodotRuntime.freeStringArray(argv,argc)};const canvas=GodotConfig.canvas;GodotEventListeners.add(canvas,"dragover",function(ev){ev.preventDefault()},false);GodotEventListeners.add(canvas,"drop",GodotInputDragDrop.handler(dropFiles))}function _godot_js_input_gamepad_cb(change_cb){const onchange=GodotRuntime.get_func(change_cb);GodotInputGamepads.init(onchange)}function _godot_js_input_gamepad_sample(){GodotInputGamepads.sample();return 0}function _godot_js_input_gamepad_sample_count(){return GodotInputGamepads.get_samples().length}function _godot_js_input_gamepad_sample_get(p_index,r_btns,r_btns_num,r_axes,r_axes_num,r_standard){const sample=GodotInputGamepads.get_sample(p_index);if(!sample||!sample.connected){return 1}const btns=sample.buttons;const btns_len=btns.length<16?btns.length:16;for(let i=0;i{const inputs=[...midi.inputs.values()];const inputNames=inputs.map(input=>input.name);const c_ptr=GodotRuntime.allocStringArray(inputNames);setInputNamesCb(inputNames.length,c_ptr);GodotRuntime.freeStringArray(c_ptr,inputNames.length);inputs.forEach((input,i)=>{const abortController=new AbortController;GodotWebMidi.abortControllers.push(abortController);input.addEventListener("midimessage",event=>{const status=event.data[0];const data=event.data.slice(1);const size=data.length;if(size>dataBufferLen){throw new Error(`data too big ${size} > ${dataBufferLen}`)}HEAPU8.set(data,pDataBuffer);onMidiMessageCb(i,status,pDataBuffer,data.length)},{signal:abortController.signal})})});return 0}var GodotWebSocket={_onopen:function(p_id,callback,event){const ref=IDHandler.get(p_id);if(!ref){return}const c_str=GodotRuntime.allocString(ref.protocol);callback(c_str);GodotRuntime.free(c_str)},_onmessage:function(p_id,callback,event){const ref=IDHandler.get(p_id);if(!ref){return}let buffer;let is_string=0;if(event.data instanceof ArrayBuffer){buffer=new Uint8Array(event.data)}else if(event.data instanceof Blob){GodotRuntime.error("Blob type not supported");return}else if(typeof event.data==="string"){is_string=1;const enc=new TextEncoder("utf-8");buffer=new Uint8Array(enc.encode(event.data))}else{GodotRuntime.error("Unknown message type");return}const len=buffer.length*buffer.BYTES_PER_ELEMENT;const out=GodotRuntime.malloc(len);HEAPU8.set(buffer,out);callback(out,len,is_string);GodotRuntime.free(out)},_onerror:function(p_id,callback,event){const ref=IDHandler.get(p_id);if(!ref){return}callback()},_onclose:function(p_id,callback,event){const ref=IDHandler.get(p_id);if(!ref){return}const c_str=GodotRuntime.allocString(event.reason);callback(event.code,c_str,event.wasClean?1:0);GodotRuntime.free(c_str)},send:function(p_id,p_data){const ref=IDHandler.get(p_id);if(!ref||ref.readyState!==ref.OPEN){return 1}ref.send(p_data);return 0},bufferedAmount:function(p_id){const ref=IDHandler.get(p_id);if(!ref){return 0}return ref.bufferedAmount},create:function(socket,p_on_open,p_on_message,p_on_error,p_on_close){const id=IDHandler.add(socket);socket.onopen=GodotWebSocket._onopen.bind(null,id,p_on_open);socket.onmessage=GodotWebSocket._onmessage.bind(null,id,p_on_message);socket.onerror=GodotWebSocket._onerror.bind(null,id,p_on_error);socket.onclose=GodotWebSocket._onclose.bind(null,id,p_on_close);return id},close:function(p_id,p_code,p_reason){const ref=IDHandler.get(p_id);if(ref&&ref.readyState=Number.MIN_SAFE_INTEGER&&heap_value<=Number.MAX_SAFE_INTEGER?Number(heap_value):heap_value}case 3:return Number(GodotRuntime.getHeapValue(val,"double"));case 4:return GodotRuntime.parseString(GodotRuntime.getHeapValue(val,"*"));case 24:return GodotJSWrapper.get_proxied_value(GodotRuntime.getHeapValue(val,"i64"));default:return undefined}},js2variant:function(p_val,p_exchange){if(p_val===undefined||p_val===null){return 0}const type=typeof p_val;if(type==="boolean"){GodotRuntime.setHeapValue(p_exchange,p_val,"i64");return 1}else if(type==="number"){if(Number.isInteger(p_val)){GodotRuntime.setHeapValue(p_exchange,p_val,"i64");return 2}GodotRuntime.setHeapValue(p_exchange,p_val,"double");return 3}else if(type==="bigint"){GodotRuntime.setHeapValue(p_exchange,p_val,"i64");return 2}else if(type==="string"){const c_str=GodotRuntime.allocString(p_val);GodotRuntime.setHeapValue(p_exchange,c_str,"*");return 4}const id=GodotJSWrapper.get_proxied(p_val);GodotRuntime.setHeapValue(p_exchange,id,"i64");return 24},isBuffer:function(obj){return obj instanceof ArrayBuffer||ArrayBuffer.isView(obj)}};function _godot_js_wrapper_create_cb(p_ref,p_func){const func=GodotRuntime.get_func(p_func);let id=0;const cb=function(){if(!GodotJSWrapper.get_proxied_value(id)){return undefined}GodotJSWrapper.cb_ret=null;const args=Array.from(arguments);const argsProxy=new GodotJSWrapper.MyProxy(args);func(p_ref,argsProxy.get_id(),args.length);argsProxy.unref();const ret=GodotJSWrapper.cb_ret;GodotJSWrapper.cb_ret=null;return ret};id=GodotJSWrapper.get_proxied(cb);return id}function _godot_js_wrapper_create_object(p_object,p_args,p_argc,p_convert_callback,p_exchange,p_lock,p_free_lock_callback){const name=GodotRuntime.parseString(p_object);if(typeof window[name]==="undefined"){return-1}const convert=GodotRuntime.get_func(p_convert_callback);const freeLock=GodotRuntime.get_func(p_free_lock_callback);const args=new Array(p_argc);for(let i=0;i{if(GodotWebXR.session&&GodotWebXR.space){const onFrame=function(time,frame){GodotWebXR.frame=frame;GodotWebXR.pose=frame.getViewerPose(GodotWebXR.space);callback(time);GodotWebXR.frame=null;GodotWebXR.pose=null};GodotWebXR.session.requestAnimationFrame(onFrame)}else{GodotWebXR.orig_requestAnimationFrame(callback)}},monkeyPatchRequestAnimationFrame:enable=>{if(GodotWebXR.orig_requestAnimationFrame===null){GodotWebXR.orig_requestAnimationFrame=Browser.requestAnimationFrame}Browser.requestAnimationFrame=enable?GodotWebXR.requestAnimationFrame:GodotWebXR.orig_requestAnimationFrame},pauseResumeMainLoop:()=>{Browser.mainLoop.pause();runtimeKeepalivePush();window.setTimeout(function(){runtimeKeepalivePop();Browser.mainLoop.resume()},0)},getLayer:()=>{const new_view_count=GodotWebXR.pose?GodotWebXR.pose.views.length:1;let layer=GodotWebXR.layer;if(layer&&GodotWebXR.view_count===new_view_count){return layer}if(!GodotWebXR.session||!GodotWebXR.gl_binding){return null}const gl=GodotWebXR.gl;layer=GodotWebXR.gl_binding.createProjectionLayer({textureType:new_view_count>1?"texture-array":"texture",colorFormat:gl.RGBA8,depthFormat:gl.DEPTH_COMPONENT24});GodotWebXR.session.updateRenderState({layers:[layer]});GodotWebXR.layer=layer;GodotWebXR.view_count=new_view_count;return layer},getSubImage:()=>{if(!GodotWebXR.pose){return null}const layer=GodotWebXR.getLayer();if(layer===null){return null}return GodotWebXR.gl_binding.getViewSubImage(layer,GodotWebXR.pose.views[0])},getTextureId:texture=>{if(texture.name!==undefined){return texture.name}const id=GL.getNewId(GL.textures);texture.name=id;GL.textures[id]=texture;return id},addInputSource:input_source=>{let name=-1;if(input_source.targetRayMode==="tracked-pointer"&&input_source.handedness==="left"){name=0}else if(input_source.targetRayMode==="tracked-pointer"&&input_source.handedness==="right"){name=1}else{for(let i=2;i<16;i++){if(!GodotWebXR.input_sources[i]){name=i;break}}}if(name>=0){GodotWebXR.input_sources[name]=input_source;input_source.name=name;if(input_source.targetRayMode==="screen"){let touch_index=-1;for(let i=0;i<5;i++){if(!GodotWebXR.touches[i]){touch_index=i;break}}if(touch_index>=0){GodotWebXR.touches[touch_index]=input_source;input_source.touch_index=touch_index}}}return name},removeInputSource:input_source=>{if(input_source.name!==undefined){const name=input_source.name;if(name>=0&&name<16){GodotWebXR.input_sources[name]=null}if(input_source.touch_index!==undefined){const touch_index=input_source.touch_index;if(touch_index>=0&&touch_index<5){GodotWebXR.touches[touch_index]=null}}return name}return-1},getInputSourceId:input_source=>{if(input_source!==undefined){return input_source.name}return-1},getTouchIndex:input_source=>{if(input_source.touch_index!==undefined){return input_source.touch_index}return-1}};function _godot_webxr_get_bounds_geometry(r_points){if(!GodotWebXR.space||!GodotWebXR.space.boundsGeometry){return 0}const point_count=GodotWebXR.space.boundsGeometry.length;if(point_count===0){return 0}const buf=GodotRuntime.malloc(point_count*3*4);for(let i=0;i=0){matrix=views[p_view].transform.matrix}else{matrix=GodotWebXR.pose.transform.matrix}for(let i=0;i<16;i++){GodotRuntime.setHeapValue(r_transform+i*4,matrix[i],"float")}return true}function _godot_webxr_get_velocity_texture(){const subimage=GodotWebXR.getSubImage();if(subimage===null){return 0}if(!subimage.motionVectorTexture){return 0}return GodotWebXR.getTextureId(subimage.motionVectorTexture)}function _godot_webxr_get_view_count(){if(!GodotWebXR.session||!GodotWebXR.pose){return 1}const view_count=GodotWebXR.pose.views.length;return view_count>0?view_count:1}function _godot_webxr_get_visibility_state(){if(!GodotWebXR.session||!GodotWebXR.session.visibilityState){return 0}return GodotRuntime.allocString(GodotWebXR.session.visibilityState)}var _godot_webxr_initialize=function(p_session_mode,p_required_features,p_optional_features,p_requested_reference_spaces,p_on_session_started,p_on_session_ended,p_on_session_failed,p_on_input_event,p_on_simple_event){GodotWebXR.monkeyPatchRequestAnimationFrame(true);const session_mode=GodotRuntime.parseString(p_session_mode);const required_features=GodotRuntime.parseString(p_required_features).split(",").map(s=>s.trim()).filter(s=>s!=="");const optional_features=GodotRuntime.parseString(p_optional_features).split(",").map(s=>s.trim()).filter(s=>s!=="");const requested_reference_space_types=GodotRuntime.parseString(p_requested_reference_spaces).split(",").map(s=>s.trim());const onstarted=GodotRuntime.get_func(p_on_session_started);const onended=GodotRuntime.get_func(p_on_session_ended);const onfailed=GodotRuntime.get_func(p_on_session_failed);const oninputevent=GodotRuntime.get_func(p_on_input_event);const onsimpleevent=GodotRuntime.get_func(p_on_simple_event);const session_init={};if(required_features.length>0){session_init["requiredFeatures"]=required_features}if(optional_features.length>0){session_init["optionalFeatures"]=optional_features}navigator.xr.requestSession(session_mode,session_init).then(function(session){GodotWebXR.session=session;session.addEventListener("end",function(evt){onended()});session.addEventListener("inputsourceschange",function(evt){evt.added.forEach(GodotWebXR.addInputSource);evt.removed.forEach(GodotWebXR.removeInputSource)});["selectstart","selectend","squeezestart","squeezeend"].forEach((input_event,index)=>{session.addEventListener(input_event,function(evt){GodotWebXR.frame=evt.frame;oninputevent(index,GodotWebXR.getInputSourceId(evt.inputSource));GodotWebXR.frame=null})});session.addEventListener("visibilitychange",function(evt){const c_str=GodotRuntime.allocString("visibility_state_changed");onsimpleevent(c_str);GodotRuntime.free(c_str)});GodotWebXR.onsimpleevent=onsimpleevent;const gl_context_handle=_emscripten_webgl_get_current_context();const gl=GL.getContext(gl_context_handle).GLctx;GodotWebXR.gl=gl;gl.makeXRCompatible().then(function(){GodotWebXR.gl_binding=new XRWebGLBinding(session,gl);GodotWebXR.getLayer();function onReferenceSpaceSuccess(reference_space,reference_space_type){GodotWebXR.space=reference_space;reference_space.onreset=function(evt){const c_str=GodotRuntime.allocString("reference_space_reset");onsimpleevent(c_str);GodotRuntime.free(c_str)};GodotWebXR.pauseResumeMainLoop();window.setTimeout(function(){const reference_space_c_str=GodotRuntime.allocString(reference_space_type);const enabled_features="enabledFeatures"in session?Array.from(session.enabledFeatures):[];const enabled_features_c_str=GodotRuntime.allocString(enabled_features.join(","));const environment_blend_mode="environmentBlendMode"in session?session.environmentBlendMode:"";const environment_blend_mode_c_str=GodotRuntime.allocString(environment_blend_mode);onstarted(reference_space_c_str,enabled_features_c_str,environment_blend_mode_c_str);GodotRuntime.free(reference_space_c_str);GodotRuntime.free(enabled_features_c_str);GodotRuntime.free(environment_blend_mode_c_str)},0)}function requestReferenceSpace(){const reference_space_type=requested_reference_space_types.shift();session.requestReferenceSpace(reference_space_type).then(refSpace=>{onReferenceSpaceSuccess(refSpace,reference_space_type)}).catch(()=>{if(requested_reference_space_types.length===0){const c_str=GodotRuntime.allocString("Unable to get any of the requested reference space types");onfailed(c_str);GodotRuntime.free(c_str)}else{requestReferenceSpace()}})}requestReferenceSpace()}).catch(function(error){const c_str=GodotRuntime.allocString(`Unable to make WebGL context compatible with WebXR: ${error}`);onfailed(c_str);GodotRuntime.free(c_str)})}).catch(function(error){const c_str=GodotRuntime.allocString(`Unable to start session: ${error}`);onfailed(c_str);GodotRuntime.free(c_str)})};function _godot_webxr_is_session_supported(p_session_mode,p_callback){const session_mode=GodotRuntime.parseString(p_session_mode);const cb=GodotRuntime.get_func(p_callback);if(navigator.xr){navigator.xr.isSessionSupported(session_mode).then(function(supported){const c_str=GodotRuntime.allocString(session_mode);cb(c_str,supported?1:0);GodotRuntime.free(c_str)})}else{const c_str=GodotRuntime.allocString(session_mode);cb(c_str,0);GodotRuntime.free(c_str)}}function _godot_webxr_is_supported(){return!!navigator.xr}var _godot_webxr_uninitialize=function(){if(GodotWebXR.session){GodotWebXR.session.end().catch(e=>{})}GodotWebXR.session=null;GodotWebXR.gl_binding=null;GodotWebXR.layer=null;GodotWebXR.space=null;GodotWebXR.frame=null;GodotWebXR.pose=null;GodotWebXR.view_count=1;GodotWebXR.input_sources=new Array(16);GodotWebXR.touches=new Array(5);GodotWebXR.onsimpleevent=null;GodotWebXR.monkeyPatchRequestAnimationFrame(false);GodotWebXR.pauseResumeMainLoop()};function _godot_webxr_update_input_source(p_input_source_id,r_target_pose,r_target_ray_mode,r_touch_index,r_has_grip_pose,r_grip_pose,r_has_standard_mapping,r_button_count,r_buttons,r_axes_count,r_axes,r_has_hand_data,r_hand_joints,r_hand_radii){if(!GodotWebXR.session||!GodotWebXR.frame){return 0}if(p_input_source_id<0||p_input_source_id>=GodotWebXR.input_sources.length||!GodotWebXR.input_sources[p_input_source_id]){return false}const input_source=GodotWebXR.input_sources[p_input_source_id];const frame=GodotWebXR.frame;const space=GodotWebXR.space;const target_pose=frame.getPose(input_source.targetRaySpace,space);if(!target_pose){return false}const target_pose_matrix=target_pose.transform.matrix;for(let i=0;i<16;i++){GodotRuntime.setHeapValue(r_target_pose+i*4,target_pose_matrix[i],"float")}let target_ray_mode=0;switch(input_source.targetRayMode){case"gaze":target_ray_mode=1;break;case"tracked-pointer":target_ray_mode=2;break;case"screen":target_ray_mode=3;break;default:}GodotRuntime.setHeapValue(r_target_ray_mode,target_ray_mode,"i32");GodotRuntime.setHeapValue(r_touch_index,GodotWebXR.getTouchIndex(input_source),"i32");let has_grip_pose=false;if(input_source.gripSpace){const grip_pose=frame.getPose(input_source.gripSpace,space);if(grip_pose){const grip_pose_matrix=grip_pose.transform.matrix;for(let i=0;i<16;i++){GodotRuntime.setHeapValue(r_grip_pose+i*4,grip_pose_matrix[i],"float")}has_grip_pose=true}}GodotRuntime.setHeapValue(r_has_grip_pose,has_grip_pose?1:0,"i32");let has_standard_mapping=false;let button_count=0;let axes_count=0;if(input_source.gamepad){if(input_source.gamepad.mapping==="xr-standard"){has_standard_mapping=true}button_count=Math.min(input_source.gamepad.buttons.length,10);for(let i=0;i{const c_str=GodotRuntime.allocString("display_refresh_rate_changed");GodotWebXR.onsimpleevent(c_str);GodotRuntime.free(c_str)})}var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var getCFunc=ident=>{var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func};var writeArrayToMemory=(array,buffer)=>{assert(array.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");HEAP8.set(array,buffer)};var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i(...args)=>ccall(ident,returnType,argTypes,args,opts);FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["requestFullscreen"]=Browser.requestFullscreen;Module["requestFullScreen"]=Browser.requestFullScreen;Module["requestAnimationFrame"]=Browser.requestAnimationFrame;Module["setCanvasSize"]=Browser.setCanvasSize;Module["pauseMainLoop"]=Browser.mainLoop.pause;Module["resumeMainLoop"]=Browser.mainLoop.resume;Module["getUserMedia"]=Browser.getUserMedia;Module["createContext"]=Browser.createContext;var preloadedImages={};var preloadedAudios={};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<=288;++i){miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i)}var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<=288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i)}Module["request_quit"]=function(){GodotOS.request_quit()};Module["onExit"]=GodotOS.cleanup;GodotOS._fs_sync_promise=Promise.resolve();Module["initConfig"]=GodotConfig.init_config;Module["initFS"]=GodotFS.init;Module["copyToFS"]=GodotFS.copy_to_fs;GodotOS.atexit(function(resolve,reject){GodotDisplayCursor.clear();resolve()});GodotOS.atexit(function(resolve,reject){GodotEventListeners.clear();resolve()});GodotOS.atexit(function(resolve,reject){GodotDisplayVK.clear();resolve()});GodotOS.atexit(function(resolve,reject){GodotIME.clear();resolve()});GodotJSWrapper.proxies=new Map;function checkIncomingModuleAPI(){ignoredModuleProp("fetchSettings")}var wasmImports={__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_faccessat:___syscall_faccessat,__syscall_fchmod:___syscall_fchmod,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_mknodat:___syscall_mknodat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_readlinkat:___syscall_readlinkat,__syscall_renameat:___syscall_renameat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_statfs64:___syscall_statfs64,__syscall_symlink:___syscall_symlink,__syscall_unlinkat:___syscall_unlinkat,_abort_js:__abort_js,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_tzset_js:__tzset_js,emscripten_cancel_main_loop:_emscripten_cancel_main_loop,emscripten_date_now:_emscripten_date_now,emscripten_err:_emscripten_err,emscripten_force_exit:_emscripten_force_exit,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_now:_emscripten_get_now,emscripten_resize_heap:_emscripten_resize_heap,emscripten_set_canvas_element_size:_emscripten_set_canvas_element_size,emscripten_set_main_loop:_emscripten_set_main_loop,emscripten_webgl_commit_frame:_emscripten_webgl_commit_frame,emscripten_webgl_create_context:_emscripten_webgl_create_context,emscripten_webgl_destroy_context:_emscripten_webgl_destroy_context,emscripten_webgl_enable_extension:_emscripten_webgl_enable_extension,emscripten_webgl_get_supported_extensions:_emscripten_webgl_get_supported_extensions,emscripten_webgl_make_context_current:_emscripten_webgl_make_context_current,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_read:_fd_read,fd_seek:_fd_seek,fd_write:_fd_write,glActiveTexture:_glActiveTexture,glAttachShader:_glAttachShader,glBeginTransformFeedback:_glBeginTransformFeedback,glBindBuffer:_glBindBuffer,glBindBufferBase:_glBindBufferBase,glBindBufferRange:_glBindBufferRange,glBindFramebuffer:_glBindFramebuffer,glBindRenderbuffer:_glBindRenderbuffer,glBindTexture:_glBindTexture,glBindVertexArray:_glBindVertexArray,glBlendColor:_glBlendColor,glBlendEquation:_glBlendEquation,glBlendFunc:_glBlendFunc,glBlendFuncSeparate:_glBlendFuncSeparate,glBlitFramebuffer:_glBlitFramebuffer,glBufferData:_glBufferData,glBufferSubData:_glBufferSubData,glCheckFramebufferStatus:_glCheckFramebufferStatus,glClear:_glClear,glClearBufferfv:_glClearBufferfv,glClearColor:_glClearColor,glClearDepthf:_glClearDepthf,glColorMask:_glColorMask,glCompileShader:_glCompileShader,glCompressedTexImage2D:_glCompressedTexImage2D,glCompressedTexImage3D:_glCompressedTexImage3D,glCompressedTexSubImage3D:_glCompressedTexSubImage3D,glCopyBufferSubData:_glCopyBufferSubData,glCreateProgram:_glCreateProgram,glCreateShader:_glCreateShader,glCullFace:_glCullFace,glDeleteBuffers:_glDeleteBuffers,glDeleteFramebuffers:_glDeleteFramebuffers,glDeleteProgram:_glDeleteProgram,glDeleteQueries:_glDeleteQueries,glDeleteRenderbuffers:_glDeleteRenderbuffers,glDeleteShader:_glDeleteShader,glDeleteSync:_glDeleteSync,glDeleteTextures:_glDeleteTextures,glDeleteVertexArrays:_glDeleteVertexArrays,glDepthFunc:_glDepthFunc,glDepthMask:_glDepthMask,glDisable:_glDisable,glDisableVertexAttribArray:_glDisableVertexAttribArray,glDrawArrays:_glDrawArrays,glDrawArraysInstanced:_glDrawArraysInstanced,glDrawBuffers:_glDrawBuffers,glDrawElements:_glDrawElements,glDrawElementsInstanced:_glDrawElementsInstanced,glEnable:_glEnable,glEnableVertexAttribArray:_glEnableVertexAttribArray,glEndTransformFeedback:_glEndTransformFeedback,glFenceSync:_glFenceSync,glFinish:_glFinish,glFramebufferRenderbuffer:_glFramebufferRenderbuffer,glFramebufferTexture2D:_glFramebufferTexture2D,glFramebufferTextureLayer:_glFramebufferTextureLayer,glFrontFace:_glFrontFace,glGenBuffers:_glGenBuffers,glGenFramebuffers:_glGenFramebuffers,glGenQueries:_glGenQueries,glGenRenderbuffers:_glGenRenderbuffers,glGenTextures:_glGenTextures,glGenVertexArrays:_glGenVertexArrays,glGenerateMipmap:_glGenerateMipmap,glGetFloatv:_glGetFloatv,glGetInteger64v:_glGetInteger64v,glGetIntegerv:_glGetIntegerv,glGetProgramInfoLog:_glGetProgramInfoLog,glGetProgramiv:_glGetProgramiv,glGetShaderInfoLog:_glGetShaderInfoLog,glGetShaderiv:_glGetShaderiv,glGetString:_glGetString,glGetSynciv:_glGetSynciv,glGetUniformBlockIndex:_glGetUniformBlockIndex,glGetUniformLocation:_glGetUniformLocation,glLinkProgram:_glLinkProgram,glPixelStorei:_glPixelStorei,glReadBuffer:_glReadBuffer,glReadPixels:_glReadPixels,glRenderbufferStorage:_glRenderbufferStorage,glRenderbufferStorageMultisample:_glRenderbufferStorageMultisample,glScissor:_glScissor,glShaderSource:_glShaderSource,glTexImage2D:_glTexImage2D,glTexImage3D:_glTexImage3D,glTexParameterf:_glTexParameterf,glTexParameteri:_glTexParameteri,glTexStorage2D:_glTexStorage2D,glTexSubImage3D:_glTexSubImage3D,glTransformFeedbackVaryings:_glTransformFeedbackVaryings,glUniform1f:_glUniform1f,glUniform1i:_glUniform1i,glUniform1iv:_glUniform1iv,glUniform1ui:_glUniform1ui,glUniform1uiv:_glUniform1uiv,glUniform2f:_glUniform2f,glUniform2fv:_glUniform2fv,glUniform2iv:_glUniform2iv,glUniform3fv:_glUniform3fv,glUniform4f:_glUniform4f,glUniform4fv:_glUniform4fv,glUniformBlockBinding:_glUniformBlockBinding,glUniformMatrix3fv:_glUniformMatrix3fv,glUniformMatrix4fv:_glUniformMatrix4fv,glUseProgram:_glUseProgram,glVertexAttrib4f:_glVertexAttrib4f,glVertexAttribDivisor:_glVertexAttribDivisor,glVertexAttribI4ui:_glVertexAttribI4ui,glVertexAttribIPointer:_glVertexAttribIPointer,glVertexAttribPointer:_glVertexAttribPointer,glViewport:_glViewport,godot_audio_get_sample_playback_position:_godot_audio_get_sample_playback_position,godot_audio_has_script_processor:_godot_audio_has_script_processor,godot_audio_has_worklet:_godot_audio_has_worklet,godot_audio_init:_godot_audio_init,godot_audio_input_start:_godot_audio_input_start,godot_audio_input_stop:_godot_audio_input_stop,godot_audio_is_available:_godot_audio_is_available,godot_audio_resume:_godot_audio_resume,godot_audio_sample_bus_add:_godot_audio_sample_bus_add,godot_audio_sample_bus_move:_godot_audio_sample_bus_move,godot_audio_sample_bus_remove:_godot_audio_sample_bus_remove,godot_audio_sample_bus_set_count:_godot_audio_sample_bus_set_count,godot_audio_sample_bus_set_mute:_godot_audio_sample_bus_set_mute,godot_audio_sample_bus_set_send:_godot_audio_sample_bus_set_send,godot_audio_sample_bus_set_solo:_godot_audio_sample_bus_set_solo,godot_audio_sample_bus_set_volume_db:_godot_audio_sample_bus_set_volume_db,godot_audio_sample_is_active:_godot_audio_sample_is_active,godot_audio_sample_register_stream:_godot_audio_sample_register_stream,godot_audio_sample_set_finished_callback:_godot_audio_sample_set_finished_callback,godot_audio_sample_set_pause:_godot_audio_sample_set_pause,godot_audio_sample_set_volumes_linear:_godot_audio_sample_set_volumes_linear,godot_audio_sample_start:_godot_audio_sample_start,godot_audio_sample_stop:_godot_audio_sample_stop,godot_audio_sample_stream_is_registered:_godot_audio_sample_stream_is_registered,godot_audio_sample_unregister_stream:_godot_audio_sample_unregister_stream,godot_audio_sample_update_pitch_scale:_godot_audio_sample_update_pitch_scale,godot_audio_script_create:_godot_audio_script_create,godot_audio_script_start:_godot_audio_script_start,godot_audio_worklet_create:_godot_audio_worklet_create,godot_audio_worklet_start_no_threads:_godot_audio_worklet_start_no_threads,godot_js_config_canvas_id_get:_godot_js_config_canvas_id_get,godot_js_config_locale_get:_godot_js_config_locale_get,godot_js_display_alert:_godot_js_display_alert,godot_js_display_canvas_focus:_godot_js_display_canvas_focus,godot_js_display_canvas_is_focused:_godot_js_display_canvas_is_focused,godot_js_display_clipboard_get:_godot_js_display_clipboard_get,godot_js_display_clipboard_set:_godot_js_display_clipboard_set,godot_js_display_cursor_is_hidden:_godot_js_display_cursor_is_hidden,godot_js_display_cursor_is_locked:_godot_js_display_cursor_is_locked,godot_js_display_cursor_lock_set:_godot_js_display_cursor_lock_set,godot_js_display_cursor_set_custom_shape:_godot_js_display_cursor_set_custom_shape,godot_js_display_cursor_set_shape:_godot_js_display_cursor_set_shape,godot_js_display_cursor_set_visible:_godot_js_display_cursor_set_visible,godot_js_display_desired_size_set:_godot_js_display_desired_size_set,godot_js_display_fullscreen_cb:_godot_js_display_fullscreen_cb,godot_js_display_fullscreen_exit:_godot_js_display_fullscreen_exit,godot_js_display_fullscreen_request:_godot_js_display_fullscreen_request,godot_js_display_has_webgl:_godot_js_display_has_webgl,godot_js_display_is_swap_ok_cancel:_godot_js_display_is_swap_ok_cancel,godot_js_display_notification_cb:_godot_js_display_notification_cb,godot_js_display_pixel_ratio_get:_godot_js_display_pixel_ratio_get,godot_js_display_screen_dpi_get:_godot_js_display_screen_dpi_get,godot_js_display_screen_size_get:_godot_js_display_screen_size_get,godot_js_display_setup_canvas:_godot_js_display_setup_canvas,godot_js_display_size_update:_godot_js_display_size_update,godot_js_display_touchscreen_is_available:_godot_js_display_touchscreen_is_available,godot_js_display_tts_available:_godot_js_display_tts_available,godot_js_display_vk_available:_godot_js_display_vk_available,godot_js_display_vk_cb:_godot_js_display_vk_cb,godot_js_display_vk_hide:_godot_js_display_vk_hide,godot_js_display_vk_show:_godot_js_display_vk_show,godot_js_display_window_blur_cb:_godot_js_display_window_blur_cb,godot_js_display_window_icon_set:_godot_js_display_window_icon_set,godot_js_display_window_size_get:_godot_js_display_window_size_get,godot_js_display_window_title_set:_godot_js_display_window_title_set,godot_js_eval:_godot_js_eval,godot_js_fetch_create:_godot_js_fetch_create,godot_js_fetch_free:_godot_js_fetch_free,godot_js_fetch_http_status_get:_godot_js_fetch_http_status_get,godot_js_fetch_is_chunked:_godot_js_fetch_is_chunked,godot_js_fetch_read_chunk:_godot_js_fetch_read_chunk,godot_js_fetch_read_headers:_godot_js_fetch_read_headers,godot_js_fetch_state_get:_godot_js_fetch_state_get,godot_js_input_drop_files_cb:_godot_js_input_drop_files_cb,godot_js_input_gamepad_cb:_godot_js_input_gamepad_cb,godot_js_input_gamepad_sample:_godot_js_input_gamepad_sample,godot_js_input_gamepad_sample_count:_godot_js_input_gamepad_sample_count,godot_js_input_gamepad_sample_get:_godot_js_input_gamepad_sample_get,godot_js_input_key_cb:_godot_js_input_key_cb,godot_js_input_mouse_button_cb:_godot_js_input_mouse_button_cb,godot_js_input_mouse_move_cb:_godot_js_input_mouse_move_cb,godot_js_input_mouse_wheel_cb:_godot_js_input_mouse_wheel_cb,godot_js_input_paste_cb:_godot_js_input_paste_cb,godot_js_input_touch_cb:_godot_js_input_touch_cb,godot_js_input_vibrate_handheld:_godot_js_input_vibrate_handheld,godot_js_is_ime_focused:_godot_js_is_ime_focused,godot_js_os_download_buffer:_godot_js_os_download_buffer,godot_js_os_execute:_godot_js_os_execute,godot_js_os_finish_async:_godot_js_os_finish_async,godot_js_os_fs_is_persistent:_godot_js_os_fs_is_persistent,godot_js_os_fs_sync:_godot_js_os_fs_sync,godot_js_os_has_feature:_godot_js_os_has_feature,godot_js_os_hw_concurrency_get:_godot_js_os_hw_concurrency_get,godot_js_os_request_quit_cb:_godot_js_os_request_quit_cb,godot_js_os_shell_open:_godot_js_os_shell_open,godot_js_pwa_cb:_godot_js_pwa_cb,godot_js_pwa_update:_godot_js_pwa_update,godot_js_rtc_datachannel_close:_godot_js_rtc_datachannel_close,godot_js_rtc_datachannel_connect:_godot_js_rtc_datachannel_connect,godot_js_rtc_datachannel_destroy:_godot_js_rtc_datachannel_destroy,godot_js_rtc_datachannel_get_buffered_amount:_godot_js_rtc_datachannel_get_buffered_amount,godot_js_rtc_datachannel_id_get:_godot_js_rtc_datachannel_id_get,godot_js_rtc_datachannel_is_negotiated:_godot_js_rtc_datachannel_is_negotiated,godot_js_rtc_datachannel_is_ordered:_godot_js_rtc_datachannel_is_ordered,godot_js_rtc_datachannel_label_get:_godot_js_rtc_datachannel_label_get,godot_js_rtc_datachannel_max_packet_lifetime_get:_godot_js_rtc_datachannel_max_packet_lifetime_get,godot_js_rtc_datachannel_max_retransmits_get:_godot_js_rtc_datachannel_max_retransmits_get,godot_js_rtc_datachannel_protocol_get:_godot_js_rtc_datachannel_protocol_get,godot_js_rtc_datachannel_ready_state_get:_godot_js_rtc_datachannel_ready_state_get,godot_js_rtc_datachannel_send:_godot_js_rtc_datachannel_send,godot_js_rtc_pc_close:_godot_js_rtc_pc_close,godot_js_rtc_pc_create:_godot_js_rtc_pc_create,godot_js_rtc_pc_datachannel_create:_godot_js_rtc_pc_datachannel_create,godot_js_rtc_pc_destroy:_godot_js_rtc_pc_destroy,godot_js_rtc_pc_ice_candidate_add:_godot_js_rtc_pc_ice_candidate_add,godot_js_rtc_pc_local_description_set:_godot_js_rtc_pc_local_description_set,godot_js_rtc_pc_offer_create:_godot_js_rtc_pc_offer_create,godot_js_rtc_pc_remote_description_set:_godot_js_rtc_pc_remote_description_set,godot_js_set_ime_active:_godot_js_set_ime_active,godot_js_set_ime_cb:_godot_js_set_ime_cb,godot_js_set_ime_position:_godot_js_set_ime_position,godot_js_tts_get_voices:_godot_js_tts_get_voices,godot_js_tts_is_paused:_godot_js_tts_is_paused,godot_js_tts_is_speaking:_godot_js_tts_is_speaking,godot_js_tts_pause:_godot_js_tts_pause,godot_js_tts_resume:_godot_js_tts_resume,godot_js_tts_speak:_godot_js_tts_speak,godot_js_tts_stop:_godot_js_tts_stop,godot_js_webmidi_close_midi_inputs:_godot_js_webmidi_close_midi_inputs,godot_js_webmidi_open_midi_inputs:_godot_js_webmidi_open_midi_inputs,godot_js_websocket_buffered_amount:_godot_js_websocket_buffered_amount,godot_js_websocket_close:_godot_js_websocket_close,godot_js_websocket_create:_godot_js_websocket_create,godot_js_websocket_destroy:_godot_js_websocket_destroy,godot_js_websocket_send:_godot_js_websocket_send,godot_js_wrapper_create_cb:_godot_js_wrapper_create_cb,godot_js_wrapper_create_object:_godot_js_wrapper_create_object,godot_js_wrapper_interface_get:_godot_js_wrapper_interface_get,godot_js_wrapper_object_call:_godot_js_wrapper_object_call,godot_js_wrapper_object_get:_godot_js_wrapper_object_get,godot_js_wrapper_object_getvar:_godot_js_wrapper_object_getvar,godot_js_wrapper_object_is_buffer:_godot_js_wrapper_object_is_buffer,godot_js_wrapper_object_set:_godot_js_wrapper_object_set,godot_js_wrapper_object_set_cb_ret:_godot_js_wrapper_object_set_cb_ret,godot_js_wrapper_object_setvar:_godot_js_wrapper_object_setvar,godot_js_wrapper_object_transfer_buffer:_godot_js_wrapper_object_transfer_buffer,godot_js_wrapper_object_unref:_godot_js_wrapper_object_unref,godot_webgl2_glFramebufferTextureMultisampleMultiviewOVR:_godot_webgl2_glFramebufferTextureMultisampleMultiviewOVR,godot_webgl2_glFramebufferTextureMultiviewOVR:_godot_webgl2_glFramebufferTextureMultiviewOVR,godot_webgl2_glGetBufferSubData:_godot_webgl2_glGetBufferSubData,godot_webxr_get_bounds_geometry:_godot_webxr_get_bounds_geometry,godot_webxr_get_color_texture:_godot_webxr_get_color_texture,godot_webxr_get_depth_texture:_godot_webxr_get_depth_texture,godot_webxr_get_frame_rate:_godot_webxr_get_frame_rate,godot_webxr_get_projection_for_view:_godot_webxr_get_projection_for_view,godot_webxr_get_render_target_size:_godot_webxr_get_render_target_size,godot_webxr_get_supported_frame_rates:_godot_webxr_get_supported_frame_rates,godot_webxr_get_transform_for_view:_godot_webxr_get_transform_for_view,godot_webxr_get_velocity_texture:_godot_webxr_get_velocity_texture,godot_webxr_get_view_count:_godot_webxr_get_view_count,godot_webxr_get_visibility_state:_godot_webxr_get_visibility_state,godot_webxr_initialize:_godot_webxr_initialize,godot_webxr_is_session_supported:_godot_webxr_is_session_supported,godot_webxr_is_supported:_godot_webxr_is_supported,godot_webxr_uninitialize:_godot_webxr_uninitialize,godot_webxr_update_input_source:_godot_webxr_update_input_source,godot_webxr_update_target_frame_rate:_godot_webxr_update_target_frame_rate,proc_exit:_proc_exit};var wasmExports=createWasm();var ___wasm_call_ctors=createExportWrapper("__wasm_call_ctors",0);var _free=createExportWrapper("free",1);var __Z14godot_web_mainiPPc=Module["__Z14godot_web_mainiPPc"]=createExportWrapper("_Z14godot_web_mainiPPc",2);var _main=Module["_main"]=createExportWrapper("__main_argc_argv",2);var _malloc=createExportWrapper("malloc",1);var _fflush=createExportWrapper("fflush",1);var __emwebxr_on_input_event=Module["__emwebxr_on_input_event"]=createExportWrapper("_emwebxr_on_input_event",2);var __emwebxr_on_simple_event=Module["__emwebxr_on_simple_event"]=createExportWrapper("_emwebxr_on_simple_event",1);var _strerror=createExportWrapper("strerror",1);var ___funcs_on_exit=createExportWrapper("__funcs_on_exit",0);var _emscripten_stack_init=()=>(_emscripten_stack_init=wasmExports["emscripten_stack_init"])();var _emscripten_stack_get_free=()=>(_emscripten_stack_get_free=wasmExports["emscripten_stack_get_free"])();var _emscripten_stack_get_base=()=>(_emscripten_stack_get_base=wasmExports["emscripten_stack_get_base"])();var _emscripten_stack_get_end=()=>(_emscripten_stack_get_end=wasmExports["emscripten_stack_get_end"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"])();Module["callMain"]=callMain;Module["cwrap"]=cwrap;var missingLibrarySymbols=["writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","convertI32PairToI53","convertI32PairToI53Checked","convertU32PairToI53","getTempRet0","setTempRet0","arraySum","addDays","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","emscriptenLog","readEmAsmArgs","listenOnce","autoResumeAudioContext","getDynCaller","dynCall","setWasmTableEntry","asmjsMangle","HandleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","intArrayToString","AsciiToString","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","registerKeyEventCallback","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","jsStackTrace","getCallstack","convertPCtoSourceLocation","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","createDyncallWrapper","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","getPromise","makePromise","idsToPromises","makePromiseCallback","Browser_asyncPrepareDataCounter","getSocketFromFD","getSocketAddress","FS_unlink","FS_mkdirTree","_setNetworkCallback","emscriptenWebGLGetUniform","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","emscriptenWebGLGetIndexed","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","setErrNo","demangle","stackTrace"];missingLibrarySymbols.forEach(missingLibrarySymbol);var unexportedSymbols=["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","out","err","abort","wasmMemory","wasmExports","writeStackCookie","checkStackCookie","writeI53ToI64","readI53FromI64","readI53FromU64","INT53_MAX","INT53_MIN","bigintToI53Checked","stackSave","stackRestore","stackAlloc","ptrToString","zeroMemory","exitJS","getHeapMax","growMemory","ENV","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","ydayFromDate","ERRNO_CODES","strError","DNS","Protocols","Sockets","initRandomFill","randomFill","timers","warnOnce","readEmAsmArgsArray","jstoi_q","jstoi_s","getExecutableName","getWasmTableEntry","handleException","keepRuntimeAlive","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","asyncLoad","alignMemory","mmapAlloc","wasmTable","noExitRuntime","getCFunc","ccall","freeTableIndexes","functionsInTableMap","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","intArrayFromString","stringToAscii","UTF16Decoder","stringToNewUTF8","stringToUTF8OnStack","writeArrayToMemory","JSEvents","specialHTMLTargets","maybeCStringToJsString","findEventTarget","findCanvasEventTarget","currentFullscreenStrategy","restoreOldWindowedStyle","UNWIND_CACHE","ExitStatus","getEnvStrings","doReadv","doWritev","safeSetTimeout","promiseMap","Browser","setMainLoop","getPreloadedImageData__data","wget","SYSCALLS","preloadPlugins","FS_createPreloadedFile","FS_modeStringToFlags","FS_getMode","FS_stdin_getChar_buffer","FS_stdin_getChar","FS_createPath","FS_createDevice","FS_readFile","FS","FS_createDataFile","FS_createLazyFile","MEMFS","TTY","PIPEFS","SOCKFS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","heapObjectForWebGLType","toTypedArrayIndex","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","GL","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance","webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance","allocateUTF8","allocateUTF8OnStack","print","printErr","GodotWebXR","GodotWebSocket","GodotRTCDataChannel","GodotRTCPeerConnection","GodotAudio","GodotAudioWorklet","GodotAudioScript","GodotDisplayVK","GodotDisplayCursor","GodotDisplayScreen","GodotDisplay","GodotFetch","GodotWebMidi","IDHandler","GodotConfig","GodotFS","GodotOS","GodotEventListeners","GodotPWA","GodotRuntime","GodotIME","GodotInputGamepads","GodotInputDragDrop","GodotInput","GodotWebGL2","GodotJSWrapper","IDBFS"];unexportedSymbols.forEach(unexportedRuntimeSymbol);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){assert(runDependencies==0,'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])');assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(args=arguments_){if(runDependencies>0){return}stackCheckInit();preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=false;if(Module["noInitialRun"])shouldRunNow=false;run();moduleRtn=readyPromise;for(const prop of Object.keys(Module)){if(!(prop in moduleArg)){Object.defineProperty(moduleArg,prop,{configurable:true,get(){abort(`Access to module property ('${prop}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`)}})}} + + + return moduleRtn; +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = Godot; +else if (typeof define === 'function' && define['amd']) + define([], () => Godot); + +const Features = { + /** + * Check whether WebGL is available. Optionally, specify a particular version of WebGL to check for. + * + * @param {number=} [majorVersion=1] The major WebGL version to check for. + * @returns {boolean} If the given major version of WebGL is available. + * @function Engine.isWebGLAvailable + */ + isWebGLAvailable: function (majorVersion = 1) { + try { + return !!document.createElement('canvas').getContext(['webgl', 'webgl2'][majorVersion - 1]); + } catch (e) { /* Not available */ } + return false; + }, + + /** + * Check whether the Fetch API available and supports streaming responses. + * + * @returns {boolean} If the Fetch API is available and supports streaming responses. + * @function Engine.isFetchAvailable + */ + isFetchAvailable: function () { + return 'fetch' in window && 'Response' in window && 'body' in window.Response.prototype; + }, + + /** + * Check whether the engine is running in a Secure Context. + * + * @returns {boolean} If the engine is running in a Secure Context. + * @function Engine.isSecureContext + */ + isSecureContext: function () { + return window['isSecureContext'] === true; + }, + + /** + * Check whether the engine is cross origin isolated. + * This value is dependent on Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy headers sent by the server. + * + * @returns {boolean} If the engine is running in a Secure Context. + * @function Engine.isSecureContext + */ + isCrossOriginIsolated: function () { + return window['crossOriginIsolated'] === true; + }, + + /** + * Check whether SharedBufferArray is available. + * + * Most browsers require the page to be running in a secure context, and the + * the server to provide specific CORS headers for SharedArrayBuffer to be available. + * + * @returns {boolean} If SharedArrayBuffer is available. + * @function Engine.isSharedArrayBufferAvailable + */ + isSharedArrayBufferAvailable: function () { + return 'SharedArrayBuffer' in window; + }, + + /** + * Check whether the AudioContext supports AudioWorkletNodes. + * + * @returns {boolean} If AudioWorkletNode is available. + * @function Engine.isAudioWorkletAvailable + */ + isAudioWorkletAvailable: function () { + return 'AudioContext' in window && 'audioWorklet' in AudioContext.prototype; + }, + + /** + * Return an array of missing required features (as string). + * + * @returns {Array} A list of human-readable missing features. + * @function Engine.getMissingFeatures + * @param {{threads: (boolean|undefined)}} supportedFeatures + */ + getMissingFeatures: function (supportedFeatures = {}) { + const { + // Quotes are needed for the Closure compiler. + 'threads': supportsThreads = true, + } = supportedFeatures; + + const missing = []; + if (!Features.isWebGLAvailable(2)) { + missing.push('WebGL2 - Check web browser configuration and hardware support'); + } + if (!Features.isFetchAvailable()) { + missing.push('Fetch - Check web browser version'); + } + if (!Features.isSecureContext()) { + missing.push('Secure Context - Check web server configuration (use HTTPS)'); + } + + if (supportsThreads) { + if (!Features.isCrossOriginIsolated()) { + missing.push('Cross-Origin Isolation - Check that the web server configuration sends the correct headers.'); + } + if (!Features.isSharedArrayBufferAvailable()) { + missing.push('SharedArrayBuffer - Check that the web server configuration sends the correct headers.'); + } + } + + // Audio is normally optional since we have a dummy fallback. + return missing; + }, +}; + +const Preloader = /** @constructor */ function () { // eslint-disable-line no-unused-vars + function getTrackedResponse(response, load_status) { + function onloadprogress(reader, controller) { + return reader.read().then(function (result) { + if (load_status.done) { + return Promise.resolve(); + } + if (result.value) { + controller.enqueue(result.value); + load_status.loaded += result.value.length; + } + if (!result.done) { + return onloadprogress(reader, controller); + } + load_status.done = true; + return Promise.resolve(); + }); + } + const reader = response.body.getReader(); + return new Response(new ReadableStream({ + start: function (controller) { + onloadprogress(reader, controller).then(function () { + controller.close(); + }); + }, + }), { headers: response.headers }); + } + + function loadFetch(file, tracker, fileSize, raw) { + tracker[file] = { + total: fileSize || 0, + loaded: 0, + done: false, + }; + return fetch(file).then(function (response) { + if (!response.ok) { + return Promise.reject(new Error(`Failed loading file '${file}'`)); + } + const tr = getTrackedResponse(response, tracker[file]); + if (raw) { + return Promise.resolve(tr); + } + return tr.arrayBuffer(); + }); + } + + function retry(func, attempts = 1) { + function onerror(err) { + if (attempts <= 1) { + return Promise.reject(err); + } + return new Promise(function (resolve, reject) { + setTimeout(function () { + retry(func, attempts - 1).then(resolve).catch(reject); + }, 1000); + }); + } + return func().catch(onerror); + } + + const DOWNLOAD_ATTEMPTS_MAX = 4; + const loadingFiles = {}; + const lastProgress = { loaded: 0, total: 0 }; + let progressFunc = null; + + const animateProgress = function () { + let loaded = 0; + let total = 0; + let totalIsValid = true; + let progressIsFinal = true; + + Object.keys(loadingFiles).forEach(function (file) { + const stat = loadingFiles[file]; + if (!stat.done) { + progressIsFinal = false; + } + if (!totalIsValid || stat.total === 0) { + totalIsValid = false; + total = 0; + } else { + total += stat.total; + } + loaded += stat.loaded; + }); + if (loaded !== lastProgress.loaded || total !== lastProgress.total) { + lastProgress.loaded = loaded; + lastProgress.total = total; + if (typeof progressFunc === 'function') { + progressFunc(loaded, total); + } + } + if (!progressIsFinal) { + requestAnimationFrame(animateProgress); + } + }; + + this.animateProgress = animateProgress; + + this.setProgressFunc = function (callback) { + progressFunc = callback; + }; + + this.loadPromise = function (file, fileSize, raw = false) { + return retry(loadFetch.bind(null, file, loadingFiles, fileSize, raw), DOWNLOAD_ATTEMPTS_MAX); + }; + + this.preloadedFiles = []; + this.preload = function (pathOrBuffer, destPath, fileSize) { + let buffer = null; + if (typeof pathOrBuffer === 'string') { + const me = this; + return this.loadPromise(pathOrBuffer, fileSize).then(function (buf) { + me.preloadedFiles.push({ + path: destPath || pathOrBuffer, + buffer: buf, + }); + return Promise.resolve(); + }); + } else if (pathOrBuffer instanceof ArrayBuffer) { + buffer = new Uint8Array(pathOrBuffer); + } else if (ArrayBuffer.isView(pathOrBuffer)) { + buffer = new Uint8Array(pathOrBuffer.buffer); + } + if (buffer) { + this.preloadedFiles.push({ + path: destPath, + buffer: pathOrBuffer, + }); + return Promise.resolve(); + } + return Promise.reject(new Error('Invalid object for preloading')); + }; +}; + +/** + * An object used to configure the Engine instance based on godot export options, and to override those in custom HTML + * templates if needed. + * + * @header Engine configuration + * @summary The Engine configuration object. This is just a typedef, create it like a regular object, e.g.: + * + * ``const MyConfig = { executable: 'godot', unloadAfterInit: false }`` + * + * @typedef {Object} EngineConfig + */ +const EngineConfig = {}; // eslint-disable-line no-unused-vars + +/** + * @struct + * @constructor + * @ignore + */ +const InternalConfig = function (initConfig) { // eslint-disable-line no-unused-vars + const cfg = /** @lends {InternalConfig.prototype} */ { + /** + * Whether to unload the engine automatically after the instance is initialized. + * + * @memberof EngineConfig + * @default + * @type {boolean} + */ + unloadAfterInit: true, + /** + * The HTML DOM Canvas object to use. + * + * By default, the first canvas element in the document will be used is none is specified. + * + * @memberof EngineConfig + * @default + * @type {?HTMLCanvasElement} + */ + canvas: null, + /** + * The name of the WASM file without the extension. (Set by Godot Editor export process). + * + * @memberof EngineConfig + * @default + * @type {string} + */ + executable: '', + /** + * An alternative name for the game pck to load. The executable name is used otherwise. + * + * @memberof EngineConfig + * @default + * @type {?string} + */ + mainPack: null, + /** + * Specify a language code to select the proper localization for the game. + * + * The browser locale will be used if none is specified. See complete list of + * :ref:`supported locales `. + * + * @memberof EngineConfig + * @type {?string} + * @default + */ + locale: null, + /** + * The canvas resize policy determines how the canvas should be resized by Godot. + * + * ``0`` means Godot won't do any resizing. This is useful if you want to control the canvas size from + * javascript code in your template. + * + * ``1`` means Godot will resize the canvas on start, and when changing window size via engine functions. + * + * ``2`` means Godot will adapt the canvas size to match the whole browser window. + * + * @memberof EngineConfig + * @type {number} + * @default + */ + canvasResizePolicy: 2, + /** + * The arguments to be passed as command line arguments on startup. + * + * See :ref:`command line tutorial `. + * + * **Note**: :js:meth:`startGame ` will always add the ``--main-pack`` argument. + * + * @memberof EngineConfig + * @type {Array} + * @default + */ + args: [], + /** + * When enabled, the game canvas will automatically grab the focus when the engine starts. + * + * @memberof EngineConfig + * @type {boolean} + * @default + */ + focusCanvas: true, + /** + * When enabled, this will turn on experimental virtual keyboard support on mobile. + * + * @memberof EngineConfig + * @type {boolean} + * @default + */ + experimentalVK: false, + /** + * The progressive web app service worker to install. + * @memberof EngineConfig + * @default + * @type {string} + */ + serviceWorker: '', + /** + * @ignore + * @type {Array.} + */ + persistentPaths: ['/userfs'], + /** + * @ignore + * @type {boolean} + */ + persistentDrops: false, + /** + * @ignore + * @type {Array.} + */ + gdextensionLibs: [], + /** + * @ignore + * @type {Array.} + */ + fileSizes: [], + /** + * A callback function for handling Godot's ``OS.execute`` calls. + * + * This is for example used in the Web Editor template to switch between project manager and editor, and for running the game. + * + * @callback EngineConfig.onExecute + * @param {string} path The path that Godot's wants executed. + * @param {Array.} args The arguments of the "command" to execute. + */ + /** + * @ignore + * @type {?function(string, Array.)} + */ + onExecute: null, + /** + * A callback function for being notified when the Godot instance quits. + * + * **Note**: This function will not be called if the engine crashes or become unresponsive. + * + * @callback EngineConfig.onExit + * @param {number} status_code The status code returned by Godot on exit. + */ + /** + * @ignore + * @type {?function(number)} + */ + onExit: null, + /** + * A callback function for displaying download progress. + * + * The function is called once per frame while downloading files, so the usage of ``requestAnimationFrame()`` + * is not necessary. + * + * If the callback function receives a total amount of bytes as 0, this means that it is impossible to calculate. + * Possible reasons include: + * + * - Files are delivered with server-side chunked compression + * - Files are delivered with server-side compression on Chromium + * - Not all file downloads have started yet (usually on servers without multi-threading) + * + * @callback EngineConfig.onProgress + * @param {number} current The current amount of downloaded bytes so far. + * @param {number} total The total amount of bytes to be downloaded. + */ + /** + * @ignore + * @type {?function(number, number)} + */ + onProgress: null, + /** + * A callback function for handling the standard output stream. This method should usually only be used in debug pages. + * + * By default, ``console.log()`` is used. + * + * @callback EngineConfig.onPrint + * @param {...*} [var_args] A variadic number of arguments to be printed. + */ + /** + * @ignore + * @type {?function(...*)} + */ + onPrint: function () { + console.log.apply(console, Array.from(arguments)); // eslint-disable-line no-console + }, + /** + * A callback function for handling the standard error stream. This method should usually only be used in debug pages. + * + * By default, ``console.error()`` is used. + * + * @callback EngineConfig.onPrintError + * @param {...*} [var_args] A variadic number of arguments to be printed as errors. + */ + /** + * @ignore + * @type {?function(...*)} + */ + onPrintError: function (var_args) { + console.error.apply(console, Array.from(arguments)); // eslint-disable-line no-console + }, + }; + + /** + * @ignore + * @struct + * @constructor + * @param {EngineConfig} opts + */ + function Config(opts) { + this.update(opts); + } + + Config.prototype = cfg; + + /** + * @ignore + * @param {EngineConfig} opts + */ + Config.prototype.update = function (opts) { + const config = opts || {}; + // NOTE: We must explicitly pass the default, accessing it via + // the key will fail due to closure compiler renames. + function parse(key, def) { + if (typeof (config[key]) === 'undefined') { + return def; + } + return config[key]; + } + // Module config + this.unloadAfterInit = parse('unloadAfterInit', this.unloadAfterInit); + this.onPrintError = parse('onPrintError', this.onPrintError); + this.onPrint = parse('onPrint', this.onPrint); + this.onProgress = parse('onProgress', this.onProgress); + + // Godot config + this.canvas = parse('canvas', this.canvas); + this.executable = parse('executable', this.executable); + this.mainPack = parse('mainPack', this.mainPack); + this.locale = parse('locale', this.locale); + this.canvasResizePolicy = parse('canvasResizePolicy', this.canvasResizePolicy); + this.persistentPaths = parse('persistentPaths', this.persistentPaths); + this.persistentDrops = parse('persistentDrops', this.persistentDrops); + this.experimentalVK = parse('experimentalVK', this.experimentalVK); + this.focusCanvas = parse('focusCanvas', this.focusCanvas); + this.serviceWorker = parse('serviceWorker', this.serviceWorker); + this.gdextensionLibs = parse('gdextensionLibs', this.gdextensionLibs); + this.fileSizes = parse('fileSizes', this.fileSizes); + this.args = parse('args', this.args); + this.onExecute = parse('onExecute', this.onExecute); + this.onExit = parse('onExit', this.onExit); + }; + + /** + * @ignore + * @param {string} loadPath + * @param {Response} response + */ + Config.prototype.getModuleConfig = function (loadPath, response) { + let r = response; + const gdext = this.gdextensionLibs; + return { + 'print': this.onPrint, + 'printErr': this.onPrintError, + 'thisProgram': this.executable, + 'noExitRuntime': false, + 'dynamicLibraries': [`${loadPath}.side.wasm`].concat(this.gdextensionLibs), + 'instantiateWasm': function (imports, onSuccess) { + function done(result) { + onSuccess(result['instance'], result['module']); + } + if (typeof (WebAssembly.instantiateStreaming) !== 'undefined') { + WebAssembly.instantiateStreaming(Promise.resolve(r), imports).then(done); + } else { + r.arrayBuffer().then(function (buffer) { + WebAssembly.instantiate(buffer, imports).then(done); + }); + } + r = null; + return {}; + }, + 'locateFile': function (path) { + if (!path.startsWith('godot.')) { + return path; + } else if (path.endsWith('.audio.worklet.js')) { + return `${loadPath}.audio.worklet.js`; + } else if (path.endsWith('.audio.position.worklet.js')) { + return `${loadPath}.audio.position.worklet.js`; + } else if (path.endsWith('.js')) { + return `${loadPath}.js`; + } else if (path in gdext) { + return path; + } else if (path.endsWith('.side.wasm')) { + return `${loadPath}.side.wasm`; + } else if (path.endsWith('.wasm')) { + return `${loadPath}.wasm`; + } + return path; + }, + }; + }; + + /** + * @ignore + * @param {function()} cleanup + */ + Config.prototype.getGodotConfig = function (cleanup) { + // Try to find a canvas + if (!(this.canvas instanceof HTMLCanvasElement)) { + const nodes = document.getElementsByTagName('canvas'); + if (nodes.length && nodes[0] instanceof HTMLCanvasElement) { + const first = nodes[0]; + this.canvas = /** @type {!HTMLCanvasElement} */ (first); + } + if (!this.canvas) { + throw new Error('No canvas found in page'); + } + } + // Canvas can grab focus on click, or key events won't work. + if (this.canvas.tabIndex < 0) { + this.canvas.tabIndex = 0; + } + + // Browser locale, or custom one if defined. + let locale = this.locale; + if (!locale) { + locale = navigator.languages ? navigator.languages[0] : navigator.language; + locale = locale.split('.')[0]; + } + locale = locale.replace('-', '_'); + const onExit = this.onExit; + + // Godot configuration. + return { + 'canvas': this.canvas, + 'canvasResizePolicy': this.canvasResizePolicy, + 'locale': locale, + 'persistentDrops': this.persistentDrops, + 'virtualKeyboard': this.experimentalVK, + 'focusCanvas': this.focusCanvas, + 'onExecute': this.onExecute, + 'onExit': function (p_code) { + cleanup(); // We always need to call the cleanup callback to free memory. + if (typeof (onExit) === 'function') { + onExit(p_code); + } + }, + }; + }; + return new Config(initConfig); +}; + +/** + * Projects exported for the Web expose the :js:class:`Engine` class to the JavaScript environment, that allows + * fine control over the engine's start-up process. + * + * This API is built in an asynchronous manner and requires basic understanding + * of `Promises `__. + * + * @module Engine + * @header Web export JavaScript reference + */ +const Engine = (function () { + const preloader = new Preloader(); + + let loadPromise = null; + let loadPath = ''; + let initPromise = null; + + /** + * @classdesc The ``Engine`` class provides methods for loading and starting exported projects on the Web. For default export + * settings, this is already part of the exported HTML page. To understand practical use of the ``Engine`` class, + * see :ref:`Custom HTML page for Web export `. + * + * @description Create a new Engine instance with the given configuration. + * + * @global + * @constructor + * @param {EngineConfig} initConfig The initial config for this instance. + */ + function Engine(initConfig) { // eslint-disable-line no-shadow + this.config = new InternalConfig(initConfig); + this.rtenv = null; + } + + /** + * Load the engine from the specified base path. + * + * @param {string} basePath Base path of the engine to load. + * @param {number=} [size=0] The file size if known. + * @returns {Promise} A Promise that resolves once the engine is loaded. + * + * @function Engine.load + */ + Engine.load = function (basePath, size) { + if (loadPromise == null) { + loadPath = basePath; + loadPromise = preloader.loadPromise(`${loadPath}.wasm`, size, true); + requestAnimationFrame(preloader.animateProgress); + } + return loadPromise; + }; + + /** + * Unload the engine to free memory. + * + * This method will be called automatically depending on the configuration. See :js:attr:`unloadAfterInit`. + * + * @function Engine.unload + */ + Engine.unload = function () { + loadPromise = null; + }; + + /** + * Safe Engine constructor, creates a new prototype for every new instance to avoid prototype pollution. + * @ignore + * @constructor + */ + function SafeEngine(initConfig) { + const proto = /** @lends Engine.prototype */ { + /** + * Initialize the engine instance. Optionally, pass the base path to the engine to load it, + * if it hasn't been loaded yet. See :js:meth:`Engine.load`. + * + * @param {string=} basePath Base path of the engine to load. + * @return {Promise} A ``Promise`` that resolves once the engine is loaded and initialized. + */ + init: function (basePath) { + if (initPromise) { + return initPromise; + } + if (loadPromise == null) { + if (!basePath) { + initPromise = Promise.reject(new Error('A base path must be provided when calling `init` and the engine is not loaded.')); + return initPromise; + } + Engine.load(basePath, this.config.fileSizes[`${basePath}.wasm`]); + } + const me = this; + function doInit(promise) { + // Care! Promise chaining is bogus with old emscripten versions. + // This caused a regression with the Mono build (which uses an older emscripten version). + // Make sure to test that when refactoring. + return new Promise(function (resolve, reject) { + promise.then(function (response) { + const cloned = new Response(response.clone().body, { 'headers': [['content-type', 'application/wasm']] }); + Godot(me.config.getModuleConfig(loadPath, cloned)).then(function (module) { + const paths = me.config.persistentPaths; + module['initFS'](paths).then(function (err) { + me.rtenv = module; + if (me.config.unloadAfterInit) { + Engine.unload(); + } + resolve(); + }); + }); + }); + }); + } + preloader.setProgressFunc(this.config.onProgress); + initPromise = doInit(loadPromise); + return initPromise; + }, + + /** + * Load a file so it is available in the instance's file system once it runs. Must be called **before** starting the + * instance. + * + * If not provided, the ``path`` is derived from the URL of the loaded file. + * + * @param {string|ArrayBuffer} file The file to preload. + * + * If a ``string`` the file will be loaded from that path. + * + * If an ``ArrayBuffer`` or a view on one, the buffer will used as the content of the file. + * + * @param {string=} path Path by which the file will be accessible. Required, if ``file`` is not a string. + * + * @returns {Promise} A Promise that resolves once the file is loaded. + */ + preloadFile: function (file, path) { + return preloader.preload(file, path, this.config.fileSizes[file]); + }, + + /** + * Start the engine instance using the given override configuration (if any). + * :js:meth:`startGame ` can be used in typical cases instead. + * + * This will initialize the instance if it is not initialized. For manual initialization, see :js:meth:`init `. + * The engine must be loaded beforehand. + * + * Fails if a canvas cannot be found on the page, or not specified in the configuration. + * + * @param {EngineConfig} override An optional configuration override. + * @return {Promise} Promise that resolves once the engine started. + */ + start: function (override) { + this.config.update(override); + const me = this; + return me.init().then(function () { + if (!me.rtenv) { + return Promise.reject(new Error('The engine must be initialized before it can be started')); + } + + let config = {}; + try { + config = me.config.getGodotConfig(function () { + me.rtenv = null; + }); + } catch (e) { + return Promise.reject(e); + } + // Godot configuration. + me.rtenv['initConfig'](config); + + // Preload GDExtension libraries. + if (me.config.gdextensionLibs.length > 0 && !me.rtenv['loadDynamicLibrary']) { + return Promise.reject(new Error('GDExtension libraries are not supported by this engine version. ' + + 'Enable "Extensions Support" for your export preset and/or build your custom template with "dlink_enabled=yes".')); + } + return new Promise(function (resolve, reject) { + for (const file of preloader.preloadedFiles) { + me.rtenv['copyToFS'](file.path, file.buffer); + } + preloader.preloadedFiles.length = 0; // Clear memory + me.rtenv['callMain'](me.config.args); + initPromise = null; + me.installServiceWorker(); + resolve(); + }); + }); + }, + + /** + * Start the game instance using the given configuration override (if any). + * + * This will initialize the instance if it is not initialized. For manual initialization, see :js:meth:`init `. + * + * This will load the engine if it is not loaded, and preload the main pck. + * + * This method expects the initial config (or the override) to have both the :js:attr:`executable` and :js:attr:`mainPack` + * properties set (normally done by the editor during export). + * + * @param {EngineConfig} override An optional configuration override. + * @return {Promise} Promise that resolves once the game started. + */ + startGame: function (override) { + this.config.update(override); + // Add main-pack argument. + const exe = this.config.executable; + const pack = this.config.mainPack || `${exe}.pck`; + this.config.args = ['--main-pack', pack].concat(this.config.args); + // Start and init with execName as loadPath if not inited. + const me = this; + return Promise.all([ + this.init(exe), + this.preloadFile(pack, pack), + ]).then(function () { + return me.start.apply(me); + }); + }, + + /** + * Create a file at the specified ``path`` with the passed as ``buffer`` in the instance's file system. + * + * @param {string} path The location where the file will be created. + * @param {ArrayBuffer} buffer The content of the file. + */ + copyToFS: function (path, buffer) { + if (this.rtenv == null) { + throw new Error('Engine must be inited before copying files'); + } + this.rtenv['copyToFS'](path, buffer); + }, + + /** + * Request that the current instance quit. + * + * This is akin the user pressing the close button in the window manager, and will + * have no effect if the engine has crashed, or is stuck in a loop. + * + */ + requestQuit: function () { + if (this.rtenv) { + this.rtenv['request_quit'](); + } + }, + + /** + * Install the progressive-web app service worker. + * @returns {Promise} The service worker registration promise. + */ + installServiceWorker: function () { + if (this.config.serviceWorker && 'serviceWorker' in navigator) { + try { + return navigator.serviceWorker.register(this.config.serviceWorker); + } catch (e) { + return Promise.reject(e); + } + } + return Promise.resolve(); + }, + }; + + Engine.prototype = proto; + // Closure compiler exported instance methods. + Engine.prototype['init'] = Engine.prototype.init; + Engine.prototype['preloadFile'] = Engine.prototype.preloadFile; + Engine.prototype['start'] = Engine.prototype.start; + Engine.prototype['startGame'] = Engine.prototype.startGame; + Engine.prototype['copyToFS'] = Engine.prototype.copyToFS; + Engine.prototype['requestQuit'] = Engine.prototype.requestQuit; + Engine.prototype['installServiceWorker'] = Engine.prototype.installServiceWorker; + // Also expose static methods as instance methods + Engine.prototype['load'] = Engine.load; + Engine.prototype['unload'] = Engine.unload; + return new Engine(initConfig); + } + + // Closure compiler exported static methods. + SafeEngine['load'] = Engine.load; + SafeEngine['unload'] = Engine.unload; + + // Feature-detection utilities. + SafeEngine['isWebGLAvailable'] = Features.isWebGLAvailable; + SafeEngine['isFetchAvailable'] = Features.isFetchAvailable; + SafeEngine['isSecureContext'] = Features.isSecureContext; + SafeEngine['isCrossOriginIsolated'] = Features.isCrossOriginIsolated; + SafeEngine['isSharedArrayBufferAvailable'] = Features.isSharedArrayBufferAvailable; + SafeEngine['isAudioWorkletAvailable'] = Features.isAudioWorkletAvailable; + SafeEngine['getMissingFeatures'] = Features.getMissingFeatures; + + return SafeEngine; +}()); +if (typeof window !== 'undefined') { + window['Engine'] = Engine; +} diff --git a/exports/encuentralo.offline.pck b/exports/encuentralo.offline.pck new file mode 100644 index 0000000..909b12f Binary files /dev/null and b/exports/encuentralo.offline.pck differ diff --git a/exports/encuentralo.offline.png b/exports/encuentralo.offline.png new file mode 100644 index 0000000..766b0b6 Binary files /dev/null and b/exports/encuentralo.offline.png differ diff --git a/exports/encuentralo.offline.png.import b/exports/encuentralo.offline.png.import new file mode 100644 index 0000000..7328ca2 --- /dev/null +++ b/exports/encuentralo.offline.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bl7si4bpm8ldj" +path="res://.godot/imported/encuentralo.offline.png-ce1cbd4773e13f173d03d04add8a07ea.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exports/encuentralo.offline.png" +dest_files=["res://.godot/imported/encuentralo.offline.png-ce1cbd4773e13f173d03d04add8a07ea.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exports/encuentralo.offline.wasm b/exports/encuentralo.offline.wasm new file mode 100644 index 0000000..7878c91 Binary files /dev/null and b/exports/encuentralo.offline.wasm differ diff --git a/exports/encuentralo.pck b/exports/encuentralo.pck new file mode 100644 index 0000000..909b12f Binary files /dev/null and b/exports/encuentralo.pck differ diff --git a/exports/encuentralo.png b/exports/encuentralo.png new file mode 100644 index 0000000..766b0b6 Binary files /dev/null and b/exports/encuentralo.png differ diff --git a/exports/encuentralo.png.import b/exports/encuentralo.png.import new file mode 100644 index 0000000..0217d63 --- /dev/null +++ b/exports/encuentralo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dkwkpwa3mhch1" +path="res://.godot/imported/encuentralo.png-ebef951a18ebc9b62433ebb2b51f8074.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://exports/encuentralo.png" +dest_files=["res://.godot/imported/encuentralo.png-ebef951a18ebc9b62433ebb2b51f8074.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/exports/encuentralo.service.worker.js b/exports/encuentralo.service.worker.js new file mode 100644 index 0000000..708cec0 --- /dev/null +++ b/exports/encuentralo.service.worker.js @@ -0,0 +1,166 @@ +// This service worker is required to expose an exported Godot project as a +// Progressive Web App. It provides an offline fallback page telling the user +// that they need an Internet connection to run the project if desired. +// Incrementing CACHE_VERSION will kick off the install event and force +// previously cached resources to be updated from the network. +/** @type {string} */ +const CACHE_VERSION = '1741828048|6101239422'; +/** @type {string} */ +const CACHE_PREFIX = 'Encuentralo-sw-cache-'; +const CACHE_NAME = CACHE_PREFIX + CACHE_VERSION; +/** @type {string} */ +const OFFLINE_URL = 'encuentralo.offline.html'; +/** @type {boolean} */ +const ENSURE_CROSSORIGIN_ISOLATION_HEADERS = true; +// Files that will be cached on load. +/** @type {string[]} */ +const CACHED_FILES = ["encuentralo.html","encuentralo.js","encuentralo.offline.html","encuentralo.audio.worklet.js","encuentralo.audio.position.worklet.js"]; +// Files that we might not want the user to preload, and will only be cached on first load. +/** @type {string[]} */ +const CACHEABLE_FILES = ["encuentralo.wasm","encuentralo.pck"]; +const FULL_CACHE = CACHED_FILES.concat(CACHEABLE_FILES); + +self.addEventListener('install', (event) => { + event.waitUntil(caches.open(CACHE_NAME).then((cache) => cache.addAll(CACHED_FILES))); +}); + +self.addEventListener('activate', (event) => { + event.waitUntil(caches.keys().then( + function (keys) { + // Remove old caches. + return Promise.all(keys.filter((key) => key.startsWith(CACHE_PREFIX) && key !== CACHE_NAME).map((key) => caches.delete(key))); + } + ).then(function () { + // Enable navigation preload if available. + return ('navigationPreload' in self.registration) ? self.registration.navigationPreload.enable() : Promise.resolve(); + })); +}); + +/** + * Ensures that the response has the correct COEP/COOP headers + * @param {Response} response + * @returns {Response} + */ +function ensureCrossOriginIsolationHeaders(response) { + if (response.headers.get('Cross-Origin-Embedder-Policy') === 'require-corp' + && response.headers.get('Cross-Origin-Opener-Policy') === 'same-origin') { + return response; + } + + const crossOriginIsolatedHeaders = new Headers(response.headers); + crossOriginIsolatedHeaders.set('Cross-Origin-Embedder-Policy', 'require-corp'); + crossOriginIsolatedHeaders.set('Cross-Origin-Opener-Policy', 'same-origin'); + const newResponse = new Response(response.body, { + status: response.status, + statusText: response.statusText, + headers: crossOriginIsolatedHeaders, + }); + + return newResponse; +} + +/** + * Calls fetch and cache the result if it is cacheable + * @param {FetchEvent} event + * @param {Cache} cache + * @param {boolean} isCacheable + * @returns {Response} + */ +async function fetchAndCache(event, cache, isCacheable) { + // Use the preloaded response, if it's there + /** @type { Response } */ + let response = await event.preloadResponse; + if (response == null) { + // Or, go over network. + response = await self.fetch(event.request); + } + + if (ENSURE_CROSSORIGIN_ISOLATION_HEADERS) { + response = ensureCrossOriginIsolationHeaders(response); + } + + if (isCacheable) { + // And update the cache + cache.put(event.request, response.clone()); + } + + return response; +} + +self.addEventListener( + 'fetch', + /** + * Triggered on fetch + * @param {FetchEvent} event + */ + (event) => { + const isNavigate = event.request.mode === 'navigate'; + const url = event.request.url || ''; + const referrer = event.request.referrer || ''; + const base = referrer.slice(0, referrer.lastIndexOf('/') + 1); + const local = url.startsWith(base) ? url.replace(base, '') : ''; + const isCacheable = FULL_CACHE.some((v) => v === local) || (base === referrer && base.endsWith(CACHED_FILES[0])); + if (isNavigate || isCacheable) { + event.respondWith((async () => { + // Try to use cache first + const cache = await caches.open(CACHE_NAME); + if (isNavigate) { + // Check if we have full cache during HTML page request. + /** @type {Response[]} */ + const fullCache = await Promise.all(FULL_CACHE.map((name) => cache.match(name))); + const missing = fullCache.some((v) => v === undefined); + if (missing) { + try { + // Try network if some cached file is missing (so we can display offline page in case). + const response = await fetchAndCache(event, cache, isCacheable); + return response; + } catch (e) { + // And return the hopefully always cached offline page in case of network failure. + console.error('Network error: ', e); // eslint-disable-line no-console + return caches.match(OFFLINE_URL); + } + } + } + let cached = await cache.match(event.request); + if (cached != null) { + if (ENSURE_CROSSORIGIN_ISOLATION_HEADERS) { + cached = ensureCrossOriginIsolationHeaders(cached); + } + return cached; + } + // Try network if don't have it in cache. + const response = await fetchAndCache(event, cache, isCacheable); + return response; + })()); + } else if (ENSURE_CROSSORIGIN_ISOLATION_HEADERS) { + event.respondWith((async () => { + let response = await fetch(event.request); + response = ensureCrossOriginIsolationHeaders(response); + return response; + })()); + } + } +); + +self.addEventListener('message', (event) => { + // No cross origin + if (event.origin !== self.origin) { + return; + } + const id = event.source.id || ''; + const msg = event.data || ''; + // Ensure it's one of our clients. + self.clients.get(id).then(function (client) { + if (!client) { + return; // Not a valid client. + } + if (msg === 'claim') { + self.skipWaiting().then(() => self.clients.claim()); + } else if (msg === 'clear') { + caches.delete(CACHE_NAME); + } else if (msg === 'update') { + self.skipWaiting().then(() => self.clients.claim()).then(() => self.clients.matchAll()).then((all) => all.forEach((c) => c.navigate(c.url))); + } + }); +}); + diff --git a/exports/encuentralo.wasm b/exports/encuentralo.wasm new file mode 100644 index 0000000..7878c91 Binary files /dev/null and b/exports/encuentralo.wasm differ diff --git a/global_vars.gd b/global_vars.gd new file mode 100644 index 0000000..3a1b21f --- /dev/null +++ b/global_vars.gd @@ -0,0 +1,36 @@ +extends Node + +var screen_dims : Vector2i +var active_deck_path : String +var deck: Array[Image] +var ideal_symbol_size: Vector2 +var active_deck_name: String + +# game options +# images per card +@export var card_size : int = 7 +@export var maintain_aspect = false +@export var dont_resize = false +@export var random_rotation = false +@export var card_layout_idx = 0 + +signal new_card_requested + +# Called when the node enters the scene tree for the first time. +func _ready(): + add_user_signal("new_card_requested") + # peg this to a square + screen_dims = DisplayServer.window_get_size() + ideal_symbol_size.x = (screen_dims.x as float / 2 as float) / 8 as float + ideal_symbol_size.y = ideal_symbol_size.x + print(screen_dims) + print(ideal_symbol_size) + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass + +func reset(): + deck = [] + active_deck_path = "" diff --git a/global_vars.gd.uid b/global_vars.gd.uid new file mode 100644 index 0000000..a46b26d --- /dev/null +++ b/global_vars.gd.uid @@ -0,0 +1 @@ +uid://c06vln5p7kpim diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..b370ceb --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..f14d5cb --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b8n5cnkn7ocgu" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/js/files.js b/js/files.js new file mode 100644 index 0000000..e69de29 diff --git a/main_menu.gd b/main_menu.gd new file mode 100644 index 0000000..64fff1b --- /dev/null +++ b/main_menu.gd @@ -0,0 +1,148 @@ +extends Control + +@onready var globals = get_node("/root/GlobalVars") +@onready var play_button : Button = $HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer/play_button_container/PlayButton +@onready var layout_option : OptionButton = $HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer2/VBoxContainer/OptionButton +@onready var deck_picker = $HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer/add_deck_container/DeckAddButton/FileDialog + +var _on_data_loaded_callback = null +var deck_select_menu_visible : bool = false +var selected_deck_path : String = "" +var item_list :ItemList +var decks: Array + +# TODO: +# - Deck validation on-load +# - Move layout selection to its own scene +# for reuse in the play scene, dynamic layout changes + +# Called when the node enters the scene tree for the first time. +func _ready(): + if (OS.get_name() == "Web"): + _on_data_loaded_callback = JavaScriptBridge.create_callback(_on_data_loaded) + var gdcallbacks: JavaScriptObject = JavaScriptBridge.get_interface("gd_callbacks") + gdcallbacks.dataLoaded = _on_data_loaded_callback + + play_button.disabled = true + item_list = $ItemList + item_list.connect("item_selected", _on_deck_list_select) + deck_picker.set_file_mode(FileDialog.FileMode.FILE_MODE_OPEN_DIR) + + var deck_src = "res://decks/" + var deck_dir = ResourceLoader.list_directory(deck_src) + + print(deck_dir) + for each:String in deck_dir: + print(deck_src + each) + decks.push_back(deck_src + each) + item_list.add_item(each) + print(decks) + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta): + var _option_buttons = $HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer2 + var maintain_aspect_button = $HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer2/maintain_aspect_button + var dont_resize_button = $HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer2/dont_resize_button + var rotation_button = $HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer2/rotation_button + globals.maintain_aspect = maintain_aspect_button.button_pressed + globals.dont_resize = dont_resize_button.button_pressed + globals.random_rotation = rotation_button.button_pressed + pass + +# pass the active deck(s) off to the play scene +func _on_play_button_pressed(): + if play_button.disabled: + pass + print("play button") + globals.active_deck_path = selected_deck_path + #globals.card_layout_idx = layout_option.get_item_index(layout_option.get_selected_id()) + get_tree().change_scene_to_file("res://active_play.tscn") + pass # Replace with function body. + + +func _on_deck_button_pressed(): + print("deck select button") + $ItemList.visible = true + pass # Replace with function body. + +func _input(event): + if (event.is_action_released("close_deck_select_menu")): + $ItemList.visible = false + print("working deck selection is " + selected_deck_path) + +# grab the (for now) single selected deck +# rebuild the full path name +# save it for when we want to play +func _on_deck_list_select(idx): + globals.active_deck_name = item_list.get_item_text(idx) + globals.active_deck_path = "res://decks/" + item_list.get_item_text(idx) + "/" + $HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer/play_button_container/PlayButton.text = "Play\n" + item_list.get_item_text(idx) + print("selected: " + selected_deck_path) + $ItemList.visible = false + + generate_deck() + if globals.deck.size() > 0: + play_button.disabled = false + +func generate_deck(): + globals.deck.clear() + print("Started play scene with active deck " + globals.active_deck_path) + var card_files = ResourceLoader.list_directory(globals.active_deck_path) + print("generating: ", card_files) + for each in card_files: + print(each) + if each.match("*.png"): + var img_base : CompressedTexture2D = load(globals.active_deck_path + each) + print(type_string(typeof(img_base))) + var img = img_base.get_image() + + # hard compress to an "ideal" square, but it'll be nicer + # to have fuzzier support for non-1:1 images + var img_size = img.get_size() + var used = img.get_used_rect() + + var new_size: Vector2 = img_size + var aspect: float = (used.size.y as float)/(used.size.x as float) + + if !globals.dont_resize: + new_size = globals.ideal_symbol_size + + if !globals.maintain_aspect: + new_size.x /= aspect + img.resize(new_size.x, new_size.y, Image.INTERPOLATE_TRILINEAR) + + globals.deck.append(img) + +func _notification(what): + if what == NOTIFICATION_WM_CLOSE_REQUEST: + get_tree().quit() # default behavior + +func _on_quit_button_pressed() -> void: + _notification(NOTIFICATION_WM_CLOSE_REQUEST) + pass # Replace with function body. + +func _on_add_deck_button_pressed() -> void: + if (OS.get_name() == "Web"): + JavaScriptBridge.eval('loadData()') + else: + deck_picker.show() + pass # Replace with function body. + +func _on_file_dialog_file_selected(path: String) -> void: + if (OS.get_name() == "Web"): + pass + else: + print(path) + print(ProjectSettings.localize_path(path)) + decks.push_back(path) + item_list.add_item(path) + deck_picker.hide() + +func _on_data_loaded(data: PackedByteArray) -> void: + if (data.size() == 0): + return + print(data.size()) + var img:Image = Image.new() + img.load_png_from_buffer(data) + $HBoxContainer.add(img) + #load data here diff --git a/main_menu.gd.uid b/main_menu.gd.uid new file mode 100644 index 0000000..a6ba801 --- /dev/null +++ b/main_menu.gd.uid @@ -0,0 +1 @@ +uid://cpfyqlxaueuxx diff --git a/main_menu.tscn b/main_menu.tscn new file mode 100644 index 0000000..34ecb94 --- /dev/null +++ b/main_menu.tscn @@ -0,0 +1,166 @@ +[gd_scene load_steps=6 format=3 uid="uid://elb6fx1nerr2"] + +[ext_resource type="Script" uid="uid://cpfyqlxaueuxx" path="res://main_menu.gd" id="1_iseee"] +[ext_resource type="PackedScene" uid="uid://vhcmu8n6wjb1" path="res://scenes/layouts/layout_picker.tscn" id="2_v5q73"] + +[sub_resource type="LabelSettings" id="LabelSettings_h8d6m"] +font_size = 65 + +[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_wgaud"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_s7n6m"] +bg_color = Color(0.0258714, 0.156889, 0.272457, 0.866667) + +[node name="Control" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_iseee") + +[node name="ColorRect" type="ColorRect" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +color = Color(0.37, 0.6745, 1, 1) + +[node name="Camera2D" type="Camera2D" parent="."] +anchor_mode = 0 + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +alignment = 1 + +[node name="VSplitContainer" type="VSplitContainer" parent="HBoxContainer"] +layout_mode = 2 +size_flags_vertical = 4 + +[node name="TitleLabel" type="Label" parent="HBoxContainer/VSplitContainer"] +layout_mode = 2 +size_flags_vertical = 0 +text = "ENCUENTRALO" +label_settings = SubResource("LabelSettings_h8d6m") +horizontal_alignment = 1 + +[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer/VSplitContainer"] +layout_mode = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/VSplitContainer/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 + +[node name="play_button_container" type="MarginContainer" parent="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer"] +custom_minimum_size = Vector2(200, 80) +layout_mode = 2 + +[node name="PlayButton" type="Button" parent="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer/play_button_container"] +layout_mode = 2 +text = "Play +" + +[node name="deck_button_container" type="MarginContainer" parent="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer"] +custom_minimum_size = Vector2(200, 80) +layout_mode = 2 + +[node name="DeckSelectButton" type="Button" parent="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer/deck_button_container"] +layout_mode = 2 +text = "Select decks" + +[node name="add_deck_container" type="MarginContainer" parent="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer"] +custom_minimum_size = Vector2(200, 80) +layout_mode = 2 + +[node name="DeckAddButton" type="Button" parent="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer/add_deck_container"] +layout_mode = 2 +text = "Load a new deck" + +[node name="FileDialog" type="FileDialog" parent="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer/add_deck_container/DeckAddButton"] +title = "Select a deck folder" +position = Vector2i(0, 36) +access = 1 +use_native_dialog = true + +[node name="quit_button_container" type="MarginContainer" parent="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer"] +custom_minimum_size = Vector2(200, 80) +layout_mode = 2 + +[node name="quit_button" type="Button" parent="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer/quit_button_container"] +layout_mode = 2 +text = "Quit" + +[node name="VBoxContainer2" type="VBoxContainer" parent="HBoxContainer/VSplitContainer/HBoxContainer"] +layout_direction = 2 +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="maintain_aspect_button" type="CheckButton" parent="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer2"] +layout_mode = 2 +tooltip_text = "Enable this to maintain the original aspect ratio of each image. +Some images may be badly squished otherwise." +text = "Maintain image aspect ratio" +autowrap_mode = 2 + +[node name="dont_resize_button" type="CheckButton" parent="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer2"] +layout_mode = 2 +tooltip_text = "Use the original size of each source image. +If these are very different, this may look bad." +text = "Don't resize images to fit" +autowrap_mode = 2 + +[node name="rotation_button" type="CheckButton" parent="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer2"] +layout_mode = 2 +tooltip_text = "Randomly rotate every image." +button_pressed = true +text = "Random rotation" +autowrap_mode = 2 + +[node name="HSeparator" type="HSeparator" parent="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer2"] +layout_mode = 2 + +[node name="VBoxContainer" parent="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer2" instance=ExtResource("2_v5q73")] +layout_mode = 2 + +[node name="ItemList" type="ItemList" parent="."] +visible = false +material = SubResource("CanvasItemMaterial_wgaud") +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -200.0 +offset_top = -150.0 +offset_right = 200.0 +offset_bottom = 150.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/guide_color = Color(0, 0, 0, 1) +theme_override_colors/font_color = Color(0.775063, 0.775063, 0.775063, 1) +theme_override_constants/v_separation = 0 +theme_override_constants/h_separation = 16 +theme_override_font_sizes/font_size = 24 +theme_override_styles/panel = SubResource("StyleBoxFlat_s7n6m") + +[node name="TextureRect" type="TextureRect" parent="."] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 + +[connection signal="pressed" from="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer/play_button_container/PlayButton" to="." method="_on_play_button_pressed"] +[connection signal="pressed" from="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer/deck_button_container/DeckSelectButton" to="." method="_on_deck_button_pressed"] +[connection signal="pressed" from="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer/add_deck_container/DeckAddButton" to="." method="_on_add_deck_button_pressed"] +[connection signal="dir_selected" from="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer/add_deck_container/DeckAddButton/FileDialog" to="." method="_on_file_dialog_file_selected"] +[connection signal="file_selected" from="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer/add_deck_container/DeckAddButton/FileDialog" to="." method="_on_file_dialog_file_selected"] +[connection signal="pressed" from="HBoxContainer/VSplitContainer/HBoxContainer/VBoxContainer/quit_button_container/quit_button" to="." method="_on_quit_button_pressed"] diff --git a/play.gd b/play.gd new file mode 100644 index 0000000..a999e3e --- /dev/null +++ b/play.gd @@ -0,0 +1,78 @@ +extends Control + +@onready var globals = get_node("/root/GlobalVars") +@onready var layouts: Array[String] = ["scatter", "grid", "circle"] +@onready var layout_subtree: Node +@onready var item_slider: Range = $VBoxContainer/PanelContainer/MarginContainer/ControlContainer/VBoxContainer/HSlider +@onready var slider_label: Label = $VBoxContainer/PanelContainer/MarginContainer/ControlContainer/VBoxContainer/Label +@onready var deck_label: Label = $VBoxContainer/PanelContainer/MarginContainer/ControlContainer/MarginContainer/Label + +var local_deck: Array[Image] + +# TODO: +# - Each image should become a button for in/correct selection +# - Score that +# - Tooltip for each with filename - ext would be handy too + +# Build up two distinct sets of symbols from the same source, +# sharing only a single symbol between them. +func new_card_set(): + _on_clean_cards() + var left_card_set: Array[Image] = [] + var right_card_set: Array[Image] = [] + + local_deck = globals.deck.duplicate() + local_deck.shuffle() + var shared_symbol: Image = local_deck.pop_back() + left_card_set.append(shared_symbol) + right_card_set.append(shared_symbol) + + for n in range(globals.card_size-1): + left_card_set.append(local_deck.pop_back()) + right_card_set.append(local_deck.pop_back()) + + layout_subtree.new_card_set(left_card_set, right_card_set) + local_deck.clear() + +# Called when the node enters the scene tree for the first time. +func _ready(): + globals.new_card_requested.connect(_on_new_card_requested) + _on_item_count_changed(false) + layout_subtree = load("res://scenes/layouts/"+layouts[globals.card_layout_idx]+".tscn").instantiate() + $VBoxContainer.add_child(layout_subtree) + + deck_label.text = "Active deck: " + globals.active_deck_name + item_slider.value = globals.card_size + new_card_set() + pass # Replace with function body. + +func _on_clean_cards(): + layout_subtree.clean_cards() + + pass + +func _on_main_menu_jump_action(): + globals.reset() + get_tree().change_scene_to_file("res://main_menu.tscn") + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta): + pass + +func _on_item_count_changed(changed: bool) -> void: + if changed: + globals.card_size = item_slider.value + new_card_set() + slider_label.text = "Items per card (" + String.num_int64(globals.card_size) + ")" + pass # Replace with function body. + +func card_layout_changed(): + # replace CardContainer in the scene tree + #$VBoxContainer.remove_child(layout_subtree) + layout_subtree.free() + layout_subtree = load("res://scenes/layouts/"+layouts[globals.card_layout_idx]+".tscn").instantiate() + $VBoxContainer.add_child(layout_subtree) + new_card_set() + +func _on_new_card_requested(): + new_card_set() diff --git a/play.gd.uid b/play.gd.uid new file mode 100644 index 0000000..469273d --- /dev/null +++ b/play.gd.uid @@ -0,0 +1 @@ +uid://bt4c1ckn3st5d diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..3e1959c --- /dev/null +++ b/project.godot @@ -0,0 +1,42 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="Encuentralo" +run/main_scene="res://main_menu.tscn" +config/features=PackedStringArray("4.4", "Forward Plus") +config/icon="res://icon.svg" + +[autoload] + +GlobalVars="*res://global_vars.gd" +Global="*res://Global.tscn" + +[display] + +window/size/viewport_width=1400 +window/size/viewport_height=900 + +[global_group] + +layout_subscribers="Anyone interested in a change to the layout." + +[input] + +close_deck_select_menu={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} + +[rendering] + +textures/vram_compression/import_etc2_astc=true diff --git a/scenes/layouts/circle.gd b/scenes/layouts/circle.gd new file mode 100644 index 0000000..f5bc60e --- /dev/null +++ b/scenes/layouts/circle.gd @@ -0,0 +1,64 @@ +extends HBoxContainer +@onready var globals = get_node("/root/GlobalVars") +@export var radius = 200 #good for defaults for now + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + $MarginContainer4.set_stretch_ratio(1.4) + pass # Replace with function body. + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta: float) -> void: + pass + +func new_card_set(left_card_set, right_card_set): + if globals.card_size >= 9: + radius = (globals.screen_dims.x/2) * 0.35 + else: radius = (globals.screen_dims.x/2) * 0.3 + new_card(left_card_set, $MarginContainer/LeftContainer) + new_card(right_card_set, $MarginContainer4/RightContainer) + +func new_card(card_set, container: Control): + # Create a list of TextureRects and associated images + # before adding to the scene tree, allowing an intermediary + # shuffle while maintaining the shared symbol and its connection + var local_deck = card_set.duplicate() + var texture_rects: Array[TextureRect] + + for n in range(globals.card_size): + var tex_rect = TextureRect.new() + if n == 0: + tex_rect.connect("gui_input", _input_handler) + tex_rect.stretch_mode = TextureRect.STRETCH_KEEP_CENTERED + texture_rects.append(tex_rect) + + var img: Image = local_deck.pop_front() + if globals.random_rotation: + for r in ((randi()%3)): + img.rotate_90(CLOCKWISE) + + var img_tex : ImageTexture = ImageTexture.create_from_image(img) + tex_rect.set_texture(img_tex) + + texture_rects.shuffle() + var n = 0 + for t in texture_rects: + var angle = deg_to_rad(360.0/texture_rects.size() * n) + var new_pos : Vector2 = Vector2(sin(angle)*radius, cos(angle)*radius) + new_pos.y += globals.screen_dims.y * 0.35 + t.set_position(new_pos) + container.add_child(t) + n+=1 + +func _input_handler(event: InputEvent): + if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT: + globals.new_card_requested.emit() + +func clean_cards(): + var left = $MarginContainer/LeftContainer + var right = $MarginContainer4/RightContainer + + for c in left.get_children(): + left.remove_child(c) + for c in right.get_children(): + right.remove_child(c) diff --git a/scenes/layouts/circle.gd.uid b/scenes/layouts/circle.gd.uid new file mode 100644 index 0000000..1118f87 --- /dev/null +++ b/scenes/layouts/circle.gd.uid @@ -0,0 +1 @@ +uid://cftoau6g55mh2 diff --git a/scenes/layouts/circle.tscn b/scenes/layouts/circle.tscn new file mode 100644 index 0000000..b7489ea --- /dev/null +++ b/scenes/layouts/circle.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=2 format=3 uid="uid://bf5qc665tjgtf"] + +[ext_resource type="Script" uid="uid://cftoau6g55mh2" path="res://scenes/layouts/circle.gd" id="1_5a777"] + +[node name="HBoxContainer" type="HBoxContainer"] +offset_right = 4.0 +size_flags_vertical = 3 +alignment = 1 +script = ExtResource("1_5a777") + +[node name="MarginContainer" type="MarginContainer" parent="."] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="LeftContainer" type="Control" parent="MarginContainer"] +layout_mode = 2 +size_flags_horizontal = 4 + +[node name="MarginContainer4" type="MarginContainer" parent="."] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_stretch_ratio = 1.4 + +[node name="RightContainer" type="Control" parent="MarginContainer4"] +layout_mode = 2 +size_flags_horizontal = 4 diff --git a/scenes/layouts/grid.gd b/scenes/layouts/grid.gd new file mode 100644 index 0000000..aa8e1f8 --- /dev/null +++ b/scenes/layouts/grid.gd @@ -0,0 +1,63 @@ +extends HBoxContainer +@onready var globals = get_node("/root/GlobalVars") + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass + +func new_card_set(left_card_set, right_card_set): + new_card(left_card_set, $LeftContainer) + new_card(right_card_set, $RightContainer) + +func new_card(card_set, container: Container): + # Create a list of TextureRects and associated images + # before adding to the scene tree, allowing an intermediary + # shuffle while maintaining the shared symbol and its connection + var local_deck = card_set.duplicate() + var texture_rects: Array[TextureRect] + + # low symbol-count cards need tighter grids + # consider disabling grid play until this is nicer + if globals.card_size >= 9: + #spacers -= 2 + #spacers = max(spacers, 1) + pass + elif globals.card_size <= 6: + #spacers += 2 + pass + else: + #spacers = default_spacers + pass + + for n in range(globals.card_size): + var tex_rect = TextureRect.new() + if n == 0: + tex_rect.connect("gui_input", _input_handler) + tex_rect.stretch_mode = TextureRect.STRETCH_KEEP_CENTERED + texture_rects.append(tex_rect) + + var img: Image = local_deck.pop_front() + if globals.random_rotation: + for r in ((randi()%3)): + img.rotate_90(CLOCKWISE) + + var img_tex : ImageTexture = ImageTexture.create_from_image(img) + tex_rect.set_texture(img_tex) + + texture_rects.shuffle() + for t in texture_rects: + container.add_child(t) + +func _input_handler(event: InputEvent): + if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT: + globals.new_card_requested.emit() + +func clean_cards(): + for c in $LeftContainer.get_children(): + $LeftContainer.remove_child(c) + for c in $RightContainer.get_children(): + $RightContainer.remove_child(c) diff --git a/scenes/layouts/grid.gd.uid b/scenes/layouts/grid.gd.uid new file mode 100644 index 0000000..276dafb --- /dev/null +++ b/scenes/layouts/grid.gd.uid @@ -0,0 +1 @@ +uid://rd3ppvala8up diff --git a/scenes/layouts/grid.tscn b/scenes/layouts/grid.tscn new file mode 100644 index 0000000..53a2a3a --- /dev/null +++ b/scenes/layouts/grid.tscn @@ -0,0 +1,55 @@ +[gd_scene load_steps=3 format=3 uid="uid://cxw3vnok35ewd"] + +[ext_resource type="Script" uid="uid://rd3ppvala8up" path="res://scenes/layouts/grid.gd" id="1_aahxk"] + +[sub_resource type="StyleBoxLine" id="StyleBoxLine_cqg5g"] +color = Color(0, 0, 0, 0.588235) +thickness = 10 +vertical = true + +[node name="HBoxContainer" type="HBoxContainer"] +size_flags_vertical = 3 +script = ExtResource("1_aahxk") + +[node name="MarginContainer" type="MarginContainer" parent="."] +layout_mode = 2 +theme_override_constants/margin_left = 0 +theme_override_constants/margin_right = 64 + +[node name="LeftContainer" type="HFlowContainer" parent="."] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +theme_override_constants/h_separation = 32 +theme_override_constants/v_separation = 32 +alignment = 2 + +[node name="MarginContainer2" type="MarginContainer" parent="."] +visible = false +layout_mode = 2 +theme_override_constants/margin_left = 8 +theme_override_constants/margin_right = 8 + +[node name="VSeparator" type="VSeparator" parent="."] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_stretch_ratio = 0.2 +theme_override_styles/separator = SubResource("StyleBoxLine_cqg5g") + +[node name="MarginContainer3" type="MarginContainer" parent="."] +visible = false +layout_mode = 2 +theme_override_constants/margin_left = 8 +theme_override_constants/margin_right = 8 + +[node name="RightContainer" type="HFlowContainer" parent="."] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +theme_override_constants/h_separation = 32 +theme_override_constants/v_separation = 32 + +[node name="MarginContainer4" type="MarginContainer" parent="."] +layout_mode = 2 +theme_override_constants/margin_left = 64 +theme_override_constants/margin_right = 0 diff --git a/scenes/layouts/layout_picker.gd b/scenes/layouts/layout_picker.gd new file mode 100644 index 0000000..25a138a --- /dev/null +++ b/scenes/layouts/layout_picker.gd @@ -0,0 +1,18 @@ +extends VBoxContainer + +@onready var globals = get_node("/root/GlobalVars") + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + $OptionButton.select(globals.card_layout_idx) + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta: float) -> void: + pass + +func _on_option_button_item_selected(index: int) -> void: + globals.card_layout_idx = index + get_tree().call_group("layout_subscribers", "card_layout_changed") + pass # Replace with function body. diff --git a/scenes/layouts/layout_picker.gd.uid b/scenes/layouts/layout_picker.gd.uid new file mode 100644 index 0000000..53ea0e7 --- /dev/null +++ b/scenes/layouts/layout_picker.gd.uid @@ -0,0 +1 @@ +uid://ckyunbkrck4y7 diff --git a/scenes/layouts/layout_picker.tscn b/scenes/layouts/layout_picker.tscn new file mode 100644 index 0000000..90d1655 --- /dev/null +++ b/scenes/layouts/layout_picker.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=2 format=3 uid="uid://vhcmu8n6wjb1"] + +[ext_resource type="Script" uid="uid://ckyunbkrck4y7" path="res://scenes/layouts/layout_picker.gd" id="1_ktpdl"] + +[node name="VBoxContainer" type="VBoxContainer"] +script = ExtResource("1_ktpdl") + +[node name="Label" type="Label" parent="."] +layout_mode = 2 +text = "Card format:" + +[node name="OptionButton" type="OptionButton" parent="."] +layout_mode = 2 +selected = 0 +allow_reselect = true +item_count = 3 +popup/item_0/text = "Scatter" +popup/item_0/id = 3 +popup/item_1/text = "Grid" +popup/item_1/id = 1 +popup/item_2/text = "Circle" +popup/item_2/id = 1 + +[connection signal="item_selected" from="OptionButton" to="." method="_on_option_button_item_selected"] diff --git a/scenes/layouts/scatter.gd b/scenes/layouts/scatter.gd new file mode 100644 index 0000000..1340d2a --- /dev/null +++ b/scenes/layouts/scatter.gd @@ -0,0 +1,74 @@ +extends HBoxContainer +@onready var globals = get_node("/root/GlobalVars") +const default_spacers = 12 +@export var spacers = default_spacers + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass + +func new_card_set(left_card_set, right_card_set): + new_card(left_card_set, $LeftContainer) + new_card(right_card_set, $RightContainer) + +func new_card(card_set, container: Container): + + # TODO: Would be nice to use this same bit to + # increase margins between items, too. + # NOTE: 9 is definitely the current minimum for needing adjustments. + # NOTE: Decreasing spacer count is okay, but dimensions a bit bigger + # than current default can handle 12 items pretty nicely. + spacers = default_spacers + if globals.card_size >= 9: + spacers -= 1 + spacers = max(spacers, 1) + pass + elif globals.card_size <= 6: + spacers += 2 + + # Create a list of TextureRects and associated images + # before adding to the scene tree, allowing an intermediary + # shuffle while maintaining the shared symbol and its connection + var local_deck = card_set.duplicate() + var texture_rects: Array[TextureRect] + + for n in range(globals.card_size): + var tex_rect = TextureRect.new() + if n == 0: + tex_rect.connect("gui_input", _input_handler) + tex_rect.stretch_mode = TextureRect.STRETCH_KEEP_CENTERED + texture_rects.append(tex_rect) + + var img: Image = local_deck.pop_front() + if globals.random_rotation: + for r in ((randi()%3)): + img.rotate_90(CLOCKWISE) + + var img_tex : ImageTexture = ImageTexture.create_from_image(img) + tex_rect.set_texture(img_tex) + + texture_rects.shuffle() + for t in texture_rects: + container.add_child(t) + if spacers > 0: + for r in randi()%spacers: + var empty = TextureRect.new() + var tex = ImageTexture.new() + #tex.set_size_override(globals.ideal_symbol_size) + #empty.stretch_mode = TextureRect.STRETCH_KEEP_CENTERED + #empty.set_texture(tex) + container.add_child(empty) + +func _input_handler(event: InputEvent): + if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT: + globals.new_card_requested.emit() + +func clean_cards(): + for c in $LeftContainer.get_children(): + $LeftContainer.remove_child(c) + for c in $RightContainer.get_children(): + $RightContainer.remove_child(c) diff --git a/scenes/layouts/scatter.gd.uid b/scenes/layouts/scatter.gd.uid new file mode 100644 index 0000000..264e130 --- /dev/null +++ b/scenes/layouts/scatter.gd.uid @@ -0,0 +1 @@ +uid://dctx3ykcjhs4v diff --git a/scenes/layouts/scatter.tscn b/scenes/layouts/scatter.tscn new file mode 100644 index 0000000..ac47d57 --- /dev/null +++ b/scenes/layouts/scatter.tscn @@ -0,0 +1,56 @@ +[gd_scene load_steps=3 format=3 uid="uid://cn3tpm21fxf63"] + +[ext_resource type="Script" uid="uid://dctx3ykcjhs4v" path="res://scenes/layouts/scatter.gd" id="1_vdlms"] + +[sub_resource type="StyleBoxLine" id="StyleBoxLine_cqg5g"] +color = Color(0, 0, 0, 0.588235) +thickness = 10 +vertical = true + +[node name="HBoxContainer" type="HBoxContainer"] +size_flags_vertical = 3 +script = ExtResource("1_vdlms") + +[node name="MarginContainer" type="MarginContainer" parent="."] +layout_mode = 2 +theme_override_constants/margin_left = 0 +theme_override_constants/margin_right = 64 + +[node name="LeftContainer" type="HFlowContainer" parent="."] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +theme_override_constants/h_separation = 32 +theme_override_constants/v_separation = 32 +alignment = 1 + +[node name="MarginContainer2" type="MarginContainer" parent="."] +visible = false +layout_mode = 2 +theme_override_constants/margin_left = 8 +theme_override_constants/margin_right = 8 + +[node name="VSeparator" type="VSeparator" parent="."] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_stretch_ratio = 0.36 +theme_override_styles/separator = SubResource("StyleBoxLine_cqg5g") + +[node name="MarginContainer3" type="MarginContainer" parent="."] +visible = false +layout_mode = 2 +theme_override_constants/margin_left = 8 +theme_override_constants/margin_right = 8 + +[node name="RightContainer" type="HFlowContainer" parent="."] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +theme_override_constants/h_separation = 32 +theme_override_constants/v_separation = 32 +alignment = 1 + +[node name="MarginContainer4" type="MarginContainer" parent="."] +layout_mode = 2 +theme_override_constants/margin_left = 64 +theme_override_constants/margin_right = 0 diff --git a/scenes/layouts/spiral.gd b/scenes/layouts/spiral.gd new file mode 100644 index 0000000..63a816c --- /dev/null +++ b/scenes/layouts/spiral.gd @@ -0,0 +1,46 @@ +extends HBoxContainer +@onready var globals = get_node("/root/GlobalVars") +const default_spacers = 6 +@export var spacers = default_spacers + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass + +func new_card(card_set, container: Container): + + # TODO: Would be nice to use this same bit to + # increase margins between items, too + if globals.card_size >= 10: + spacers -= globals.card_size-spacers + spacers = max(spacers, 1) + else: + spacers = default_spacers + + var local_deck = card_set.duplicate() + for n in range(globals.card_size): + var img: Image = local_deck.pop_back() + + if globals.random_rotation: + for rr in ((randi()%3)): + img.rotate_90(CLOCKWISE) + + var img_tex : ImageTexture = ImageTexture.create_from_image(img) + var tex_rect : TextureRect = TextureRect.new() + tex_rect.stretch_mode = TextureRect.STRETCH_KEEP_CENTERED + + tex_rect.set_texture(img_tex) + container.add_child(tex_rect) + + if spacers > 0: + for r in randi()%spacers: + var empty = TextureRect.new() + var tex = ImageTexture.new() + #tex.set_size_override(globals.ideal_symbol_size) + #empty.stretch_mode = TextureRect.STRETCH_KEEP_CENTERED + #empty.set_texture(tex) + container.add_child(empty) diff --git a/scenes/layouts/spiral.gd.uid b/scenes/layouts/spiral.gd.uid new file mode 100644 index 0000000..8abe152 --- /dev/null +++ b/scenes/layouts/spiral.gd.uid @@ -0,0 +1 @@ +uid://bgrh5x4r6i6y4 diff --git a/server/html/encuentralo.apple-touch-icon.png b/server/html/encuentralo.apple-touch-icon.png new file mode 100644 index 0000000..71d4fae Binary files /dev/null and b/server/html/encuentralo.apple-touch-icon.png differ diff --git a/server/html/encuentralo.apple-touch-icon.png.import b/server/html/encuentralo.apple-touch-icon.png.import new file mode 100644 index 0000000..40f20ce --- /dev/null +++ b/server/html/encuentralo.apple-touch-icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bs3coke8l8vvo" +path="res://.godot/imported/encuentralo.apple-touch-icon.png-e44702bd1397ca218b0d1e883b3b8a13.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://server/html/encuentralo.apple-touch-icon.png" +dest_files=["res://.godot/imported/encuentralo.apple-touch-icon.png-e44702bd1397ca218b0d1e883b3b8a13.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/server/html/encuentralo.audio.position.worklet.js b/server/html/encuentralo.audio.position.worklet.js new file mode 100644 index 0000000..155d4e6 --- /dev/null +++ b/server/html/encuentralo.audio.position.worklet.js @@ -0,0 +1,69 @@ +/**************************************************************************/ +/* godot.audio.position.worklet.js */ +/**************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/**************************************************************************/ +/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ +/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/**************************************************************************/ + +const POST_THRESHOLD_S = 0.1; + +class GodotPositionReportingProcessor extends AudioWorkletProcessor { + constructor(...args) { + super(...args); + this.lastPostTime = currentTime; + this.position = 0; + this.ended = false; + + this.port.onmessage = (event) => { + if (event?.data?.type === 'ended') { + this.ended = true; + } + }; + } + + process(inputs, _outputs, _parameters) { + if (this.ended) { + return false; + } + + if (inputs.length > 0) { + const input = inputs[0]; + if (input.length > 0) { + this.position += input[0].length; + } + } + + // Posting messages is expensive. Let's limit the number of posts. + if (currentTime - this.lastPostTime > POST_THRESHOLD_S) { + this.lastPostTime = currentTime; + this.port.postMessage({ type: 'position', data: this.position }); + } + + return true; + } +} + +registerProcessor('godot-position-reporting-processor', GodotPositionReportingProcessor); diff --git a/server/html/encuentralo.audio.worklet.js b/server/html/encuentralo.audio.worklet.js new file mode 100644 index 0000000..3b94cab --- /dev/null +++ b/server/html/encuentralo.audio.worklet.js @@ -0,0 +1,213 @@ +/**************************************************************************/ +/* audio.worklet.js */ +/**************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* https://godotengine.org */ +/**************************************************************************/ +/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ +/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/**************************************************************************/ + +class RingBuffer { + constructor(p_buffer, p_state, p_threads) { + this.buffer = p_buffer; + this.avail = p_state; + this.threads = p_threads; + this.rpos = 0; + this.wpos = 0; + } + + data_left() { + return this.threads ? Atomics.load(this.avail, 0) : this.avail; + } + + space_left() { + return this.buffer.length - this.data_left(); + } + + read(output) { + const size = this.buffer.length; + let from = 0; + let to_write = output.length; + if (this.rpos + to_write > size) { + const high = size - this.rpos; + output.set(this.buffer.subarray(this.rpos, size)); + from = high; + to_write -= high; + this.rpos = 0; + } + if (to_write) { + output.set(this.buffer.subarray(this.rpos, this.rpos + to_write), from); + } + this.rpos += to_write; + if (this.threads) { + Atomics.add(this.avail, 0, -output.length); + Atomics.notify(this.avail, 0); + } else { + this.avail -= output.length; + } + } + + write(p_buffer) { + const to_write = p_buffer.length; + const mw = this.buffer.length - this.wpos; + if (mw >= to_write) { + this.buffer.set(p_buffer, this.wpos); + this.wpos += to_write; + if (mw === to_write) { + this.wpos = 0; + } + } else { + const high = p_buffer.subarray(0, mw); + const low = p_buffer.subarray(mw); + this.buffer.set(high, this.wpos); + this.buffer.set(low); + this.wpos = low.length; + } + if (this.threads) { + Atomics.add(this.avail, 0, to_write); + Atomics.notify(this.avail, 0); + } else { + this.avail += to_write; + } + } +} + +class GodotProcessor extends AudioWorkletProcessor { + constructor() { + super(); + this.threads = false; + this.running = true; + this.lock = null; + this.notifier = null; + this.output = null; + this.output_buffer = new Float32Array(); + this.input = null; + this.input_buffer = new Float32Array(); + this.port.onmessage = (event) => { + const cmd = event.data['cmd']; + const data = event.data['data']; + this.parse_message(cmd, data); + }; + } + + process_notify() { + if (this.notifier) { + Atomics.add(this.notifier, 0, 1); + Atomics.notify(this.notifier, 0); + } + } + + parse_message(p_cmd, p_data) { + if (p_cmd === 'start' && p_data) { + const state = p_data[0]; + let idx = 0; + this.threads = true; + this.lock = state.subarray(idx, ++idx); + this.notifier = state.subarray(idx, ++idx); + const avail_in = state.subarray(idx, ++idx); + const avail_out = state.subarray(idx, ++idx); + this.input = new RingBuffer(p_data[1], avail_in, true); + this.output = new RingBuffer(p_data[2], avail_out, true); + } else if (p_cmd === 'stop') { + this.running = false; + this.output = null; + this.input = null; + this.lock = null; + this.notifier = null; + } else if (p_cmd === 'start_nothreads') { + this.output = new RingBuffer(p_data[0], p_data[0].length, false); + } else if (p_cmd === 'chunk') { + this.output.write(p_data); + } + } + + static array_has_data(arr) { + return arr.length && arr[0].length && arr[0][0].length; + } + + process(inputs, outputs, parameters) { + if (!this.running) { + return false; // Stop processing. + } + if (this.output === null) { + return true; // Not ready yet, keep processing. + } + const process_input = GodotProcessor.array_has_data(inputs); + if (process_input) { + const input = inputs[0]; + const chunk = input[0].length * input.length; + if (this.input_buffer.length !== chunk) { + this.input_buffer = new Float32Array(chunk); + } + if (!this.threads) { + GodotProcessor.write_input(this.input_buffer, input); + this.port.postMessage({ 'cmd': 'input', 'data': this.input_buffer }); + } else if (this.input.space_left() >= chunk) { + GodotProcessor.write_input(this.input_buffer, input); + this.input.write(this.input_buffer); + } else { + // this.port.postMessage('Input buffer is full! Skipping input frame.'); // Uncomment this line to debug input buffer. + } + } + const process_output = GodotProcessor.array_has_data(outputs); + if (process_output) { + const output = outputs[0]; + const chunk = output[0].length * output.length; + if (this.output_buffer.length !== chunk) { + this.output_buffer = new Float32Array(chunk); + } + if (this.output.data_left() >= chunk) { + this.output.read(this.output_buffer); + GodotProcessor.write_output(output, this.output_buffer); + if (!this.threads) { + this.port.postMessage({ 'cmd': 'read', 'data': chunk }); + } + } else { + // this.port.postMessage('Output buffer has not enough frames! Skipping output frame.'); // Uncomment this line to debug output buffer. + } + } + this.process_notify(); + return true; + } + + static write_output(dest, source) { + const channels = dest.length; + for (let ch = 0; ch < channels; ch++) { + for (let sample = 0; sample < dest[ch].length; sample++) { + dest[ch][sample] = source[sample * channels + ch]; + } + } + } + + static write_input(dest, source) { + const channels = source.length; + for (let ch = 0; ch < channels; ch++) { + for (let sample = 0; sample < source[ch].length; sample++) { + dest[sample * channels + ch] = source[ch][sample]; + } + } + } +} + +registerProcessor('godot-processor', GodotProcessor); diff --git a/server/html/encuentralo.html b/server/html/encuentralo.html new file mode 100644 index 0000000..50ec0f4 --- /dev/null +++ b/server/html/encuentralo.html @@ -0,0 +1,218 @@ + + + + + + Encuentralo + + + + + + Your browser does not support the canvas tag. + + + + +
+ + +
+
+ + + + + + diff --git a/server/html/encuentralo.icon.png b/server/html/encuentralo.icon.png new file mode 100644 index 0000000..ee8ae11 Binary files /dev/null and b/server/html/encuentralo.icon.png differ diff --git a/server/html/encuentralo.icon.png.import b/server/html/encuentralo.icon.png.import new file mode 100644 index 0000000..4fc46cd --- /dev/null +++ b/server/html/encuentralo.icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnlaq1b1n6o5h" +path="res://.godot/imported/encuentralo.icon.png-eef739054dde53b9daf06a0daa0438ad.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://server/html/encuentralo.icon.png" +dest_files=["res://.godot/imported/encuentralo.icon.png-eef739054dde53b9daf06a0daa0438ad.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/server/html/encuentralo.js b/server/html/encuentralo.js new file mode 100644 index 0000000..c3d93f0 --- /dev/null +++ b/server/html/encuentralo.js @@ -0,0 +1,912 @@ + +var Godot = (() => { + var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined; + + return ( +function(moduleArg = {}) { + var moduleRtn; + +var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);Module["HEAP64"]=HEAP64=new BigInt64Array(b);Module["HEAPU64"]=HEAPU64=new BigUint64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){___funcs_on_exit();callRuntimeCallbacks(__ATEXIT__);FS.quit();TTY.shutdown();IDBFS.quit();runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);function findWasmBinary(){var f="godot.web.template_debug.wasm32.nothreads.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{a:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["hf"];updateMemoryViews();wasmTable=wasmExports["rf"];addOnInit(wasmExports["jf"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP64[ptr>>3];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=Module["noExitRuntime"]||false;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":HEAP64[ptr>>3]=BigInt(value);break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var ___call_sighandler=(fp,sig)=>getWasmTableEntry(fp)(sig);var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url).then(arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},err=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var IDBFS={dbs:{},indexedDB:()=>{if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",queuePersist:mount=>{function onPersistComplete(){if(mount.idbPersistState==="again")startPersist();else mount.idbPersistState=0}function startPersist(){mount.idbPersistState="idb";IDBFS.syncfs(mount,false,onPersistComplete)}if(!mount.idbPersistState){mount.idbPersistState=setTimeout(startPersist,0)}else if(mount.idbPersistState==="idb"){mount.idbPersistState="again"}},mount:mount=>{var mnt=MEMFS.mount(mount);if(mount?.opts?.autoPersist){mnt.idbPersistState=0;var memfs_node_ops=mnt.node_ops;mnt.node_ops=Object.assign({},mnt.node_ops);mnt.node_ops.mknod=(parent,name,mode,dev)=>{var node=memfs_node_ops.mknod(parent,name,mode,dev);node.node_ops=mnt.node_ops;node.idbfs_mount=mnt.mount;node.memfs_stream_ops=node.stream_ops;node.stream_ops=Object.assign({},node.stream_ops);node.stream_ops.write=(stream,buffer,offset,length,position,canOwn)=>{stream.node.isModified=true;return node.memfs_stream_ops.write(stream,buffer,offset,length,position,canOwn)};node.stream_ops.close=stream=>{var n=stream.node;if(n.isModified){IDBFS.queuePersist(n.idbfs_mount);n.isModified=false}if(n.memfs_stream_ops.close)return n.memfs_stream_ops.close(stream)};return node};mnt.node_ops.mkdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.mkdir(...args));mnt.node_ops.rmdir=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rmdir(...args));mnt.node_ops.symlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.symlink(...args));mnt.node_ops.unlink=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.unlink(...args));mnt.node_ops.rename=(...args)=>(IDBFS.queuePersist(mnt.mount),memfs_node_ops.rename(...args))}return mnt},syncfs:(mount,populate,callback)=>{IDBFS.getLocalSet(mount,(err,local)=>{if(err)return callback(err);IDBFS.getRemoteSet(mount,(err,remote)=>{if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},quit:()=>{Object.values(IDBFS.dbs).forEach(value=>value.close());IDBFS.dbs={}},getDB:(name,callback)=>{var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=()=>{db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=e=>{callback(e.target.error);e.preventDefault()}},getLocalSet:(mount,callback)=>{var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return p=>PATH.join2(root,p)}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push(...FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:(mount,callback)=>{var entries={};IDBFS.getDB(mount.mountpoint,(err,db)=>{if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=e=>{callback(e.target.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=event=>{var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:(path,callback)=>{var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:(path,entry,callback)=>{try{if(FS.isDir(entry["mode"])){FS.mkdirTree(path,entry["mode"])}else if(FS.isFile(entry["mode"])){FS.writeFile(path,entry["contents"],{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry["mode"]);FS.utime(path,entry["timestamp"],entry["timestamp"])}catch(e){return callback(e)}callback(null)},removeLocalEntry:(path,callback)=>{try{var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:(store,path,callback)=>{var req=store.get(path);req.onsuccess=event=>callback(null,event.target.result);req.onerror=e=>{callback(e.target.error);e.preventDefault()}},storeRemoteEntry:(store,path,entry,callback)=>{try{var req=store.put(entry,path)}catch(e){callback(e);return}req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},removeRemoteEntry:(store,path,callback)=>{var req=store.delete(path);req.onsuccess=event=>callback();req.onerror=e=>{callback(e.target.error);e.preventDefault()}},reconcile:(src,dst,callback)=>{var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e["timestamp"].getTime()!=e2["timestamp"].getTime()){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){if(!src.entries[key]){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=transaction.onabort=e=>{done(e.target.error);e.preventDefault()};transaction.oncomplete=e=>{if(!errored){callback(null)}};create.sort().forEach(path=>{if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(err,entry)=>{if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,(err,entry)=>{if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(path=>{if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{constructor(errno){this.name="ErrnoError";this.errno=errno}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;iFS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS:MEMFS,IDBFS:IDBFS}},init(input,output,error){FS.init.initialized=true;Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;_fflush(0);for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;HEAP64[buf+24>>3]=BigInt(stat.size);HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>3]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>2]=atime%1e3*1e3;HEAP64[buf+56>>3]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>2]=mtime%1e3*1e3;HEAP64[buf+72>>3]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>2]=ctime%1e3*1e3;HEAP64[buf+88>>3]=BigInt(stat.ino);return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fchmod(fd,mode){try{FS.fchmod(fd,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function syscallGetVarargI(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>numINT53_MAX?NaN:Number(num);function ___syscall_ftruncate64(fd,length){length=bigintToI53Checked(length);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>3]=BigInt(id);HEAP64[dirp+pos+8>>3]=BigInt((idx+1)*struct_size);HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mknodat(dirfd,path,mode,dev){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_readlinkat(dirfd,path,buf,bufsize){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_statfs64(path,size,buf){try{path=SYSCALLS.getStr(path);HEAP32[buf+4>>2]=4096;HEAP32[buf+40>>2]=4096;HEAP32[buf+8>>2]=1e6;HEAP32[buf+12>>2]=5e5;HEAP32[buf+16>>2]=5e5;HEAP32[buf+20>>2]=FS.nextInode;HEAP32[buf+24>>2]=1e6;HEAP32[buf+28>>2]=42;HEAP32[buf+44>>2]=2;HEAP32[buf+36>>2]=255;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_symlink(target,linkpath){try{target=SYSCALLS.getStr(target);linkpath=SYSCALLS.getStr(linkpath);FS.symlink(target,linkpath);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>{abort("")};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};function __gmtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset{runtimeKeepaliveCounter+=1};var _emscripten_set_main_loop_timing=(mode,value)=>{Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){runtimeKeepalivePush();Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof Browser.setImmediate=="undefined"){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);Browser.setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){Module["setImmediates"]??=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}else{Browser.setImmediate=setImmediate}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){Browser.setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0};var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var webgl_enable_ANGLE_instanced_arrays=ctx=>{var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=(index,divisor)=>ext["vertexAttribDivisorANGLE"](index,divisor);ctx["drawArraysInstanced"]=(mode,first,count,primcount)=>ext["drawArraysInstancedANGLE"](mode,first,count,primcount);ctx["drawElementsInstanced"]=(mode,count,type,indices,primcount)=>ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount);return 1}};var webgl_enable_OES_vertex_array_object=ctx=>{var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=()=>ext["createVertexArrayOES"]();ctx["deleteVertexArray"]=vao=>ext["deleteVertexArrayOES"](vao);ctx["bindVertexArray"]=vao=>ext["bindVertexArrayOES"](vao);ctx["isVertexArray"]=vao=>ext["isVertexArrayOES"](vao);return 1}};var webgl_enable_WEBGL_draw_buffers=ctx=>{var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=(n,bufs)=>ext["drawBuffersWEBGL"](n,bufs);return 1}};var webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance=ctx=>!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"));var webgl_enable_WEBGL_multi_draw=ctx=>!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"));var getEmscriptenSupportedExtensions=ctx=>{var supportedExtensions=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"];return(ctx.getSupportedExtensions()||[]).filter(ext=>supportedExtensions.includes(ext))};var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:errorCode=>{if(!GL.lastError){GL.lastError=errorCode}},getNewId:table=>{var ret=GL.counter++;for(var i=table.length;i{for(var i=0;i>2]=id}},getSource:(shader,count,string,length)=>{var source="";for(var i=0;i>2]:undefined;source+=UTF8ToString(HEAPU32[string+i*4>>2],len)}return source},createContext:(canvas,webGLContextAttributes)=>{if(webGLContextAttributes.renderViaOffscreenBackBuffer)webGLContextAttributes["preserveDrawingBuffer"]=true;var ctx=webGLContextAttributes.majorVersion>1?canvas.getContext("webgl2",webGLContextAttributes):canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},enableOffscreenFramebufferAttributes:webGLContextAttributes=>{webGLContextAttributes.renderViaOffscreenBackBuffer=true;webGLContextAttributes.preserveDrawingBuffer=true},createOffscreenFramebuffer:context=>{var gl=context.GLctx;var fbo=gl.createFramebuffer();gl.bindFramebuffer(36160,fbo);context.defaultFbo=fbo;context.defaultFboForbidBlitFramebuffer=false;if(gl.getContextAttributes().antialias){context.defaultFboForbidBlitFramebuffer=true}context.defaultColorTarget=gl.createTexture();context.defaultDepthTarget=gl.createRenderbuffer();GL.resizeOffscreenFramebuffer(context);gl.bindTexture(3553,context.defaultColorTarget);gl.texParameteri(3553,10241,9728);gl.texParameteri(3553,10240,9728);gl.texParameteri(3553,10242,33071);gl.texParameteri(3553,10243,33071);gl.texImage2D(3553,0,6408,gl.canvas.width,gl.canvas.height,0,6408,5121,null);gl.framebufferTexture2D(36160,36064,3553,context.defaultColorTarget,0);gl.bindTexture(3553,null);var depthTarget=gl.createRenderbuffer();gl.bindRenderbuffer(36161,context.defaultDepthTarget);gl.renderbufferStorage(36161,33189,gl.canvas.width,gl.canvas.height);gl.framebufferRenderbuffer(36160,36096,36161,context.defaultDepthTarget);gl.bindRenderbuffer(36161,null);var vertices=[-1,-1,-1,1,1,-1,1,1];var vb=gl.createBuffer();gl.bindBuffer(34962,vb);gl.bufferData(34962,new Float32Array(vertices),35044);gl.bindBuffer(34962,null);context.blitVB=vb;var vsCode="attribute vec2 pos;"+"varying lowp vec2 tex;"+"void main() { tex = pos * 0.5 + vec2(0.5,0.5); gl_Position = vec4(pos, 0.0, 1.0); }";var vs=gl.createShader(35633);gl.shaderSource(vs,vsCode);gl.compileShader(vs);var fsCode="varying lowp vec2 tex;"+"uniform sampler2D sampler;"+"void main() { gl_FragColor = texture2D(sampler, tex); }";var fs=gl.createShader(35632);gl.shaderSource(fs,fsCode);gl.compileShader(fs);var blitProgram=gl.createProgram();gl.attachShader(blitProgram,vs);gl.attachShader(blitProgram,fs);gl.linkProgram(blitProgram);context.blitProgram=blitProgram;context.blitPosLoc=gl.getAttribLocation(blitProgram,"pos");gl.useProgram(blitProgram);gl.uniform1i(gl.getUniformLocation(blitProgram,"sampler"),0);gl.useProgram(null);context.defaultVao=undefined;if(gl.createVertexArray){context.defaultVao=gl.createVertexArray();gl.bindVertexArray(context.defaultVao);gl.enableVertexAttribArray(context.blitPosLoc);gl.bindVertexArray(null)}},resizeOffscreenFramebuffer:context=>{var gl=context.GLctx;if(context.defaultColorTarget){var prevTextureBinding=gl.getParameter(32873);gl.bindTexture(3553,context.defaultColorTarget);gl.texImage2D(3553,0,6408,gl.drawingBufferWidth,gl.drawingBufferHeight,0,6408,5121,null);gl.bindTexture(3553,prevTextureBinding)}if(context.defaultDepthTarget){var prevRenderBufferBinding=gl.getParameter(36007);gl.bindRenderbuffer(36161,context.defaultDepthTarget);gl.renderbufferStorage(36161,33189,gl.drawingBufferWidth,gl.drawingBufferHeight);gl.bindRenderbuffer(36161,prevRenderBufferBinding)}},blitOffscreenFramebuffer:context=>{var gl=context.GLctx;var prevScissorTest=gl.getParameter(3089);if(prevScissorTest)gl.disable(3089);var prevFbo=gl.getParameter(36006);if(gl.blitFramebuffer&&!context.defaultFboForbidBlitFramebuffer){gl.bindFramebuffer(36008,context.defaultFbo);gl.bindFramebuffer(36009,null);gl.blitFramebuffer(0,0,gl.canvas.width,gl.canvas.height,0,0,gl.canvas.width,gl.canvas.height,16384,9728)}else{gl.bindFramebuffer(36160,null);var prevProgram=gl.getParameter(35725);gl.useProgram(context.blitProgram);var prevVB=gl.getParameter(34964);gl.bindBuffer(34962,context.blitVB);var prevActiveTexture=gl.getParameter(34016);gl.activeTexture(33984);var prevTextureBinding=gl.getParameter(32873);gl.bindTexture(3553,context.defaultColorTarget);var prevBlend=gl.getParameter(3042);if(prevBlend)gl.disable(3042);var prevCullFace=gl.getParameter(2884);if(prevCullFace)gl.disable(2884);var prevDepthTest=gl.getParameter(2929);if(prevDepthTest)gl.disable(2929);var prevStencilTest=gl.getParameter(2960);if(prevStencilTest)gl.disable(2960);function draw(){gl.vertexAttribPointer(context.blitPosLoc,2,5126,false,0,0);gl.drawArrays(5,0,4)}if(context.defaultVao){var prevVAO=gl.getParameter(34229);gl.bindVertexArray(context.defaultVao);draw();gl.bindVertexArray(prevVAO)}else{var prevVertexAttribPointer={buffer:gl.getVertexAttrib(context.blitPosLoc,34975),size:gl.getVertexAttrib(context.blitPosLoc,34339),stride:gl.getVertexAttrib(context.blitPosLoc,34340),type:gl.getVertexAttrib(context.blitPosLoc,34341),normalized:gl.getVertexAttrib(context.blitPosLoc,34922),pointer:gl.getVertexAttribOffset(context.blitPosLoc,34373)};var maxVertexAttribs=gl.getParameter(34921);var prevVertexAttribEnables=[];for(var i=0;i{var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}if(webGLContextAttributes.renderViaOffscreenBackBuffer)GL.createOffscreenFramebuffer(context);return handle},makeContextCurrent:contextHandle=>{GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext?.GLctx;return!(contextHandle&&!GLctx)},getContext:contextHandle=>GL.contexts[contextHandle],deleteContext:contextHandle=>{if(GL.currentContext===GL.contexts[contextHandle]){GL.currentContext=null}if(typeof JSEvents=="object"){JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas)}if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas){GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined}GL.contexts[contextHandle]=null},initExtensions:context=>{context||=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_ANGLE_instanced_arrays(GLctx);webgl_enable_OES_vertex_array_object(GLctx);webgl_enable_WEBGL_draw_buffers(GLctx);webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);getEmscriptenSupportedExtensions(GLctx).forEach(ext=>{if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var _emscripten_webgl_do_commit_frame=()=>{if(!GL.currentContext||!GL.currentContext.GLctx){return-3}if(GL.currentContext.defaultFbo){GL.blitOffscreenFramebuffer(GL.currentContext);return 0}if(!GL.currentContext.attributes.explicitSwapControl){return-3}return 0};var _emscripten_webgl_commit_frame=_emscripten_webgl_do_commit_frame;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;if(!keepRuntimeAlive()){exitRuntime()}_proc_exit(status)};var _exit=exitJS;var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var maybeExit=()=>{if(runtimeExited){return}if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var setMainLoop=(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming)=>{Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeof SDL=="object")SDL.audio?.queueNewAudioData?.();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0){_emscripten_set_main_loop_timing(0,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}};var callUserCallback=func=>{if(runtimeExited||ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var safeSetTimeout=(func,timeout)=>{runtimeKeepalivePush();return setTimeout(()=>{runtimeKeepalivePop();callUserCallback(func)},timeout)};var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}};var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);preloadedImages[name]=canvas;URL.revokeObjectURL(url);onload?.(byteArray)};img.onerror=event=>{err(`Image ${url} could not be decoded`);onerror?.()};img.src=url};preloadPlugins.push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;preloadedAudios[name]=audio;onload?.(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err(`warning: browser could not fully decode audio ${name}, trying slower base64 approach`);function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",ev=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:typeof WebGL2RenderingContext!="undefined"?2:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(callback=>callback());Browser.init()}return ctx},destroyContext(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}Module["onFullScreen"]?.(Browser.isFullscreen);Module["onFullscreen"]?.(Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame(func){runtimeKeepalivePush();return Browser.requestAnimationFrame(()=>{runtimeKeepalivePop();callUserCallback(func)})},getMimetype(name){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia(func){window.getUserMedia||=navigator["getUserMedia"]||navigator["mozGetUserMedia"];window.getUserMedia(func)},getMovementX(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(pageX,pageY){var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;var adjustedX=pageX-(scrollX+rect.left);var adjustedY=pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);return{x:adjustedX,y:adjustedY}},setMouseCoords(pageX,pageY){const{x:x,y:y}=Browser.calculateMouseCoords(pageX,pageY);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y},calculateMouseEvent(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}else{if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var coords=Browser.calculateMouseCoords(touch.pageX,touch.pageY);if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];last||=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}Browser.setMouseCoords(event.pageX,event.pageY)}},resizeListeners:[],updateResizeListeners(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(listener=>listener(canvas.width,canvas.height))},setCanvasSize(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h{Browser.mainLoop.pause();Browser.mainLoop.func=null};var _emscripten_date_now=()=>Date.now();var _emscripten_force_exit=status=>{__emscripten_runtime_keepalive_clear();_exit(status)};var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var JSEvents={removeAllEventListeners(){while(JSEvents.eventHandlers.length){JSEvents._removeHandler(JSEvents.eventHandlers.length-1)}JSEvents.deferredCalls=[]},registerRemoveEventListeners(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},inEventHandler:0,deferredCalls:[],deferCall(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var call of JSEvents.deferredCalls){if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort((x,y)=>x.precedencecall.targetFunction!=targetFunction)},canPerformEventHandlerRequests(){if(navigator.userActivation){return navigator.userActivation.isActive}return JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(!JSEvents.canPerformEventHandlerRequests()){return}var deferredCalls=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var call of deferredCalls){call.targetFunction(...call.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(target,eventTypeString)=>{for(var i=0;icString>2?UTF8ToString(cString):cString;var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];var findEventTarget=target=>{target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement};var findCanvasEventTarget=findEventTarget;var _emscripten_set_canvas_element_size=(target,width,height)=>{var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;if(canvas.GLctxObject)GL.resizeOffscreenFramebuffer(canvas.GLctxObject);return 0};var _emscripten_set_main_loop=(func,fps,simulateInfiniteLoop)=>{var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)};var webglPowerPreferences=["default","low-power","high-performance"];var _emscripten_webgl_do_create_context=(target,attributes)=>{var attr32=attributes>>2;var powerPreference=HEAP32[attr32+(8>>2)];var contextAttributes={alpha:!!HEAP8[attributes+0],depth:!!HEAP8[attributes+1],stencil:!!HEAP8[attributes+2],antialias:!!HEAP8[attributes+3],premultipliedAlpha:!!HEAP8[attributes+4],preserveDrawingBuffer:!!HEAP8[attributes+5],powerPreference:webglPowerPreferences[powerPreference],failIfMajorPerformanceCaveat:!!HEAP8[attributes+12],majorVersion:HEAP32[attr32+(16>>2)],minorVersion:HEAP32[attr32+(20>>2)],enableExtensionsByDefault:HEAP8[attributes+24],explicitSwapControl:HEAP8[attributes+25],proxyContextToMainThread:HEAP32[attr32+(28>>2)],renderViaOffscreenBackBuffer:HEAP8[attributes+32]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl&&!contextAttributes.renderViaOffscreenBackBuffer){contextAttributes.renderViaOffscreenBackBuffer=true}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle};var _emscripten_webgl_create_context=_emscripten_webgl_do_create_context;var _emscripten_webgl_destroy_context=contextHandle=>{if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)};var _emscripten_webgl_enable_extension=(contextHandle,extension)=>{var context=GL.getContext(contextHandle);var extString=UTF8ToString(extension);if(extString.startsWith("GL_"))extString=extString.substr(3);if(extString=="ANGLE_instanced_arrays")webgl_enable_ANGLE_instanced_arrays(GLctx);if(extString=="OES_vertex_array_object")webgl_enable_OES_vertex_array_object(GLctx);if(extString=="WEBGL_draw_buffers")webgl_enable_WEBGL_draw_buffers(GLctx);if(extString=="WEBGL_draw_instanced_base_vertex_base_instance")webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw_instanced_base_vertex_base_instance")webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw")webgl_enable_WEBGL_multi_draw(GLctx);var ext=context.GLctx.getExtension(extString);return!!ext};var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var _emscripten_webgl_get_supported_extensions=()=>stringToNewUTF8(GLctx.getSupportedExtensions().join(" "));var _emscripten_webgl_make_context_current=contextHandle=>{var success=GL.makeContextCurrent(contextHandle);return success?0:-5};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var rightsBase=0;var rightsInheriting=0;var flags=0;{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4}HEAP8[pbuf]=type;HEAP16[pbuf+2>>1]=flags;HEAP64[pbuf+8>>3]=BigInt(rightsBase);HEAP64[pbuf+16>>3]=BigInt(rightsInheriting);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>3]=BigInt(stream.position);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var _glActiveTexture=x0=>GLctx.activeTexture(x0);var _glAttachShader=(program,shader)=>{GLctx.attachShader(GL.programs[program],GL.shaders[shader])};var _glBeginTransformFeedback=x0=>GLctx.beginTransformFeedback(x0);var _glBindBuffer=(target,buffer)=>{if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])};var _glBindBufferBase=(target,index,buffer)=>{GLctx.bindBufferBase(target,index,GL.buffers[buffer])};var _glBindBufferRange=(target,index,buffer,offset,ptrsize)=>{GLctx.bindBufferRange(target,index,GL.buffers[buffer],offset,ptrsize)};var _glBindFramebuffer=(target,framebuffer)=>{GLctx.bindFramebuffer(target,framebuffer?GL.framebuffers[framebuffer]:GL.currentContext.defaultFbo)};var _glBindRenderbuffer=(target,renderbuffer)=>{GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])};var _glBindTexture=(target,texture)=>{GLctx.bindTexture(target,GL.textures[texture])};var _glBindVertexArray=vao=>{GLctx.bindVertexArray(GL.vaos[vao])};var _glBlendColor=(x0,x1,x2,x3)=>GLctx.blendColor(x0,x1,x2,x3);var _glBlendEquation=x0=>GLctx.blendEquation(x0);var _glBlendFunc=(x0,x1)=>GLctx.blendFunc(x0,x1);var _glBlendFuncSeparate=(x0,x1,x2,x3)=>GLctx.blendFuncSeparate(x0,x1,x2,x3);var _glBlitFramebuffer=(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)=>GLctx.blitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9);var _glBufferData=(target,size,data,usage)=>{if(GL.currentContext.version>=2){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}return}GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)};var _glBufferSubData=(target,offset,size,data)=>{if(GL.currentContext.version>=2){size&&GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))};var _glCheckFramebufferStatus=x0=>GLctx.checkFramebufferStatus(x0);var _glClear=x0=>GLctx.clear(x0);var _glClearBufferfv=(buffer,drawbuffer,value)=>{GLctx.clearBufferfv(buffer,drawbuffer,HEAPF32,value>>2)};var _glClearColor=(x0,x1,x2,x3)=>GLctx.clearColor(x0,x1,x2,x3);var _glClearDepthf=x0=>GLctx.clearDepth(x0);var _glColorMask=(red,green,blue,alpha)=>{GLctx.colorMask(!!red,!!green,!!blue,!!alpha)};var _glCompileShader=shader=>{GLctx.compileShader(GL.shaders[shader])};var _glCompressedTexImage2D=(target,level,internalFormat,width,height,border,imageSize,data)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data);return}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,HEAPU8,data,imageSize);return}GLctx.compressedTexImage2D(target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)};var _glCompressedTexImage3D=(target,level,internalFormat,width,height,depth,border,imageSize,data)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data)}else{GLctx.compressedTexImage3D(target,level,internalFormat,width,height,depth,border,HEAPU8,data,imageSize)}};var _glCompressedTexSubImage3D=(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)}else{GLctx.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,HEAPU8,data,imageSize)}};var _glCopyBufferSubData=(x0,x1,x2,x3,x4)=>GLctx.copyBufferSubData(x0,x1,x2,x3,x4);var _glCreateProgram=()=>{var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id};var _glCreateShader=shaderType=>{var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id};var _glCullFace=x0=>GLctx.cullFace(x0);var _glDeleteBuffers=(n,buffers)=>{for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GLctx.currentPixelPackBufferBinding)GLctx.currentPixelPackBufferBinding=0;if(id==GLctx.currentPixelUnpackBufferBinding)GLctx.currentPixelUnpackBufferBinding=0}};var _glDeleteFramebuffers=(n,framebuffers)=>{for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}};var _glDeleteProgram=id=>{if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null};var _glDeleteQueries=(n,ids)=>{for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx.deleteQuery(query);GL.queries[id]=null}};var _glDeleteRenderbuffers=(n,renderbuffers)=>{for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}};var _glDeleteShader=id=>{if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null};var _glDeleteSync=id=>{if(!id)return;var sync=GL.syncs[id];if(!sync){GL.recordError(1281);return}GLctx.deleteSync(sync);sync.name=0;GL.syncs[id]=null};var _glDeleteTextures=(n,textures)=>{for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}};var _glDeleteVertexArrays=(n,vaos)=>{for(var i=0;i>2];GLctx.deleteVertexArray(GL.vaos[id]);GL.vaos[id]=null}};var _glDepthFunc=x0=>GLctx.depthFunc(x0);var _glDepthMask=flag=>{GLctx.depthMask(!!flag)};var _glDisable=x0=>GLctx.disable(x0);var _glDisableVertexAttribArray=index=>{GLctx.disableVertexAttribArray(index)};var _glDrawArrays=(mode,first,count)=>{GLctx.drawArrays(mode,first,count)};var _glDrawArraysInstanced=(mode,first,count,primcount)=>{GLctx.drawArraysInstanced(mode,first,count,primcount)};var tempFixedLengthArray=[];var _glDrawBuffers=(n,bufs)=>{var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx.drawBuffers(bufArray)};var _glDrawElements=(mode,count,type,indices)=>{GLctx.drawElements(mode,count,type,indices)};var _glDrawElementsInstanced=(mode,count,type,indices,primcount)=>{GLctx.drawElementsInstanced(mode,count,type,indices,primcount)};var _glEnable=x0=>GLctx.enable(x0);var _glEnableVertexAttribArray=index=>{GLctx.enableVertexAttribArray(index)};var _glEndTransformFeedback=()=>GLctx.endTransformFeedback();var _glFenceSync=(condition,flags)=>{var sync=GLctx.fenceSync(condition,flags);if(sync){var id=GL.getNewId(GL.syncs);sync.name=id;GL.syncs[id]=sync;return id}return 0};var _glFinish=()=>GLctx.finish();var _glFramebufferRenderbuffer=(target,attachment,renderbuffertarget,renderbuffer)=>{GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])};var _glFramebufferTexture2D=(target,attachment,textarget,texture,level)=>{GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)};var _glFramebufferTextureLayer=(target,attachment,texture,level,layer)=>{GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)};var _glFrontFace=x0=>GLctx.frontFace(x0);var _glGenBuffers=(n,buffers)=>{GL.genObject(n,buffers,"createBuffer",GL.buffers)};var _glGenFramebuffers=(n,ids)=>{GL.genObject(n,ids,"createFramebuffer",GL.framebuffers)};var _glGenQueries=(n,ids)=>{GL.genObject(n,ids,"createQuery",GL.queries)};var _glGenRenderbuffers=(n,renderbuffers)=>{GL.genObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)};var _glGenTextures=(n,textures)=>{GL.genObject(n,textures,"createTexture",GL.textures)};var _glGenVertexArrays=(n,arrays)=>{GL.genObject(n,arrays,"createVertexArray",GL.vaos)};var _glGenerateMipmap=x0=>GLctx.generateMipmap(x0);var writeI53ToI64=(ptr,num)=>{HEAPU32[ptr>>2]=num;var lower=HEAPU32[ptr>>2];HEAPU32[ptr+4>>2]=(num-lower)/4294967296};var webglGetExtensions=function $webglGetExtensions(){var exts=getEmscriptenSupportedExtensions(GLctx);exts=exts.concat(exts.map(e=>"GL_"+e));return exts};var emscriptenWebGLGet=(name_,p,type)=>{if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}ret=webglGetExtensions().length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Unknown object returned from WebGL getParameter(${name_})! (error: ${e})`);return}}break;default:GL.recordError(1280);err(`GL_INVALID_ENUM in glGet${type}v: Native code calling glGet${type}v(${name_}) and it returns ${result} of type ${typeof result}!`);return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p]=ret?1:0;break}};var _glGetFloatv=(name_,p)=>emscriptenWebGLGet(name_,p,2);var _glGetInteger64v=(name_,p)=>{emscriptenWebGLGet(name_,p,1)};var _glGetIntegerv=(name_,p)=>emscriptenWebGLGet(name_,p,0);var _glGetProgramInfoLog=(program,maxLength,length,infoLog)=>{var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetProgramiv=(program,pname,p)=>{if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}};var _glGetShaderInfoLog=(shader,maxLength,length,infoLog)=>{var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull};var _glGetShaderiv=(shader,pname,p)=>{if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}};var _glGetString=name_=>{var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:ret=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s?stringToNewUTF8(s):0;break;case 7938:var glVersion=GLctx.getParameter(7938);if(GL.currentContext.version>=2)glVersion=`OpenGL ES 3.0 (${glVersion})`;else{glVersion=`OpenGL ES 2.0 (${glVersion})`}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion=`OpenGL ES GLSL ES ${ver_num[1]} (${glslVersion})`}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret};var _glGetSynciv=(sync,pname,bufSize,length,values)=>{if(bufSize<0){GL.recordError(1281);return}if(!values){GL.recordError(1281);return}var ret=GLctx.getSyncParameter(GL.syncs[sync],pname);if(ret!==null){HEAP32[values>>2]=ret;if(length)HEAP32[length>>2]=1}};var _glGetUniformBlockIndex=(program,uniformBlockName)=>GLctx.getUniformBlockIndex(GL.programs[program],UTF8ToString(uniformBlockName));var jstoi_q=str=>parseInt(str);var webglGetLeftBracePos=name=>name.slice(-1)=="]"&&name.lastIndexOf("[");var webglPrepareUniformLocationsBeforeFirstUse=program=>{var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j{name=UTF8ToString(name);if(program=GL.programs[program]){webglPrepareUniformLocationsBeforeFirstUse(program);var uniformLocsById=program.uniformLocsById;var arrayIndex=0;var uniformBaseName=name;var leftBrace=webglGetLeftBracePos(name);if(leftBrace>0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex{program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}};var _glPixelStorei=(pname,param)=>{if(pname==3317){GL.unpackAlignment=param}else if(pname==3314){GL.unpackRowLength=param}GLctx.pixelStorei(pname,param)};var _glReadBuffer=x0=>GLctx.readBuffer(x0);var computeUnpackAlignedImageSize=(width,height,sizePerPixel)=>{function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=(GL.unpackRowLength||width)*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,GL.unpackAlignment);return height*alignedRowSize};var colorChannelsInGlTextureFormat=format=>{var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1};var heapObjectForWebGLType=type=>{type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16};var toTypedArrayIndex=(pointer,heap)=>pointer>>>31-Math.clz32(heap.BYTES_PER_ELEMENT);var emscriptenWebGLGetTexPixelData=(type,format,width,height,pixels,internalFormat)=>{var heap=heapObjectForWebGLType(type);var sizePerPixel=colorChannelsInGlTextureFormat(format)*heap.BYTES_PER_ELEMENT;var bytes=computeUnpackAlignedImageSize(width,height,sizePerPixel);return heap.subarray(toTypedArrayIndex(pixels,heap),toTypedArrayIndex(pixels+bytes,heap))};var _glReadPixels=(x,y,width,height,format,type,pixels)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels);return}var heap=heapObjectForWebGLType(type);var target=toTypedArrayIndex(pixels,heap);GLctx.readPixels(x,y,width,height,format,type,heap,target);return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)};var _glRenderbufferStorage=(x0,x1,x2,x3)=>GLctx.renderbufferStorage(x0,x1,x2,x3);var _glRenderbufferStorageMultisample=(x0,x1,x2,x3,x4)=>GLctx.renderbufferStorageMultisample(x0,x1,x2,x3,x4);var _glScissor=(x0,x1,x2,x3)=>GLctx.scissor(x0,x1,x2,x3);var _glShaderSource=(shader,count,string,length)=>{var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)};var _glTexImage2D=(target,level,internalFormat,width,height,border,format,type,pixels)=>{if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels);return}if(pixels){var heap=heapObjectForWebGLType(type);var index=toTypedArrayIndex(pixels,heap);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,index);return}}var pixelData=pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null;GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixelData)};var _glTexImage3D=(target,level,internalFormat,width,height,depth,border,format,type,pixels)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texImage3D(target,level,internalFormat,width,height,depth,border,format,type,null)}};var _glTexParameterf=(x0,x1,x2)=>GLctx.texParameterf(x0,x1,x2);var _glTexParameteri=(x0,x1,x2)=>GLctx.texParameteri(x0,x1,x2);var _glTexStorage2D=(x0,x1,x2,x3,x4)=>GLctx.texStorage2D(x0,x1,x2,x3,x4);var _glTexSubImage3D=(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)=>{if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,heap,toTypedArrayIndex(pixels,heap))}else{GLctx.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}};var _glTransformFeedbackVaryings=(program,count,varyings,bufferMode)=>{program=GL.programs[program];var vars=[];for(var i=0;i>2]));GLctx.transformFeedbackVaryings(program,vars,bufferMode)};var webglGetUniformLocation=location=>{var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?`[${webglLoc}]`:""))}return webglLoc}else{GL.recordError(1282)}};var _glUniform1f=(location,v0)=>{GLctx.uniform1f(webglGetUniformLocation(location),v0)};var _glUniform1i=(location,v0)=>{GLctx.uniform1i(webglGetUniformLocation(location),v0)};var miniTempWebGLIntBuffers=[];var _glUniform1iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform1iv(webglGetUniformLocation(location),HEAP32,value>>2,count);return}if(count<=288){var view=miniTempWebGLIntBuffers[count];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)};var _glUniform1ui=(location,v0)=>{GLctx.uniform1ui(webglGetUniformLocation(location),v0)};var _glUniform1uiv=(location,count,value)=>{count&&GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count)};var _glUniform2f=(location,v0,v1)=>{GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)};var miniTempWebGLFloatBuffers=[];var _glUniform2fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform2fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*2);return}if(count<=144){var view=miniTempWebGLFloatBuffers[2*count];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)};var _glUniform2iv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform2iv(webglGetUniformLocation(location),HEAP32,value>>2,count*2);return}if(count<=144){var view=miniTempWebGLIntBuffers[2*count];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)};var _glUniform3fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform3fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*3);return}if(count<=96){var view=miniTempWebGLFloatBuffers[3*count];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)};var _glUniform4f=(location,v0,v1,v2,v3)=>{GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)};var _glUniform4fv=(location,count,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniform4fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*4);return}if(count<=72){var view=miniTempWebGLFloatBuffers[4*count];var heap=HEAPF32;value=value>>2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)};var _glUniformBlockBinding=(program,uniformBlockIndex,uniformBlockBinding)=>{program=GL.programs[program];GLctx.uniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding)};var _glUniformMatrix3fv=(location,count,transpose,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*9);return}if(count<=32){var view=miniTempWebGLFloatBuffers[9*count];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)};var _glUniformMatrix4fv=(location,count,transpose,value)=>{if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16);return}if(count<=18){var view=miniTempWebGLFloatBuffers[16*count];var heap=HEAPF32;value=value>>2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)};var _glUseProgram=program=>{program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program};var _glVertexAttrib4f=(x0,x1,x2,x3,x4)=>GLctx.vertexAttrib4f(x0,x1,x2,x3,x4);var _glVertexAttribDivisor=(index,divisor)=>{GLctx.vertexAttribDivisor(index,divisor)};var _glVertexAttribI4ui=(x0,x1,x2,x3,x4)=>GLctx.vertexAttribI4ui(x0,x1,x2,x3,x4);var _glVertexAttribIPointer=(index,size,type,stride,ptr)=>{GLctx.vertexAttribIPointer(index,size,type,stride,ptr)};var _glVertexAttribPointer=(index,size,type,normalized,stride,ptr)=>{GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)};var _glViewport=(x0,x1,x2,x3)=>GLctx.viewport(x0,x1,x2,x3);var GodotRuntime={get_func:function(ptr){return wasmTable.get(ptr)},error:function(){err.apply(null,Array.from(arguments))},print:function(){out.apply(null,Array.from(arguments))},malloc:function(p_size){return _malloc(p_size)},free:function(p_ptr){_free(p_ptr)},getHeapValue:function(p_ptr,p_type){return getValue(p_ptr,p_type)},setHeapValue:function(p_ptr,p_value,p_type){setValue(p_ptr,p_value,p_type)},heapSub:function(p_heap,p_ptr,p_len){const bytes=p_heap.BYTES_PER_ELEMENT;return p_heap.subarray(p_ptr/bytes,p_ptr/bytes+p_len)},heapSlice:function(p_heap,p_ptr,p_len){const bytes=p_heap.BYTES_PER_ELEMENT;return p_heap.slice(p_ptr/bytes,p_ptr/bytes+p_len)},heapCopy:function(p_dst,p_src,p_ptr){const bytes=p_src.BYTES_PER_ELEMENT;return p_dst.set(p_src,p_ptr/bytes)},parseString:function(p_ptr){return UTF8ToString(p_ptr)},parseStringArray:function(p_ptr,p_size){const strings=[];const ptrs=GodotRuntime.heapSub(HEAP32,p_ptr,p_size);ptrs.forEach(function(ptr){strings.push(GodotRuntime.parseString(ptr))});return strings},strlen:function(p_str){return lengthBytesUTF8(p_str)},allocString:function(p_str){const length=GodotRuntime.strlen(p_str)+1;const c_str=GodotRuntime.malloc(length);stringToUTF8(p_str,c_str,length);return c_str},allocStringArray:function(p_strings){const size=p_strings.length;const c_ptr=GodotRuntime.malloc(size*4);for(let i=0;i>2)+i]=GodotRuntime.allocString(p_strings[i])}return c_ptr},freeStringArray:function(p_ptr,p_len){for(let i=0;i>2)+i])}GodotRuntime.free(p_ptr)},stringToHeap:function(p_str,p_ptr,p_len){return stringToUTF8Array(p_str,HEAP8,p_ptr,p_len)}};var GodotConfig={canvas:null,locale:"en",canvas_resize_policy:2,virtual_keyboard:false,persistent_drops:false,on_execute:null,on_exit:null,init_config:function(p_opts){GodotConfig.canvas_resize_policy=p_opts["canvasResizePolicy"];GodotConfig.canvas=p_opts["canvas"];GodotConfig.locale=p_opts["locale"]||GodotConfig.locale;GodotConfig.virtual_keyboard=p_opts["virtualKeyboard"];GodotConfig.persistent_drops=!!p_opts["persistentDrops"];GodotConfig.on_execute=p_opts["onExecute"];GodotConfig.on_exit=p_opts["onExit"];if(p_opts["focusCanvas"]){GodotConfig.canvas.focus()}},locate_file:function(file){return Module["locateFile"](file)},clear:function(){GodotConfig.canvas=null;GodotConfig.locale="en";GodotConfig.canvas_resize_policy=2;GodotConfig.virtual_keyboard=false;GodotConfig.persistent_drops=false;GodotConfig.on_execute=null;GodotConfig.on_exit=null}};var GodotFS={ENOENT:44,_idbfs:false,_syncing:false,_mount_points:[],is_persistent:function(){return GodotFS._idbfs?1:0},init:function(persistentPaths){GodotFS._idbfs=false;if(!Array.isArray(persistentPaths)){return Promise.reject(new Error("Persistent paths must be an array"))}if(!persistentPaths.length){return Promise.resolve()}GodotFS._mount_points=persistentPaths.slice();function createRecursive(dir){try{FS.stat(dir)}catch(e){if(e.errno!==GodotFS.ENOENT){GodotRuntime.error(e)}FS.mkdirTree(dir)}}GodotFS._mount_points.forEach(function(path){createRecursive(path);FS.mount(IDBFS,{},path)});return new Promise(function(resolve,reject){FS.syncfs(true,function(err){if(err){GodotFS._mount_points=[];GodotFS._idbfs=false;GodotRuntime.print(`IndexedDB not available: ${err.message}`)}else{GodotFS._idbfs=true}resolve(err)})})},deinit:function(){GodotFS._mount_points.forEach(function(path){try{FS.unmount(path)}catch(e){GodotRuntime.print("Already unmounted",e)}if(GodotFS._idbfs&&IDBFS.dbs[path]){IDBFS.dbs[path].close();delete IDBFS.dbs[path]}});GodotFS._mount_points=[];GodotFS._idbfs=false;GodotFS._syncing=false},sync:function(){if(GodotFS._syncing){GodotRuntime.error("Already syncing!");return Promise.resolve()}GodotFS._syncing=true;return new Promise(function(resolve,reject){FS.syncfs(false,function(error){if(error){GodotRuntime.error(`Failed to save IDB file system: ${error.message}`)}GodotFS._syncing=false;resolve(error)})})},copy_to_fs:function(path,buffer){const idx=path.lastIndexOf("/");let dir="/";if(idx>0){dir=path.slice(0,idx)}try{FS.stat(dir)}catch(e){if(e.errno!==GodotFS.ENOENT){GodotRuntime.error(e)}FS.mkdirTree(dir)}FS.writeFile(path,new Uint8Array(buffer))}};var GodotOS={request_quit:function(){},_async_cbs:[],_fs_sync_promise:null,atexit:function(p_promise_cb){GodotOS._async_cbs.push(p_promise_cb)},cleanup:function(exit_code){const cb=GodotConfig.on_exit;GodotFS.deinit();GodotConfig.clear();if(cb){cb(exit_code)}},finish_async:function(callback){GodotOS._fs_sync_promise.then(function(err){const promises=[];GodotOS._async_cbs.forEach(function(cb){promises.push(new Promise(cb))});return Promise.all(promises)}).then(function(){return GodotFS.sync()}).then(function(err){setTimeout(function(){callback()},0)})}};var GodotAudio={MAX_VOLUME_CHANNELS:8,GodotChannel:{CHANNEL_L:0,CHANNEL_R:1,CHANNEL_C:3,CHANNEL_LFE:4,CHANNEL_RL:5,CHANNEL_RR:6,CHANNEL_SL:7,CHANNEL_SR:8},WebChannel:{CHANNEL_L:0,CHANNEL_R:1,CHANNEL_SL:2,CHANNEL_SR:3,CHANNEL_C:4,CHANNEL_LFE:5},samples:null,Sample:class Sample{static getSample(id){if(!GodotAudio.samples.has(id)){throw new ReferenceError(`Could not find sample "${id}"`)}return GodotAudio.samples.get(id)}static getSampleOrNull(id){return GodotAudio.samples.get(id)??null}static create(params,options={}){const sample=new GodotAudio.Sample(params,options);GodotAudio.samples.set(params.id,sample);return sample}static delete(id){GodotAudio.samples.delete(id)}constructor(params,options={}){this.id=params.id;this._audioBuffer=null;this.numberOfChannels=options.numberOfChannels??2;this.sampleRate=options.sampleRate??44100;this.loopMode=options.loopMode??"disabled";this.loopBegin=options.loopBegin??0;this.loopEnd=options.loopEnd??0;this.setAudioBuffer(params.audioBuffer)}getAudioBuffer(){return this._duplicateAudioBuffer()}setAudioBuffer(val){this._audioBuffer=val}clear(){this.setAudioBuffer(null);GodotAudio.Sample.delete(this.id)}_duplicateAudioBuffer(){if(this._audioBuffer==null){throw new Error("couldn't duplicate a null audioBuffer")}const channels=new Array(this._audioBuffer.numberOfChannels);for(let i=0;i{const newErr=new Error("Failed to create PositionWorklet.");newErr.cause=err;GodotRuntime.error(newErr)})}getPlaybackRate(){return this._playbackRate}getPlaybackPosition(){return this._playbackPosition}setPlaybackRate(val){this._playbackRate=val;this._syncPlaybackRate()}getPitchScale(){return this._pitchScale}setPitchScale(val){this._pitchScale=val;this._syncPlaybackRate()}getSample(){return GodotAudio.Sample.getSample(this.streamObjectId)}getOutputNode(){return this._source}start(){if(this.isStarted){return}this._resetSourceStartTime();this._source.start(this.startTime,this.offset);this.isStarted=true}stop(){this.clear()}restart(){this.isPaused=false;this.pauseTime=0;this._resetSourceStartTime();this._restart()}pause(enable=true){if(enable){this._pause();return}this._unpause()}connect(node){return this.getOutputNode().connect(node)}setVolumes(buses,volumes){for(let busIdx=0;busIdx{switch(event.data["type"]){case"position":this._playbackPosition=parseInt(event.data.data,10)/this.getSample().sampleRate+this.offset;break;default:}};return this._positionWorklet}clear(){this.isCanceled=true;this.isPaused=false;this.pauseTime=0;if(this._source!=null){this._source.removeEventListener("ended",this._onended);this._onended=null;if(this.isStarted){this._source.stop()}this._source.disconnect();this._source=null}for(const sampleNodeBus of this._sampleNodeBuses.values()){sampleNodeBus.clear()}this._sampleNodeBuses.clear();if(this._positionWorklet){this._positionWorklet.disconnect();this._positionWorklet.port.onmessage=null;this._positionWorklet.port.postMessage({type:"ended"});this._positionWorklet=null}GodotAudio.SampleNode.delete(this.id)}_resetSourceStartTime(){this._sourceStartTime=GodotAudio.ctx.currentTime}_syncPlaybackRate(){this._source.playbackRate.value=this.getPlaybackRate()*this.getPitchScale()}_restart(){if(this._source!=null){this._source.disconnect()}this._source=GodotAudio.ctx.createBufferSource();this._source.buffer=this.getSample().getAudioBuffer();for(const sampleNodeBus of this._sampleNodeBuses.values()){this.connect(sampleNodeBus.getInputNode())}this._addEndedListener();const pauseTime=this.isPaused?this.pauseTime:0;if(this._positionWorklet!=null){this._positionWorklet.port.postMessage({type:"clear"});this._source.connect(this._positionWorklet)}this._source.start(this.startTime,this.offset+pauseTime);this.isStarted=true}_pause(){if(!this.isStarted){return}this.isPaused=true;this.pauseTime=(GodotAudio.ctx.currentTime-this._sourceStartTime)/this.getPlaybackRate();this._source.stop()}_unpause(){this._restart();this.isPaused=false;this.pauseTime=0}_addEndedListener(){if(this._onended!=null){this._source.removeEventListener("ended",this._onended)}const self=this;this._onended=_=>{if(self.isPaused){return}switch(self.getSample().loopMode){case"disabled":{const id=this.id;self.stop();if(GodotAudio.sampleFinishedCallback!=null){const idCharPtr=GodotRuntime.allocString(id);GodotAudio.sampleFinishedCallback(idCharPtr);GodotRuntime.free(idCharPtr)}}break;case"forward":case"backward":self.restart();break;default:}};this._source.addEventListener("ended",this._onended)}},buses:null,busSolo:null,Bus:class Bus{static getCount(){return GodotAudio.buses.length}static setCount(val){const buses=GodotAudio.buses;if(val===buses.length){return}if(val=GodotAudio.buses.length){throw new ReferenceError(`invalid bus index "${index}"`)}return GodotAudio.buses[index]}static getBusOrNull(index){if(index<0||index>=GodotAudio.buses.length){return null}return GodotAudio.buses[index]}static move(fromIndex,toIndex){const movedBus=GodotAudio.Bus.getBusOrNull(fromIndex);if(movedBus==null){return}const buses=GodotAudio.buses.filter((_,i)=>i!==fromIndex);buses.splice(toIndex-1,0,movedBus);GodotAudio.buses=buses}static addAt(index){const newBus=GodotAudio.Bus.create();if(index!==newBus.getId()){GodotAudio.Bus.move(newBus.getId(),index)}}static create(){const newBus=new GodotAudio.Bus;const isFirstBus=GodotAudio.buses.length===0;GodotAudio.buses.push(newBus);if(isFirstBus){newBus.setSend(null)}else{newBus.setSend(GodotAudio.Bus.getBus(0))}return newBus}constructor(){this._sampleNodes=new Set;this.isSolo=false;this._send=null;this._gainNode=GodotAudio.ctx.createGain();this._soloNode=GodotAudio.ctx.createGain();this._muteNode=GodotAudio.ctx.createGain();this._gainNode.connect(this._soloNode).connect(this._muteNode)}getId(){return GodotAudio.buses.indexOf(this)}getVolumeDb(){return GodotAudio.linear_to_db(this._gainNode.gain.value)}setVolumeDb(val){const linear=GodotAudio.db_to_linear(val);if(isFinite(linear)){this._gainNode.gain.value=linear}}getSend(){return this._send}setSend(val){this._send=val;if(val==null){if(this.getId()==0){this.getOutputNode().connect(GodotAudio.ctx.destination);return}throw new Error(`Cannot send to "${val}" without the bus being at index 0 (current index: ${this.getId()})`)}this.connect(val)}getInputNode(){return this._gainNode}getOutputNode(){return this._muteNode}mute(enable){this._muteNode.gain.value=enable?0:1}solo(enable){if(this.isSolo===enable){return}if(enable){if(GodotAudio.busSolo!=null&&GodotAudio.busSolo!==this){GodotAudio.busSolo._disableSolo()}this._enableSolo();return}this._disableSolo()}addSampleNode(sampleNode){this._sampleNodes.add(sampleNode);sampleNode.getOutputNode().connect(this.getInputNode())}removeSampleNode(sampleNode){this._sampleNodes.delete(sampleNode);sampleNode.getOutputNode().disconnect()}connect(bus){if(bus==null){throw new Error("cannot connect to null bus")}this.getOutputNode().disconnect();this.getOutputNode().connect(bus.getInputNode());return bus}clear(){GodotAudio.buses=GodotAudio.buses.filter(v=>v!==this)}_syncSampleNodes(){const sampleNodes=Array.from(this._sampleNodes);for(let i=0;iotherBus!==this);for(let i=0;iotherBus!==this);for(let i=0;iGodotAudio.Bus.getBus(busIndex));sampleNode.setVolumes(buses,volumes)},set_sample_bus_count:function(count){GodotAudio.Bus.setCount(count)},remove_sample_bus:function(index){const bus=GodotAudio.Bus.getBusOrNull(index);if(bus==null){return}bus.clear()},add_sample_bus:function(atPos){GodotAudio.Bus.addAt(atPos)},move_sample_bus:function(busIndex,toPos){GodotAudio.Bus.move(busIndex,toPos)},set_sample_bus_send:function(busIndex,sendIndex){const bus=GodotAudio.Bus.getBusOrNull(busIndex);if(bus==null){return}let targetBus=GodotAudio.Bus.getBusOrNull(sendIndex);if(targetBus==null){targetBus=GodotAudio.Bus.getBus(0)}bus.setSend(targetBus)},set_sample_bus_volume_db:function(busIndex,volumeDb){const bus=GodotAudio.Bus.getBusOrNull(busIndex);if(bus==null){return}bus.setVolumeDb(volumeDb)},set_sample_bus_solo:function(busIndex,enable){const bus=GodotAudio.Bus.getBusOrNull(busIndex);if(bus==null){return}bus.solo(enable)},set_sample_bus_mute:function(busIndex,enable){const bus=GodotAudio.Bus.getBusOrNull(busIndex);if(bus==null){return}bus.mute(enable)}};function _godot_audio_get_sample_playback_position(playbackObjectIdStrPtr){const playbackObjectId=GodotRuntime.parseString(playbackObjectIdStrPtr);const sampleNode=GodotAudio.SampleNode.getSampleNodeOrNull(playbackObjectId);if(sampleNode==null){return 0}return sampleNode.getPlaybackPosition()}function _godot_audio_has_script_processor(){return GodotAudio.ctx&&GodotAudio.ctx.createScriptProcessor?1:0}function _godot_audio_has_worklet(){return GodotAudio.ctx&&GodotAudio.ctx.audioWorklet?1:0}function _godot_audio_init(p_mix_rate,p_latency,p_state_change,p_latency_update){const statechange=GodotRuntime.get_func(p_state_change);const latencyupdate=GodotRuntime.get_func(p_latency_update);const mix_rate=GodotRuntime.getHeapValue(p_mix_rate,"i32");const channels=GodotAudio.init(mix_rate,p_latency,statechange,latencyupdate);GodotRuntime.setHeapValue(p_mix_rate,GodotAudio.ctx.sampleRate,"i32");return channels}function _godot_audio_input_start(){return GodotAudio.create_input(function(input){input.connect(GodotAudio.driver.get_node())})}function _godot_audio_input_stop(){if(GodotAudio.input){const tracks=GodotAudio.input["mediaStream"]["getTracks"]();for(let i=0;i=size){const high=size-wpos;wbuf.set(buffer.subarray(wpos,size));pending_samples-=high;wpos=0}if(pending_samples>0){wbuf.set(buffer.subarray(wpos,wpos+pending_samples),tot_sent-pending_samples)}port.postMessage({cmd:"chunk",data:wbuf.subarray(0,tot_sent)});wpos+=pending_samples;pending_samples=0}this.receive=function(recv_buf){const buffer=GodotRuntime.heapSub(HEAPF32,p_in_buf,p_in_size);const from=rpos;let to_write=recv_buf.length;let high=0;if(rpos+to_write>=p_in_size){high=p_in_size-rpos;buffer.set(recv_buf.subarray(0,high),rpos);to_write-=high;rpos=0}if(to_write){buffer.set(recv_buf.subarray(high,to_write),rpos)}in_callback(from,recv_buf.length);rpos+=to_write};this.consumed=function(size,port){pending_samples+=size;send(port)}}GodotAudioWorklet.ring_buffer=new RingBuffer;GodotAudioWorklet.promise.then(function(){const node=GodotAudioWorklet.worklet;const buffer=GodotRuntime.heapSlice(HEAPF32,p_out_buf,p_out_size);node.connect(GodotAudio.ctx.destination);node.port.postMessage({cmd:"start_nothreads",data:[buffer,p_in_size]});node.port.onmessage=function(event){if(!GodotAudioWorklet.worklet){return}if(event.data["cmd"]==="read"){const read=event.data["data"];GodotAudioWorklet.ring_buffer.consumed(read,GodotAudioWorklet.worklet.port)}else if(event.data["cmd"]==="input"){const buf=event.data["data"];if(buf.length>p_in_size){GodotRuntime.error("Input chunk is too big");return}GodotAudioWorklet.ring_buffer.receive(buf)}else{GodotRuntime.error(event.data)}}})},get_node:function(){return GodotAudioWorklet.worklet},close:function(){return new Promise(function(resolve,reject){if(GodotAudioWorklet.promise===null){return}const p=GodotAudioWorklet.promise;p.then(function(){GodotAudioWorklet.worklet.port.postMessage({cmd:"stop",data:null});GodotAudioWorklet.worklet.disconnect();GodotAudioWorklet.worklet.port.onmessage=null;GodotAudioWorklet.worklet=null;GodotAudioWorklet.promise=null;resolve()}).catch(function(err){GodotRuntime.error(err)})})}};function _godot_audio_worklet_create(channels){try{GodotAudioWorklet.create(channels)}catch(e){GodotRuntime.error("Error starting AudioDriverWorklet",e);return 1}return 0}function _godot_audio_worklet_start_no_threads(p_out_buf,p_out_size,p_out_callback,p_in_buf,p_in_size,p_in_callback){const out_callback=GodotRuntime.get_func(p_out_callback);const in_callback=GodotRuntime.get_func(p_in_callback);GodotAudioWorklet.start_no_threads(p_out_buf,p_out_size,out_callback,p_in_buf,p_in_size,in_callback)}function _godot_js_config_canvas_id_get(p_ptr,p_ptr_max){GodotRuntime.stringToHeap(`#${GodotConfig.canvas.id}`,p_ptr,p_ptr_max)}function _godot_js_config_locale_get(p_ptr,p_ptr_max){GodotRuntime.stringToHeap(GodotConfig.locale,p_ptr,p_ptr_max)}var GodotDisplayCursor={shape:"default",visible:true,cursors:{},set_style:function(style){GodotConfig.canvas.style.cursor=style},set_shape:function(shape){GodotDisplayCursor.shape=shape;let css=shape;if(shape in GodotDisplayCursor.cursors){const c=GodotDisplayCursor.cursors[shape];css=`url("${c.url}") ${c.x} ${c.y}, default`}if(GodotDisplayCursor.visible){GodotDisplayCursor.set_style(css)}},clear:function(){GodotDisplayCursor.set_style("");GodotDisplayCursor.shape="default";GodotDisplayCursor.visible=true;Object.keys(GodotDisplayCursor.cursors).forEach(function(key){URL.revokeObjectURL(GodotDisplayCursor.cursors[key]);delete GodotDisplayCursor.cursors[key]})},lockPointer:function(){const canvas=GodotConfig.canvas;if(canvas.requestPointerLock){canvas.requestPointerLock()}},releasePointer:function(){if(document.exitPointerLock){document.exitPointerLock()}},isPointerLocked:function(){return document.pointerLockElement===GodotConfig.canvas}};var GodotEventListeners={handlers:[],has:function(target,event,method,capture){return GodotEventListeners.handlers.findIndex(function(e){return e.target===target&&e.event===event&&e.method===method&&e.capture===capture})!==-1},add:function(target,event,method,capture){if(GodotEventListeners.has(target,event,method,capture)){return}function Handler(p_target,p_event,p_method,p_capture){this.target=p_target;this.event=p_event;this.method=p_method;this.capture=p_capture}GodotEventListeners.handlers.push(new Handler(target,event,method,capture));target.addEventListener(event,method,capture)},clear:function(){GodotEventListeners.handlers.forEach(function(h){h.target.removeEventListener(h.event,h.method,h.capture)});GodotEventListeners.handlers.length=0}};var _emscripten_webgl_do_get_current_context=()=>GL.currentContext?GL.currentContext.handle:0;var _emscripten_webgl_get_current_context=_emscripten_webgl_do_get_current_context;var GodotDisplayScreen={desired_size:[0,0],hidpi:true,getPixelRatio:function(){return GodotDisplayScreen.hidpi?window.devicePixelRatio||1:1},isFullscreen:function(){const elem=document.fullscreenElement||document.mozFullscreenElement||document.webkitFullscreenElement||document.msFullscreenElement;if(elem){return elem===GodotConfig.canvas}return document.fullscreen||document.mozFullScreen||document.webkitIsFullscreen},hasFullscreen:function(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled},requestFullscreen:function(){if(!GodotDisplayScreen.hasFullscreen()){return 1}const canvas=GodotConfig.canvas;try{const promise=(canvas.requestFullscreen||canvas.msRequestFullscreen||canvas.mozRequestFullScreen||canvas.mozRequestFullscreen||canvas.webkitRequestFullscreen).call(canvas);if(promise){promise.catch(function(){})}}catch(e){return 1}return 0},exitFullscreen:function(){if(!GodotDisplayScreen.isFullscreen()){return 0}try{const promise=document.exitFullscreen();if(promise){promise.catch(function(){})}}catch(e){return 1}return 0},_updateGL:function(){const gl_context_handle=_emscripten_webgl_get_current_context();const gl=GL.getContext(gl_context_handle);if(gl){GL.resizeOffscreenFramebuffer(gl)}},updateSize:function(){const isFullscreen=GodotDisplayScreen.isFullscreen();const wantsFullWindow=GodotConfig.canvas_resize_policy===2;const noResize=GodotConfig.canvas_resize_policy===0;const dWidth=GodotDisplayScreen.desired_size[0];const dHeight=GodotDisplayScreen.desired_size[1];const canvas=GodotConfig.canvas;let width=dWidth;let height=dHeight;if(noResize){if(canvas.width!==width||canvas.height!==height){GodotDisplayScreen.desired_size=[canvas.width,canvas.height];GodotDisplayScreen._updateGL();return 1}return 0}const scale=GodotDisplayScreen.getPixelRatio();if(isFullscreen||wantsFullWindow){width=window.innerWidth*scale;height=window.innerHeight*scale}const csw=`${width/scale}px`;const csh=`${height/scale}px`;if(canvas.style.width!==csw||canvas.style.height!==csh||canvas.width!==width||canvas.height!==height){canvas.width=width;canvas.height=height;canvas.style.width=csw;canvas.style.height=csh;GodotDisplayScreen._updateGL();return 1}return 0}};var GodotDisplayVK={textinput:null,textarea:null,available:function(){return GodotConfig.virtual_keyboard&&"ontouchstart"in window},init:function(input_cb){function create(what){const elem=document.createElement(what);elem.style.display="none";elem.style.position="absolute";elem.style.zIndex="-1";elem.style.background="transparent";elem.style.padding="0px";elem.style.margin="0px";elem.style.overflow="hidden";elem.style.width="0px";elem.style.height="0px";elem.style.border="0px";elem.style.outline="none";elem.readonly=true;elem.disabled=true;GodotEventListeners.add(elem,"input",function(evt){const c_str=GodotRuntime.allocString(elem.value);input_cb(c_str,elem.selectionEnd);GodotRuntime.free(c_str)},false);GodotEventListeners.add(elem,"blur",function(evt){elem.style.display="none";elem.readonly=true;elem.disabled=true},false);GodotConfig.canvas.insertAdjacentElement("beforebegin",elem);return elem}GodotDisplayVK.textinput=create("input");GodotDisplayVK.textarea=create("textarea");GodotDisplayVK.updateSize()},show:function(text,type,start,end){if(!GodotDisplayVK.textinput||!GodotDisplayVK.textarea){return}if(GodotDisplayVK.textinput.style.display!==""||GodotDisplayVK.textarea.style.display!==""){GodotDisplayVK.hide()}GodotDisplayVK.updateSize();let elem=GodotDisplayVK.textinput;switch(type){case 0:elem.type="text";elem.inputmode="";break;case 1:elem=GodotDisplayVK.textarea;break;case 2:elem.type="text";elem.inputmode="numeric";break;case 3:elem.type="text";elem.inputmode="decimal";break;case 4:elem.type="tel";elem.inputmode="";break;case 5:elem.type="email";elem.inputmode="";break;case 6:elem.type="password";elem.inputmode="";break;case 7:elem.type="url";elem.inputmode="";break;default:elem.type="text";elem.inputmode="";break}elem.readonly=false;elem.disabled=false;elem.value=text;elem.style.display="block";elem.focus();elem.setSelectionRange(start,end)},hide:function(){if(!GodotDisplayVK.textinput||!GodotDisplayVK.textarea){return}[GodotDisplayVK.textinput,GodotDisplayVK.textarea].forEach(function(elem){elem.blur();elem.style.display="none";elem.value=""})},updateSize:function(){if(!GodotDisplayVK.textinput||!GodotDisplayVK.textarea){return}const rect=GodotConfig.canvas.getBoundingClientRect();function update(elem){elem.style.left=`${rect.left}px`;elem.style.top=`${rect.top}px`;elem.style.width=`${rect.width}px`;elem.style.height=`${rect.height}px`}update(GodotDisplayVK.textinput);update(GodotDisplayVK.textarea)},clear:function(){if(GodotDisplayVK.textinput){GodotDisplayVK.textinput.remove();GodotDisplayVK.textinput=null}if(GodotDisplayVK.textarea){GodotDisplayVK.textarea.remove();GodotDisplayVK.textarea=null}}};var GodotDisplay={window_icon:"",getDPI:function(){const dpi=Math.round(window.devicePixelRatio*96);return dpi>=96?dpi:96}};function _godot_js_display_alert(p_text){window.alert(GodotRuntime.parseString(p_text))}function _godot_js_display_canvas_focus(){GodotConfig.canvas.focus()}function _godot_js_display_canvas_is_focused(){return document.activeElement===GodotConfig.canvas}function _godot_js_display_clipboard_get(callback){const func=GodotRuntime.get_func(callback);try{navigator.clipboard.readText().then(function(result){const ptr=GodotRuntime.allocString(result);func(ptr);GodotRuntime.free(ptr)}).catch(function(e){})}catch(e){}}function _godot_js_display_clipboard_set(p_text){const text=GodotRuntime.parseString(p_text);if(!navigator.clipboard||!navigator.clipboard.writeText){return 1}navigator.clipboard.writeText(text).catch(function(e){GodotRuntime.error("Setting OS clipboard is only possible from an input callback for the Web platform. Exception:",e)});return 0}function _godot_js_display_cursor_is_hidden(){return!GodotDisplayCursor.visible}function _godot_js_display_cursor_is_locked(){return GodotDisplayCursor.isPointerLocked()?1:0}function _godot_js_display_cursor_lock_set(p_lock){if(p_lock){GodotDisplayCursor.lockPointer()}else{GodotDisplayCursor.releasePointer()}}function _godot_js_display_cursor_set_custom_shape(p_shape,p_ptr,p_len,p_hotspot_x,p_hotspot_y){const shape=GodotRuntime.parseString(p_shape);const old_shape=GodotDisplayCursor.cursors[shape];if(p_len>0){const png=new Blob([GodotRuntime.heapSlice(HEAPU8,p_ptr,p_len)],{type:"image/png"});const url=URL.createObjectURL(png);GodotDisplayCursor.cursors[shape]={url:url,x:p_hotspot_x,y:p_hotspot_y}}else{delete GodotDisplayCursor.cursors[shape]}if(shape===GodotDisplayCursor.shape){GodotDisplayCursor.set_shape(GodotDisplayCursor.shape)}if(old_shape){URL.revokeObjectURL(old_shape.url)}}function _godot_js_display_cursor_set_shape(p_string){GodotDisplayCursor.set_shape(GodotRuntime.parseString(p_string))}function _godot_js_display_cursor_set_visible(p_visible){const visible=p_visible!==0;if(visible===GodotDisplayCursor.visible){return}GodotDisplayCursor.visible=visible;if(visible){GodotDisplayCursor.set_shape(GodotDisplayCursor.shape)}else{GodotDisplayCursor.set_style("none")}}function _godot_js_display_desired_size_set(width,height){GodotDisplayScreen.desired_size=[width,height];GodotDisplayScreen.updateSize()}function _godot_js_display_fullscreen_cb(callback){const canvas=GodotConfig.canvas;const func=GodotRuntime.get_func(callback);function change_cb(evt){if(evt.target===canvas){func(GodotDisplayScreen.isFullscreen())}}GodotEventListeners.add(document,"fullscreenchange",change_cb,false);GodotEventListeners.add(document,"mozfullscreenchange",change_cb,false);GodotEventListeners.add(document,"webkitfullscreenchange",change_cb,false)}function _godot_js_display_fullscreen_exit(){return GodotDisplayScreen.exitFullscreen()}function _godot_js_display_fullscreen_request(){return GodotDisplayScreen.requestFullscreen()}function _godot_js_display_has_webgl(p_version){if(p_version!==1&&p_version!==2){return false}try{return!!document.createElement("canvas").getContext(p_version===2?"webgl2":"webgl")}catch(e){}return false}function _godot_js_display_is_swap_ok_cancel(){const win=["Windows","Win64","Win32","WinCE"];const plat=navigator.platform||"";if(win.indexOf(plat)!==-1){return 1}return 0}function _godot_js_display_notification_cb(callback,p_enter,p_exit,p_in,p_out){const canvas=GodotConfig.canvas;const func=GodotRuntime.get_func(callback);const notif=[p_enter,p_exit,p_in,p_out];["mouseover","mouseleave","focus","blur"].forEach(function(evt_name,idx){GodotEventListeners.add(canvas,evt_name,function(){func(notif[idx])},true)})}function _godot_js_display_pixel_ratio_get(){return GodotDisplayScreen.getPixelRatio()}function _godot_js_display_screen_dpi_get(){return GodotDisplay.getDPI()}function _godot_js_display_screen_size_get(width,height){const scale=GodotDisplayScreen.getPixelRatio();GodotRuntime.setHeapValue(width,window.screen.width*scale,"i32");GodotRuntime.setHeapValue(height,window.screen.height*scale,"i32")}function _godot_js_display_setup_canvas(p_width,p_height,p_fullscreen,p_hidpi){const canvas=GodotConfig.canvas;GodotEventListeners.add(canvas,"contextmenu",function(ev){ev.preventDefault()},false);GodotEventListeners.add(canvas,"webglcontextlost",function(ev){alert("WebGL context lost, please reload the page");ev.preventDefault()},false);GodotDisplayScreen.hidpi=!!p_hidpi;switch(GodotConfig.canvas_resize_policy){case 0:GodotDisplayScreen.desired_size=[canvas.width,canvas.height];break;case 1:GodotDisplayScreen.desired_size=[p_width,p_height];break;default:canvas.style.position="absolute";canvas.style.top=0;canvas.style.left=0;break}GodotDisplayScreen.updateSize();if(p_fullscreen){GodotDisplayScreen.requestFullscreen()}}function _godot_js_display_size_update(){const updated=GodotDisplayScreen.updateSize();if(updated){GodotDisplayVK.updateSize()}return updated}function _godot_js_display_touchscreen_is_available(){return"ontouchstart"in window}function _godot_js_display_tts_available(){return"speechSynthesis"in window}function _godot_js_display_vk_available(){return GodotDisplayVK.available()}function _godot_js_display_vk_cb(p_input_cb){const input_cb=GodotRuntime.get_func(p_input_cb);if(GodotDisplayVK.available()){GodotDisplayVK.init(input_cb)}}function _godot_js_display_vk_hide(){GodotDisplayVK.hide()}function _godot_js_display_vk_show(p_text,p_type,p_start,p_end){const text=GodotRuntime.parseString(p_text);const start=p_start>0?p_start:0;const end=p_end>0?p_end:start;GodotDisplayVK.show(text,p_type,start,end)}function _godot_js_display_window_blur_cb(callback){const func=GodotRuntime.get_func(callback);GodotEventListeners.add(window,"blur",function(){func()},false)}function _godot_js_display_window_icon_set(p_ptr,p_len){let link=document.getElementById("-gd-engine-icon");const old_icon=GodotDisplay.window_icon;if(p_ptr){if(link===null){link=document.createElement("link");link.rel="icon";link.id="-gd-engine-icon";document.head.appendChild(link)}const png=new Blob([GodotRuntime.heapSlice(HEAPU8,p_ptr,p_len)],{type:"image/png"});GodotDisplay.window_icon=URL.createObjectURL(png);link.href=GodotDisplay.window_icon}else{if(link){link.remove()}GodotDisplay.window_icon=null}if(old_icon){URL.revokeObjectURL(old_icon)}}function _godot_js_display_window_size_get(p_width,p_height){GodotRuntime.setHeapValue(p_width,GodotConfig.canvas.width,"i32");GodotRuntime.setHeapValue(p_height,GodotConfig.canvas.height,"i32")}function _godot_js_display_window_title_set(p_data){document.title=GodotRuntime.parseString(p_data)}function _godot_js_eval(p_js,p_use_global_ctx,p_union_ptr,p_byte_arr,p_byte_arr_write,p_callback){const js_code=GodotRuntime.parseString(p_js);let eval_ret=null;try{if(p_use_global_ctx){const global_eval=eval;eval_ret=global_eval(js_code)}else{eval_ret=eval(js_code)}}catch(e){GodotRuntime.error(e)}switch(typeof eval_ret){case"boolean":GodotRuntime.setHeapValue(p_union_ptr,eval_ret,"i32");return 1;case"number":GodotRuntime.setHeapValue(p_union_ptr,eval_ret,"double");return 3;case"string":GodotRuntime.setHeapValue(p_union_ptr,GodotRuntime.allocString(eval_ret),"*");return 4;case"object":if(eval_ret===null){break}if(ArrayBuffer.isView(eval_ret)&&!(eval_ret instanceof Uint8Array)){eval_ret=new Uint8Array(eval_ret.buffer)}else if(eval_ret instanceof ArrayBuffer){eval_ret=new Uint8Array(eval_ret)}if(eval_ret instanceof Uint8Array){const func=GodotRuntime.get_func(p_callback);const bytes_ptr=func(p_byte_arr,p_byte_arr_write,eval_ret.length);HEAPU8.set(eval_ret,bytes_ptr);return 29}break}return 0}var IDHandler={_last_id:0,_references:{},get:function(p_id){return IDHandler._references[p_id]},add:function(p_data){const id=++IDHandler._last_id;IDHandler._references[id]=p_data;return id},remove:function(p_id){delete IDHandler._references[p_id]}};var GodotFetch={onread:function(id,result){const obj=IDHandler.get(id);if(!obj){return}if(result.value){obj.chunks.push(result.value)}obj.reading=false;obj.done=result.done},onresponse:function(id,response){const obj=IDHandler.get(id);if(!obj){return}let chunked=false;response.headers.forEach(function(value,header){const v=value.toLowerCase().trim();const h=header.toLowerCase().trim();if(h==="transfer-encoding"&&v==="chunked"){chunked=true}});obj.status=response.status;obj.response=response;obj.reader=response.body?.getReader();obj.chunked=chunked},onerror:function(id,err){GodotRuntime.error(err);const obj=IDHandler.get(id);if(!obj){return}obj.error=err},create:function(method,url,headers,body){const obj={request:null,response:null,reader:null,error:null,done:false,reading:false,status:0,chunks:[]};const id=IDHandler.add(obj);const init={method:method,headers:headers,body:body};obj.request=fetch(url,init);obj.request.then(GodotFetch.onresponse.bind(null,id)).catch(GodotFetch.onerror.bind(null,id));return id},free:function(id){const obj=IDHandler.get(id);if(!obj){return}IDHandler.remove(id);if(!obj.request){return}obj.request.then(function(response){response.abort()}).catch(function(e){})},read:function(id){const obj=IDHandler.get(id);if(!obj){return}if(obj.reader&&!obj.reading){if(obj.done){obj.reader=null;return}obj.reading=true;obj.reader.read().then(GodotFetch.onread.bind(null,id)).catch(GodotFetch.onerror.bind(null,id))}else if(obj.reader==null&&obj.response.body==null){obj.reading=true;GodotFetch.onread(id,{value:undefined,done:true})}}};function _godot_js_fetch_create(p_method,p_url,p_headers,p_headers_size,p_body,p_body_size){const method=GodotRuntime.parseString(p_method);const url=GodotRuntime.parseString(p_url);const headers=GodotRuntime.parseStringArray(p_headers,p_headers_size);const body=p_body_size?GodotRuntime.heapSlice(HEAP8,p_body,p_body_size):null;return GodotFetch.create(method,url,headers.map(function(hv){const idx=hv.indexOf(":");if(idx<=0){return[]}return[hv.slice(0,idx).trim(),hv.slice(idx+1).trim()]}).filter(function(v){return v.length===2}),body)}function _godot_js_fetch_free(id){GodotFetch.free(id)}function _godot_js_fetch_http_status_get(p_id){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return 0}return obj.status}function _godot_js_fetch_is_chunked(p_id){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return-1}return obj.chunked?1:0}function _godot_js_fetch_read_chunk(p_id,p_buf,p_buf_size){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return 0}let to_read=p_buf_size;const chunks=obj.chunks;while(to_read&&chunks.length){const chunk=obj.chunks[0];if(chunk.length>to_read){GodotRuntime.heapCopy(HEAP8,chunk.slice(0,to_read),p_buf);chunks[0]=chunk.slice(to_read);to_read=0}else{GodotRuntime.heapCopy(HEAP8,chunk,p_buf);to_read-=chunk.length;chunks.pop()}}if(!chunks.length){GodotFetch.read(p_id)}return p_buf_size-to_read}function _godot_js_fetch_read_headers(p_id,p_parse_cb,p_ref){const obj=IDHandler.get(p_id);if(!obj||!obj.response){return 1}const cb=GodotRuntime.get_func(p_parse_cb);const arr=[];obj.response.headers.forEach(function(v,h){arr.push(`${h}:${v}`)});const c_ptr=GodotRuntime.allocStringArray(arr);cb(arr.length,c_ptr,p_ref);GodotRuntime.freeStringArray(c_ptr,arr.length);return 0}function _godot_js_fetch_state_get(p_id){const obj=IDHandler.get(p_id);if(!obj){return-1}if(obj.error){return-1}if(!obj.response){return 0}if(obj.reader||obj.response.body==null&&!obj.done){return 1}if(obj.done){return 2}return-1}var GodotInputGamepads={samples:[],get_pads:function(){try{const pads=navigator.getGamepads();if(pads){return pads}return[]}catch(e){return[]}},get_samples:function(){return GodotInputGamepads.samples},get_sample:function(index){const samples=GodotInputGamepads.samples;return index=0){os="Android"}else if(ua.indexOf("Linux")>=0){os="Linux"}else if(ua.indexOf("iPhone")>=0){os="iOS"}else if(ua.indexOf("Macintosh")>=0){os="MacOSX"}else if(ua.indexOf("Windows")>=0){os="Windows"}const id=pad.id;const exp1=/vendor: ([0-9a-f]{4}) product: ([0-9a-f]{4})/i;const exp2=/^([0-9a-f]+)-([0-9a-f]+)-/i;let vendor="";let product="";if(exp1.test(id)){const match=exp1.exec(id);vendor=match[1].padStart(4,"0");product=match[2].padStart(4,"0")}else if(exp2.test(id)){const match=exp2.exec(id);vendor=match[1].padStart(4,"0");product=match[2].padStart(4,"0")}if(!vendor||!product){return`${os}Unknown`}return os+vendor+product}};var GodotInputDragDrop={promises:[],pending_files:[],add_entry:function(entry){if(entry.isDirectory){GodotInputDragDrop.add_dir(entry)}else if(entry.isFile){GodotInputDragDrop.add_file(entry)}else{GodotRuntime.error("Unrecognized entry...",entry)}},add_dir:function(entry){GodotInputDragDrop.promises.push(new Promise(function(resolve,reject){const reader=entry.createReader();reader.readEntries(function(entries){for(let i=0;i{const path=elem["path"];GodotFS.copy_to_fs(DROP+path,elem["data"]);let idx=path.indexOf("/");if(idx===-1){drops.push(DROP+path)}else{const sub=path.substr(0,idx);idx=sub.indexOf("/");if(idx<0&&drops.indexOf(DROP+sub)===-1){drops.push(DROP+sub)}}files.push(DROP+path)});GodotInputDragDrop.promises=[];GodotInputDragDrop.pending_files=[];callback(drops);if(GodotConfig.persistent_drops){GodotOS.atexit(function(resolve,reject){GodotInputDragDrop.remove_drop(files,DROP);resolve()})}else{GodotInputDragDrop.remove_drop(files,DROP)}})},remove_drop:function(files,drop_path){const dirs=[drop_path.substr(0,drop_path.length-1)];files.forEach(function(file){FS.unlink(file);let dir=file.replace(drop_path,"");let idx=dir.lastIndexOf("/");while(idx>0){dir=dir.substr(0,idx);if(dirs.indexOf(drop_path+dir)===-1){dirs.push(drop_path+dir)}idx=dir.lastIndexOf("/")}});dirs.sort(function(a,b){const al=(a.match(/\//g)||[]).length;const bl=(b.match(/\//g)||[]).length;if(al>bl){return-1}else if(al-1){clearFocusTimerInterval()}if(GodotIME.ime==null){return}GodotIME.active=active;if(active){GodotIME.ime.style.display="block";GodotIME.focusTimerIntervalId=setInterval(focusTimer,100)}else{GodotIME.ime.style.display="none";GodotConfig.canvas.focus()}},ime_position:function(x,y){if(GodotIME.ime==null){return}const canvas=GodotConfig.canvas;const rect=canvas.getBoundingClientRect();const rw=canvas.width/rect.width;const rh=canvas.height/rect.height;const clx=x/rw+rect.x;const cly=y/rh+rect.y;GodotIME.ime.style.left=`${clx}px`;GodotIME.ime.style.top=`${cly}px`},init:function(ime_cb,key_cb,code,key){function key_event_cb(pressed,evt){const modifiers=GodotIME.getModifiers(evt);GodotRuntime.stringToHeap(evt.code,code,32);GodotRuntime.stringToHeap(evt.key,key,32);key_cb(pressed,evt.repeat,modifiers);evt.preventDefault()}function ime_event_cb(event){if(GodotIME.ime==null){return}switch(event.type){case"compositionstart":ime_cb(0,null);GodotIME.ime.innerHTML="";break;case"compositionupdate":{const ptr=GodotRuntime.allocString(event.data);ime_cb(1,ptr);GodotRuntime.free(ptr)}break;case"compositionend":{const ptr=GodotRuntime.allocString(event.data);ime_cb(2,ptr);GodotRuntime.free(ptr);GodotIME.ime.innerHTML=""}break;default:}}const ime=document.createElement("div");ime.className="ime";ime.style.background="none";ime.style.opacity=0;ime.style.position="fixed";ime.style.textAlign="left";ime.style.fontSize="1px";ime.style.left="0px";ime.style.top="0px";ime.style.width="100%";ime.style.height="40px";ime.style.pointerEvents="none";ime.style.display="none";ime.contentEditable="true";GodotEventListeners.add(ime,"compositionstart",ime_event_cb,false);GodotEventListeners.add(ime,"compositionupdate",ime_event_cb,false);GodotEventListeners.add(ime,"compositionend",ime_event_cb,false);GodotEventListeners.add(ime,"keydown",key_event_cb.bind(null,1),false);GodotEventListeners.add(ime,"keyup",key_event_cb.bind(null,0),false);ime.onblur=function(){this.style.display="none";GodotConfig.canvas.focus();GodotIME.active=false};GodotConfig.canvas.parentElement.appendChild(ime);GodotIME.ime=ime},clear:function(){if(GodotIME.ime==null){return}if(GodotIME.focusTimerIntervalId>-1){clearInterval(GodotIME.focusTimerIntervalId);GodotIME.focusTimerIntervalId=-1}GodotIME.ime.remove();GodotIME.ime=null}};var GodotInput={getModifiers:function(evt){return evt.shiftKey+0+(evt.altKey+0<<1)+(evt.ctrlKey+0<<2)+(evt.metaKey+0<<3)},computePosition:function(evt,rect){const canvas=GodotConfig.canvas;const rw=canvas.width/rect.width;const rh=canvas.height/rect.height;const x=(evt.clientX-rect.x)*rw;const y=(evt.clientY-rect.y)*rh;return[x,y]}};function _godot_js_input_drop_files_cb(callback){const func=GodotRuntime.get_func(callback);const dropFiles=function(files){const args=files||[];if(!args.length){return}const argc=args.length;const argv=GodotRuntime.allocStringArray(args);func(argv,argc);GodotRuntime.freeStringArray(argv,argc)};const canvas=GodotConfig.canvas;GodotEventListeners.add(canvas,"dragover",function(ev){ev.preventDefault()},false);GodotEventListeners.add(canvas,"drop",GodotInputDragDrop.handler(dropFiles))}function _godot_js_input_gamepad_cb(change_cb){const onchange=GodotRuntime.get_func(change_cb);GodotInputGamepads.init(onchange)}function _godot_js_input_gamepad_sample(){GodotInputGamepads.sample();return 0}function _godot_js_input_gamepad_sample_count(){return GodotInputGamepads.get_samples().length}function _godot_js_input_gamepad_sample_get(p_index,r_btns,r_btns_num,r_axes,r_axes_num,r_standard){const sample=GodotInputGamepads.get_sample(p_index);if(!sample||!sample.connected){return 1}const btns=sample.buttons;const btns_len=btns.length<16?btns.length:16;for(let i=0;i{const inputs=[...midi.inputs.values()];const inputNames=inputs.map(input=>input.name);const c_ptr=GodotRuntime.allocStringArray(inputNames);setInputNamesCb(inputNames.length,c_ptr);GodotRuntime.freeStringArray(c_ptr,inputNames.length);inputs.forEach((input,i)=>{const abortController=new AbortController;GodotWebMidi.abortControllers.push(abortController);input.addEventListener("midimessage",event=>{const status=event.data[0];const data=event.data.slice(1);const size=data.length;if(size>dataBufferLen){throw new Error(`data too big ${size} > ${dataBufferLen}`)}HEAPU8.set(data,pDataBuffer);onMidiMessageCb(i,status,pDataBuffer,data.length)},{signal:abortController.signal})})});return 0}var GodotWebSocket={_onopen:function(p_id,callback,event){const ref=IDHandler.get(p_id);if(!ref){return}const c_str=GodotRuntime.allocString(ref.protocol);callback(c_str);GodotRuntime.free(c_str)},_onmessage:function(p_id,callback,event){const ref=IDHandler.get(p_id);if(!ref){return}let buffer;let is_string=0;if(event.data instanceof ArrayBuffer){buffer=new Uint8Array(event.data)}else if(event.data instanceof Blob){GodotRuntime.error("Blob type not supported");return}else if(typeof event.data==="string"){is_string=1;const enc=new TextEncoder("utf-8");buffer=new Uint8Array(enc.encode(event.data))}else{GodotRuntime.error("Unknown message type");return}const len=buffer.length*buffer.BYTES_PER_ELEMENT;const out=GodotRuntime.malloc(len);HEAPU8.set(buffer,out);callback(out,len,is_string);GodotRuntime.free(out)},_onerror:function(p_id,callback,event){const ref=IDHandler.get(p_id);if(!ref){return}callback()},_onclose:function(p_id,callback,event){const ref=IDHandler.get(p_id);if(!ref){return}const c_str=GodotRuntime.allocString(event.reason);callback(event.code,c_str,event.wasClean?1:0);GodotRuntime.free(c_str)},send:function(p_id,p_data){const ref=IDHandler.get(p_id);if(!ref||ref.readyState!==ref.OPEN){return 1}ref.send(p_data);return 0},bufferedAmount:function(p_id){const ref=IDHandler.get(p_id);if(!ref){return 0}return ref.bufferedAmount},create:function(socket,p_on_open,p_on_message,p_on_error,p_on_close){const id=IDHandler.add(socket);socket.onopen=GodotWebSocket._onopen.bind(null,id,p_on_open);socket.onmessage=GodotWebSocket._onmessage.bind(null,id,p_on_message);socket.onerror=GodotWebSocket._onerror.bind(null,id,p_on_error);socket.onclose=GodotWebSocket._onclose.bind(null,id,p_on_close);return id},close:function(p_id,p_code,p_reason){const ref=IDHandler.get(p_id);if(ref&&ref.readyState=Number.MIN_SAFE_INTEGER&&heap_value<=Number.MAX_SAFE_INTEGER?Number(heap_value):heap_value}case 3:return Number(GodotRuntime.getHeapValue(val,"double"));case 4:return GodotRuntime.parseString(GodotRuntime.getHeapValue(val,"*"));case 24:return GodotJSWrapper.get_proxied_value(GodotRuntime.getHeapValue(val,"i64"));default:return undefined}},js2variant:function(p_val,p_exchange){if(p_val===undefined||p_val===null){return 0}const type=typeof p_val;if(type==="boolean"){GodotRuntime.setHeapValue(p_exchange,p_val,"i64");return 1}else if(type==="number"){if(Number.isInteger(p_val)){GodotRuntime.setHeapValue(p_exchange,p_val,"i64");return 2}GodotRuntime.setHeapValue(p_exchange,p_val,"double");return 3}else if(type==="bigint"){GodotRuntime.setHeapValue(p_exchange,p_val,"i64");return 2}else if(type==="string"){const c_str=GodotRuntime.allocString(p_val);GodotRuntime.setHeapValue(p_exchange,c_str,"*");return 4}const id=GodotJSWrapper.get_proxied(p_val);GodotRuntime.setHeapValue(p_exchange,id,"i64");return 24},isBuffer:function(obj){return obj instanceof ArrayBuffer||ArrayBuffer.isView(obj)}};function _godot_js_wrapper_create_cb(p_ref,p_func){const func=GodotRuntime.get_func(p_func);let id=0;const cb=function(){if(!GodotJSWrapper.get_proxied_value(id)){return undefined}GodotJSWrapper.cb_ret=null;const args=Array.from(arguments);const argsProxy=new GodotJSWrapper.MyProxy(args);func(p_ref,argsProxy.get_id(),args.length);argsProxy.unref();const ret=GodotJSWrapper.cb_ret;GodotJSWrapper.cb_ret=null;return ret};id=GodotJSWrapper.get_proxied(cb);return id}function _godot_js_wrapper_create_object(p_object,p_args,p_argc,p_convert_callback,p_exchange,p_lock,p_free_lock_callback){const name=GodotRuntime.parseString(p_object);if(typeof window[name]==="undefined"){return-1}const convert=GodotRuntime.get_func(p_convert_callback);const freeLock=GodotRuntime.get_func(p_free_lock_callback);const args=new Array(p_argc);for(let i=0;i{if(GodotWebXR.session&&GodotWebXR.space){const onFrame=function(time,frame){GodotWebXR.frame=frame;GodotWebXR.pose=frame.getViewerPose(GodotWebXR.space);callback(time);GodotWebXR.frame=null;GodotWebXR.pose=null};GodotWebXR.session.requestAnimationFrame(onFrame)}else{GodotWebXR.orig_requestAnimationFrame(callback)}},monkeyPatchRequestAnimationFrame:enable=>{if(GodotWebXR.orig_requestAnimationFrame===null){GodotWebXR.orig_requestAnimationFrame=Browser.requestAnimationFrame}Browser.requestAnimationFrame=enable?GodotWebXR.requestAnimationFrame:GodotWebXR.orig_requestAnimationFrame},pauseResumeMainLoop:()=>{Browser.mainLoop.pause();runtimeKeepalivePush();window.setTimeout(function(){runtimeKeepalivePop();Browser.mainLoop.resume()},0)},getLayer:()=>{const new_view_count=GodotWebXR.pose?GodotWebXR.pose.views.length:1;let layer=GodotWebXR.layer;if(layer&&GodotWebXR.view_count===new_view_count){return layer}if(!GodotWebXR.session||!GodotWebXR.gl_binding){return null}const gl=GodotWebXR.gl;layer=GodotWebXR.gl_binding.createProjectionLayer({textureType:new_view_count>1?"texture-array":"texture",colorFormat:gl.RGBA8,depthFormat:gl.DEPTH_COMPONENT24});GodotWebXR.session.updateRenderState({layers:[layer]});GodotWebXR.layer=layer;GodotWebXR.view_count=new_view_count;return layer},getSubImage:()=>{if(!GodotWebXR.pose){return null}const layer=GodotWebXR.getLayer();if(layer===null){return null}return GodotWebXR.gl_binding.getViewSubImage(layer,GodotWebXR.pose.views[0])},getTextureId:texture=>{if(texture.name!==undefined){return texture.name}const id=GL.getNewId(GL.textures);texture.name=id;GL.textures[id]=texture;return id},addInputSource:input_source=>{let name=-1;if(input_source.targetRayMode==="tracked-pointer"&&input_source.handedness==="left"){name=0}else if(input_source.targetRayMode==="tracked-pointer"&&input_source.handedness==="right"){name=1}else{for(let i=2;i<16;i++){if(!GodotWebXR.input_sources[i]){name=i;break}}}if(name>=0){GodotWebXR.input_sources[name]=input_source;input_source.name=name;if(input_source.targetRayMode==="screen"){let touch_index=-1;for(let i=0;i<5;i++){if(!GodotWebXR.touches[i]){touch_index=i;break}}if(touch_index>=0){GodotWebXR.touches[touch_index]=input_source;input_source.touch_index=touch_index}}}return name},removeInputSource:input_source=>{if(input_source.name!==undefined){const name=input_source.name;if(name>=0&&name<16){GodotWebXR.input_sources[name]=null}if(input_source.touch_index!==undefined){const touch_index=input_source.touch_index;if(touch_index>=0&&touch_index<5){GodotWebXR.touches[touch_index]=null}}return name}return-1},getInputSourceId:input_source=>{if(input_source!==undefined){return input_source.name}return-1},getTouchIndex:input_source=>{if(input_source.touch_index!==undefined){return input_source.touch_index}return-1}};function _godot_webxr_get_bounds_geometry(r_points){if(!GodotWebXR.space||!GodotWebXR.space.boundsGeometry){return 0}const point_count=GodotWebXR.space.boundsGeometry.length;if(point_count===0){return 0}const buf=GodotRuntime.malloc(point_count*3*4);for(let i=0;i=0){matrix=views[p_view].transform.matrix}else{matrix=GodotWebXR.pose.transform.matrix}for(let i=0;i<16;i++){GodotRuntime.setHeapValue(r_transform+i*4,matrix[i],"float")}return true}function _godot_webxr_get_velocity_texture(){const subimage=GodotWebXR.getSubImage();if(subimage===null){return 0}if(!subimage.motionVectorTexture){return 0}return GodotWebXR.getTextureId(subimage.motionVectorTexture)}function _godot_webxr_get_view_count(){if(!GodotWebXR.session||!GodotWebXR.pose){return 1}const view_count=GodotWebXR.pose.views.length;return view_count>0?view_count:1}function _godot_webxr_get_visibility_state(){if(!GodotWebXR.session||!GodotWebXR.session.visibilityState){return 0}return GodotRuntime.allocString(GodotWebXR.session.visibilityState)}var _godot_webxr_initialize=function(p_session_mode,p_required_features,p_optional_features,p_requested_reference_spaces,p_on_session_started,p_on_session_ended,p_on_session_failed,p_on_input_event,p_on_simple_event){GodotWebXR.monkeyPatchRequestAnimationFrame(true);const session_mode=GodotRuntime.parseString(p_session_mode);const required_features=GodotRuntime.parseString(p_required_features).split(",").map(s=>s.trim()).filter(s=>s!=="");const optional_features=GodotRuntime.parseString(p_optional_features).split(",").map(s=>s.trim()).filter(s=>s!=="");const requested_reference_space_types=GodotRuntime.parseString(p_requested_reference_spaces).split(",").map(s=>s.trim());const onstarted=GodotRuntime.get_func(p_on_session_started);const onended=GodotRuntime.get_func(p_on_session_ended);const onfailed=GodotRuntime.get_func(p_on_session_failed);const oninputevent=GodotRuntime.get_func(p_on_input_event);const onsimpleevent=GodotRuntime.get_func(p_on_simple_event);const session_init={};if(required_features.length>0){session_init["requiredFeatures"]=required_features}if(optional_features.length>0){session_init["optionalFeatures"]=optional_features}navigator.xr.requestSession(session_mode,session_init).then(function(session){GodotWebXR.session=session;session.addEventListener("end",function(evt){onended()});session.addEventListener("inputsourceschange",function(evt){evt.added.forEach(GodotWebXR.addInputSource);evt.removed.forEach(GodotWebXR.removeInputSource)});["selectstart","selectend","squeezestart","squeezeend"].forEach((input_event,index)=>{session.addEventListener(input_event,function(evt){GodotWebXR.frame=evt.frame;oninputevent(index,GodotWebXR.getInputSourceId(evt.inputSource));GodotWebXR.frame=null})});session.addEventListener("visibilitychange",function(evt){const c_str=GodotRuntime.allocString("visibility_state_changed");onsimpleevent(c_str);GodotRuntime.free(c_str)});GodotWebXR.onsimpleevent=onsimpleevent;const gl_context_handle=_emscripten_webgl_get_current_context();const gl=GL.getContext(gl_context_handle).GLctx;GodotWebXR.gl=gl;gl.makeXRCompatible().then(function(){GodotWebXR.gl_binding=new XRWebGLBinding(session,gl);GodotWebXR.getLayer();function onReferenceSpaceSuccess(reference_space,reference_space_type){GodotWebXR.space=reference_space;reference_space.onreset=function(evt){const c_str=GodotRuntime.allocString("reference_space_reset");onsimpleevent(c_str);GodotRuntime.free(c_str)};GodotWebXR.pauseResumeMainLoop();window.setTimeout(function(){const reference_space_c_str=GodotRuntime.allocString(reference_space_type);const enabled_features="enabledFeatures"in session?Array.from(session.enabledFeatures):[];const enabled_features_c_str=GodotRuntime.allocString(enabled_features.join(","));const environment_blend_mode="environmentBlendMode"in session?session.environmentBlendMode:"";const environment_blend_mode_c_str=GodotRuntime.allocString(environment_blend_mode);onstarted(reference_space_c_str,enabled_features_c_str,environment_blend_mode_c_str);GodotRuntime.free(reference_space_c_str);GodotRuntime.free(enabled_features_c_str);GodotRuntime.free(environment_blend_mode_c_str)},0)}function requestReferenceSpace(){const reference_space_type=requested_reference_space_types.shift();session.requestReferenceSpace(reference_space_type).then(refSpace=>{onReferenceSpaceSuccess(refSpace,reference_space_type)}).catch(()=>{if(requested_reference_space_types.length===0){const c_str=GodotRuntime.allocString("Unable to get any of the requested reference space types");onfailed(c_str);GodotRuntime.free(c_str)}else{requestReferenceSpace()}})}requestReferenceSpace()}).catch(function(error){const c_str=GodotRuntime.allocString(`Unable to make WebGL context compatible with WebXR: ${error}`);onfailed(c_str);GodotRuntime.free(c_str)})}).catch(function(error){const c_str=GodotRuntime.allocString(`Unable to start session: ${error}`);onfailed(c_str);GodotRuntime.free(c_str)})};function _godot_webxr_is_session_supported(p_session_mode,p_callback){const session_mode=GodotRuntime.parseString(p_session_mode);const cb=GodotRuntime.get_func(p_callback);if(navigator.xr){navigator.xr.isSessionSupported(session_mode).then(function(supported){const c_str=GodotRuntime.allocString(session_mode);cb(c_str,supported?1:0);GodotRuntime.free(c_str)})}else{const c_str=GodotRuntime.allocString(session_mode);cb(c_str,0);GodotRuntime.free(c_str)}}function _godot_webxr_is_supported(){return!!navigator.xr}var _godot_webxr_uninitialize=function(){if(GodotWebXR.session){GodotWebXR.session.end().catch(e=>{})}GodotWebXR.session=null;GodotWebXR.gl_binding=null;GodotWebXR.layer=null;GodotWebXR.space=null;GodotWebXR.frame=null;GodotWebXR.pose=null;GodotWebXR.view_count=1;GodotWebXR.input_sources=new Array(16);GodotWebXR.touches=new Array(5);GodotWebXR.onsimpleevent=null;GodotWebXR.monkeyPatchRequestAnimationFrame(false);GodotWebXR.pauseResumeMainLoop()};function _godot_webxr_update_input_source(p_input_source_id,r_target_pose,r_target_ray_mode,r_touch_index,r_has_grip_pose,r_grip_pose,r_has_standard_mapping,r_button_count,r_buttons,r_axes_count,r_axes,r_has_hand_data,r_hand_joints,r_hand_radii){if(!GodotWebXR.session||!GodotWebXR.frame){return 0}if(p_input_source_id<0||p_input_source_id>=GodotWebXR.input_sources.length||!GodotWebXR.input_sources[p_input_source_id]){return false}const input_source=GodotWebXR.input_sources[p_input_source_id];const frame=GodotWebXR.frame;const space=GodotWebXR.space;const target_pose=frame.getPose(input_source.targetRaySpace,space);if(!target_pose){return false}const target_pose_matrix=target_pose.transform.matrix;for(let i=0;i<16;i++){GodotRuntime.setHeapValue(r_target_pose+i*4,target_pose_matrix[i],"float")}let target_ray_mode=0;switch(input_source.targetRayMode){case"gaze":target_ray_mode=1;break;case"tracked-pointer":target_ray_mode=2;break;case"screen":target_ray_mode=3;break;default:}GodotRuntime.setHeapValue(r_target_ray_mode,target_ray_mode,"i32");GodotRuntime.setHeapValue(r_touch_index,GodotWebXR.getTouchIndex(input_source),"i32");let has_grip_pose=false;if(input_source.gripSpace){const grip_pose=frame.getPose(input_source.gripSpace,space);if(grip_pose){const grip_pose_matrix=grip_pose.transform.matrix;for(let i=0;i<16;i++){GodotRuntime.setHeapValue(r_grip_pose+i*4,grip_pose_matrix[i],"float")}has_grip_pose=true}}GodotRuntime.setHeapValue(r_has_grip_pose,has_grip_pose?1:0,"i32");let has_standard_mapping=false;let button_count=0;let axes_count=0;if(input_source.gamepad){if(input_source.gamepad.mapping==="xr-standard"){has_standard_mapping=true}button_count=Math.min(input_source.gamepad.buttons.length,10);for(let i=0;i{const c_str=GodotRuntime.allocString("display_refresh_rate_changed");GodotWebXR.onsimpleevent(c_str);GodotRuntime.free(c_str)})}var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["requestFullscreen"]=Browser.requestFullscreen;Module["requestAnimationFrame"]=Browser.requestAnimationFrame;Module["setCanvasSize"]=Browser.setCanvasSize;Module["pauseMainLoop"]=Browser.mainLoop.pause;Module["resumeMainLoop"]=Browser.mainLoop.resume;Module["getUserMedia"]=Browser.getUserMedia;Module["createContext"]=Browser.createContext;var preloadedImages={};var preloadedAudios={};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<=288;++i){miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i)}var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<=288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i)}Module["request_quit"]=function(){GodotOS.request_quit()};Module["onExit"]=GodotOS.cleanup;GodotOS._fs_sync_promise=Promise.resolve();Module["initConfig"]=GodotConfig.init_config;Module["initFS"]=GodotFS.init;Module["copyToFS"]=GodotFS.copy_to_fs;GodotOS.atexit(function(resolve,reject){GodotDisplayCursor.clear();resolve()});GodotOS.atexit(function(resolve,reject){GodotEventListeners.clear();resolve()});GodotOS.atexit(function(resolve,reject){GodotDisplayVK.clear();resolve()});GodotOS.atexit(function(resolve,reject){GodotIME.clear();resolve()});GodotJSWrapper.proxies=new Map;var wasmImports={Kc:___call_sighandler,dd:___syscall_chdir,Ya:___syscall_chmod,ed:___syscall_faccessat,ad:___syscall_fchmod,V:___syscall_fcntl64,$c:___syscall_fstat64,Xc:___syscall_ftruncate64,Vc:___syscall_getcwd,Jc:___syscall_getdents64,Ba:___syscall_ioctl,Zc:___syscall_lstat64,Rc:___syscall_mkdirat,Qc:___syscall_mknodat,Yc:___syscall_newfstatat,Xa:___syscall_openat,Ic:___syscall_readlinkat,Hc:___syscall_renameat,Ua:___syscall_rmdir,_c:___syscall_stat64,Gc:___syscall_statfs64,Fc:___syscall_symlink,Va:___syscall_unlinkat,fd:__abort_js,bd:__emscripten_get_now_is_monotonic,Nc:__emscripten_runtime_keepalive_clear,Oc:__gmtime_js,Pc:__localtime_js,gd:__tzset_js,Pe:_emscripten_cancel_main_loop,za:_emscripten_date_now,Qe:_emscripten_force_exit,Ec:_emscripten_get_heap_max,ia:_emscripten_get_now,Cc:_emscripten_resize_heap,Dc:_emscripten_set_canvas_element_size,Ma:_emscripten_set_main_loop,Qa:_emscripten_webgl_commit_frame,_b:_emscripten_webgl_create_context,Ib:_emscripten_webgl_destroy_context,Yb:_emscripten_webgl_enable_extension,td:_emscripten_webgl_get_supported_extensions,Zb:_emscripten_webgl_make_context_current,Tc:_environ_get,Uc:_environ_sizes_get,La:_exit,na:_fd_close,Wa:_fd_fdstat_get,Za:_fd_read,Sc:_fd_seek,Aa:_fd_write,i:_glActiveTexture,cb:_glAttachShader,ea:_glBeginTransformFeedback,b:_glBindBuffer,y:_glBindBufferBase,Ea:_glBindBufferRange,d:_glBindFramebuffer,ta:_glBindRenderbuffer,c:_glBindTexture,e:_glBindVertexArray,Md:_glBlendColor,J:_glBlendEquation,ka:_glBlendFunc,D:_glBlendFuncSeparate,ha:_glBlitFramebuffer,h:_glBufferData,R:_glBufferSubData,P:_glCheckFramebufferStatus,G:_glClear,Ga:_glClearBufferfv,Q:_glClearColor,aa:_glClearDepthf,Y:_glColorMask,eb:_glCompileShader,ld:_glCompressedTexImage2D,nd:_glCompressedTexImage3D,md:_glCompressedTexSubImage3D,pd:_glCopyBufferSubData,yd:_glCreateProgram,gb:_glCreateShader,ma:_glCullFace,o:_glDeleteBuffers,v:_glDeleteFramebuffers,ga:_glDeleteProgram,jd:_glDeleteQueries,oa:_glDeleteRenderbuffers,X:_glDeleteShader,lb:_glDeleteSync,l:_glDeleteTextures,L:_glDeleteVertexArrays,U:_glDepthFunc,w:_glDepthMask,g:_glDisable,p:_glDisableVertexAttribArray,F:_glDrawArrays,Z:_glDrawArraysInstanced,la:_glDrawBuffers,M:_glDrawElements,N:_glDrawElementsInstanced,x:_glEnable,f:_glEnableVertexAttribArray,da:_glEndTransformFeedback,kb:_glFenceSync,Ed:_glFinish,Ja:_glFramebufferRenderbuffer,t:_glFramebufferTexture2D,$:_glFramebufferTextureLayer,ib:_glFrontFace,m:_glGenBuffers,B:_glGenFramebuffers,kd:_glGenQueries,Ka:_glGenRenderbuffers,r:_glGenTextures,K:_glGenVertexArrays,id:_glGenerateMipmap,qd:_glGetFloatv,sd:_glGetInteger64v,fa:_glGetIntegerv,ud:_glGetProgramInfoLog,bb:_glGetProgramiv,db:_glGetShaderInfoLog,ra:_glGetShaderiv,_:_glGetString,Od:_glGetSynciv,Bd:_glGetUniformBlockIndex,Fa:_glGetUniformLocation,vd:_glLinkProgram,Ca:_glPixelStorei,jb:_glReadBuffer,Da:_glReadPixels,Hd:_glRenderbufferStorage,$a:_glRenderbufferStorageMultisample,va:_glScissor,fb:_glShaderSource,q:_glTexImage2D,T:_glTexImage3D,Ia:_glTexParameterf,a:_glTexParameteri,Ha:_glTexStorage2D,_a:_glTexSubImage3D,wd:_glTransformFeedbackVaryings,k:_glUniform1f,E:_glUniform1i,zd:_glUniform1iv,u:_glUniform1ui,sa:_glUniform1uiv,ba:_glUniform2f,H:_glUniform2fv,ja:_glUniform2iv,s:_glUniform3fv,O:_glUniform4f,C:_glUniform4fv,Ad:_glUniformBlockBinding,hb:_glUniformMatrix3fv,I:_glUniformMatrix4fv,n:_glUseProgram,ua:_glVertexAttrib4f,z:_glVertexAttribDivisor,ca:_glVertexAttribI4ui,S:_glVertexAttribIPointer,j:_glVertexAttribPointer,A:_glViewport,Ce:_godot_audio_get_sample_playback_position,rd:_godot_audio_has_script_processor,Dd:_godot_audio_has_worklet,ff:_godot_audio_init,vc:_godot_audio_input_start,oc:_godot_audio_input_stop,gf:_godot_audio_is_available,pa:_godot_audio_resume,Nd:_godot_audio_sample_bus_add,Ld:_godot_audio_sample_bus_move,Td:_godot_audio_sample_bus_remove,ae:_godot_audio_sample_bus_set_count,Fd:_godot_audio_sample_bus_set_mute,Jd:_godot_audio_sample_bus_set_send,Gd:_godot_audio_sample_bus_set_solo,Id:_godot_audio_sample_bus_set_volume_db,Ne:_godot_audio_sample_is_active,Vb:_godot_audio_sample_register_stream,Kd:_godot_audio_sample_set_finished_callback,We:_godot_audio_sample_set_pause,ke:_godot_audio_sample_set_volumes_linear,Cb:_godot_audio_sample_start,ef:_godot_audio_sample_stop,ec:_godot_audio_sample_stream_is_registered,Kb:_godot_audio_sample_unregister_stream,te:_godot_audio_sample_update_pitch_scale,od:_godot_audio_script_create,hd:_godot_audio_script_start,Cd:_godot_audio_worklet_create,xd:_godot_audio_worklet_start_no_threads,dc:_godot_js_config_canvas_id_get,Fe:_godot_js_config_locale_get,Oe:_godot_js_display_alert,pc:_godot_js_display_canvas_focus,qc:_godot_js_display_canvas_is_focused,fc:_godot_js_display_clipboard_get,gc:_godot_js_display_clipboard_set,sc:_godot_js_display_cursor_is_hidden,rc:_godot_js_display_cursor_is_locked,xa:_godot_js_display_cursor_lock_set,Ta:_godot_js_display_cursor_set_custom_shape,tc:_godot_js_display_cursor_set_shape,ya:_godot_js_display_cursor_set_visible,Bb:_godot_js_display_desired_size_set,Nb:_godot_js_display_fullscreen_cb,Ab:_godot_js_display_fullscreen_exit,zb:_godot_js_display_fullscreen_request,$b:_godot_js_display_has_webgl,bc:_godot_js_display_is_swap_ok_cancel,Lb:_godot_js_display_notification_cb,Eb:_godot_js_display_pixel_ratio_get,Fb:_godot_js_display_screen_dpi_get,Gb:_godot_js_display_screen_size_get,cc:_godot_js_display_setup_canvas,Mc:_godot_js_display_size_update,nc:_godot_js_display_touchscreen_is_available,Hb:_godot_js_display_tts_available,Pa:_godot_js_display_vk_available,Jb:_godot_js_display_vk_cb,lc:_godot_js_display_vk_hide,mc:_godot_js_display_vk_show,Mb:_godot_js_display_window_blur_cb,Ra:_godot_js_display_window_icon_set,Oa:_godot_js_display_window_size_get,Db:_godot_js_display_window_title_set,Ve:_godot_js_eval,xb:_godot_js_fetch_create,Na:_godot_js_fetch_free,ub:_godot_js_fetch_http_status_get,wb:_godot_js_fetch_is_chunked,vb:_godot_js_fetch_read_chunk,df:_godot_js_fetch_read_headers,wa:_godot_js_fetch_state_get,Qb:_godot_js_input_drop_files_cb,Pb:_godot_js_input_gamepad_cb,yb:_godot_js_input_gamepad_sample,ic:_godot_js_input_gamepad_sample_count,hc:_godot_js_input_gamepad_sample_get,Sb:_godot_js_input_key_cb,Xb:_godot_js_input_mouse_button_cb,Wb:_godot_js_input_mouse_move_cb,Ub:_godot_js_input_mouse_wheel_cb,Rb:_godot_js_input_paste_cb,Tb:_godot_js_input_touch_cb,He:_godot_js_input_vibrate_handheld,Sa:_godot_js_is_ime_focused,Se:_godot_js_os_download_buffer,Le:_godot_js_os_execute,sb:_godot_js_os_finish_async,De:_godot_js_os_fs_is_persistent,Me:_godot_js_os_fs_sync,Je:_godot_js_os_has_feature,Ke:_godot_js_os_hw_concurrency_get,ac:_godot_js_os_request_quit_cb,Ie:_godot_js_os_shell_open,Ee:_godot_js_pwa_cb,Ge:_godot_js_pwa_update,rb:_godot_js_rtc_datachannel_close,se:_godot_js_rtc_datachannel_connect,pe:_godot_js_rtc_datachannel_destroy,ue:_godot_js_rtc_datachannel_get_buffered_amount,ye:_godot_js_rtc_datachannel_id_get,ve:_godot_js_rtc_datachannel_is_negotiated,ze:_godot_js_rtc_datachannel_is_ordered,re:_godot_js_rtc_datachannel_label_get,xe:_godot_js_rtc_datachannel_max_packet_lifetime_get,we:_godot_js_rtc_datachannel_max_retransmits_get,qe:_godot_js_rtc_datachannel_protocol_get,Be:_godot_js_rtc_datachannel_ready_state_get,Ae:_godot_js_rtc_datachannel_send,qb:_godot_js_rtc_pc_close,je:_godot_js_rtc_pc_create,ie:_godot_js_rtc_pc_datachannel_create,pb:_godot_js_rtc_pc_destroy,le:_godot_js_rtc_pc_ice_candidate_add,ne:_godot_js_rtc_pc_local_description_set,oe:_godot_js_rtc_pc_offer_create,me:_godot_js_rtc_pc_remote_description_set,kc:_godot_js_set_ime_active,Ob:_godot_js_set_ime_cb,jc:_godot_js_set_ime_position,zc:_godot_js_tts_get_voices,Ac:_godot_js_tts_is_paused,Bc:_godot_js_tts_is_speaking,xc:_godot_js_tts_pause,wc:_godot_js_tts_resume,yc:_godot_js_tts_speak,uc:_godot_js_tts_stop,Wc:_godot_js_webmidi_close_midi_inputs,cd:_godot_js_webmidi_open_midi_inputs,fe:_godot_js_websocket_buffered_amount,ee:_godot_js_websocket_close,he:_godot_js_websocket_create,ob:_godot_js_websocket_destroy,ge:_godot_js_websocket_send,Ze:_godot_js_wrapper_create_cb,Xe:_godot_js_wrapper_create_object,Ye:_godot_js_wrapper_interface_get,$e:_godot_js_wrapper_object_call,bf:_godot_js_wrapper_object_get,tb:_godot_js_wrapper_object_getvar,Ue:_godot_js_wrapper_object_is_buffer,cf:_godot_js_wrapper_object_set,_e:_godot_js_wrapper_object_set_cb_ret,af:_godot_js_wrapper_object_setvar,Te:_godot_js_wrapper_object_transfer_buffer,Re:_godot_js_wrapper_object_unref,ab:_godot_webgl2_glFramebufferTextureMultisampleMultiviewOVR,W:_godot_webgl2_glFramebufferTextureMultiviewOVR,qa:_godot_webgl2_glGetBufferSubData,be:_godot_webxr_get_bounds_geometry,Sd:_godot_webxr_get_color_texture,Rd:_godot_webxr_get_depth_texture,$d:_godot_webxr_get_frame_rate,Ud:_godot_webxr_get_projection_for_view,Vd:_godot_webxr_get_render_target_size,Zd:_godot_webxr_get_supported_frame_rates,mb:_godot_webxr_get_transform_for_view,Qd:_godot_webxr_get_velocity_texture,nb:_godot_webxr_get_view_count,ce:_godot_webxr_get_visibility_state,Xd:_godot_webxr_initialize,de:_godot_webxr_is_session_supported,Yd:_godot_webxr_is_supported,Wd:_godot_webxr_uninitialize,Pd:_godot_webxr_update_input_source,_d:_godot_webxr_update_target_frame_rate,Lc:_proc_exit};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["jf"])();var _free=a0=>(_free=wasmExports["kf"])(a0);var __Z14godot_web_mainiPPc=Module["__Z14godot_web_mainiPPc"]=(a0,a1)=>(__Z14godot_web_mainiPPc=Module["__Z14godot_web_mainiPPc"]=wasmExports["lf"])(a0,a1);var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["mf"])(a0,a1);var _malloc=a0=>(_malloc=wasmExports["nf"])(a0);var _fflush=a0=>(_fflush=wasmExports["of"])(a0);var __emwebxr_on_input_event=Module["__emwebxr_on_input_event"]=(a0,a1)=>(__emwebxr_on_input_event=Module["__emwebxr_on_input_event"]=wasmExports["pf"])(a0,a1);var __emwebxr_on_simple_event=Module["__emwebxr_on_simple_event"]=a0=>(__emwebxr_on_simple_event=Module["__emwebxr_on_simple_event"]=wasmExports["qf"])(a0);var ___funcs_on_exit=()=>(___funcs_on_exit=wasmExports["sf"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["tf"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["uf"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["vf"])();Module["callMain"]=callMain;Module["cwrap"]=cwrap;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=false;if(Module["noInitialRun"])shouldRunNow=false;run();moduleRtn=readyPromise; + + + return moduleRtn; +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = Godot; +else if (typeof define === 'function' && define['amd']) + define([], () => Godot); + +const Features = { + /** + * Check whether WebGL is available. Optionally, specify a particular version of WebGL to check for. + * + * @param {number=} [majorVersion=1] The major WebGL version to check for. + * @returns {boolean} If the given major version of WebGL is available. + * @function Engine.isWebGLAvailable + */ + isWebGLAvailable: function (majorVersion = 1) { + try { + return !!document.createElement('canvas').getContext(['webgl', 'webgl2'][majorVersion - 1]); + } catch (e) { /* Not available */ } + return false; + }, + + /** + * Check whether the Fetch API available and supports streaming responses. + * + * @returns {boolean} If the Fetch API is available and supports streaming responses. + * @function Engine.isFetchAvailable + */ + isFetchAvailable: function () { + return 'fetch' in window && 'Response' in window && 'body' in window.Response.prototype; + }, + + /** + * Check whether the engine is running in a Secure Context. + * + * @returns {boolean} If the engine is running in a Secure Context. + * @function Engine.isSecureContext + */ + isSecureContext: function () { + return window['isSecureContext'] === true; + }, + + /** + * Check whether the engine is cross origin isolated. + * This value is dependent on Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy headers sent by the server. + * + * @returns {boolean} If the engine is running in a Secure Context. + * @function Engine.isSecureContext + */ + isCrossOriginIsolated: function () { + return window['crossOriginIsolated'] === true; + }, + + /** + * Check whether SharedBufferArray is available. + * + * Most browsers require the page to be running in a secure context, and the + * the server to provide specific CORS headers for SharedArrayBuffer to be available. + * + * @returns {boolean} If SharedArrayBuffer is available. + * @function Engine.isSharedArrayBufferAvailable + */ + isSharedArrayBufferAvailable: function () { + return 'SharedArrayBuffer' in window; + }, + + /** + * Check whether the AudioContext supports AudioWorkletNodes. + * + * @returns {boolean} If AudioWorkletNode is available. + * @function Engine.isAudioWorkletAvailable + */ + isAudioWorkletAvailable: function () { + return 'AudioContext' in window && 'audioWorklet' in AudioContext.prototype; + }, + + /** + * Return an array of missing required features (as string). + * + * @returns {Array} A list of human-readable missing features. + * @function Engine.getMissingFeatures + * @param {{threads: (boolean|undefined)}} supportedFeatures + */ + getMissingFeatures: function (supportedFeatures = {}) { + const { + // Quotes are needed for the Closure compiler. + 'threads': supportsThreads = true, + } = supportedFeatures; + + const missing = []; + if (!Features.isWebGLAvailable(2)) { + missing.push('WebGL2 - Check web browser configuration and hardware support'); + } + if (!Features.isFetchAvailable()) { + missing.push('Fetch - Check web browser version'); + } + if (!Features.isSecureContext()) { + missing.push('Secure Context - Check web server configuration (use HTTPS)'); + } + + if (supportsThreads) { + if (!Features.isCrossOriginIsolated()) { + missing.push('Cross-Origin Isolation - Check that the web server configuration sends the correct headers.'); + } + if (!Features.isSharedArrayBufferAvailable()) { + missing.push('SharedArrayBuffer - Check that the web server configuration sends the correct headers.'); + } + } + + // Audio is normally optional since we have a dummy fallback. + return missing; + }, +}; + +const Preloader = /** @constructor */ function () { // eslint-disable-line no-unused-vars + function getTrackedResponse(response, load_status) { + function onloadprogress(reader, controller) { + return reader.read().then(function (result) { + if (load_status.done) { + return Promise.resolve(); + } + if (result.value) { + controller.enqueue(result.value); + load_status.loaded += result.value.length; + } + if (!result.done) { + return onloadprogress(reader, controller); + } + load_status.done = true; + return Promise.resolve(); + }); + } + const reader = response.body.getReader(); + return new Response(new ReadableStream({ + start: function (controller) { + onloadprogress(reader, controller).then(function () { + controller.close(); + }); + }, + }), { headers: response.headers }); + } + + function loadFetch(file, tracker, fileSize, raw) { + tracker[file] = { + total: fileSize || 0, + loaded: 0, + done: false, + }; + return fetch(file).then(function (response) { + if (!response.ok) { + return Promise.reject(new Error(`Failed loading file '${file}'`)); + } + const tr = getTrackedResponse(response, tracker[file]); + if (raw) { + return Promise.resolve(tr); + } + return tr.arrayBuffer(); + }); + } + + function retry(func, attempts = 1) { + function onerror(err) { + if (attempts <= 1) { + return Promise.reject(err); + } + return new Promise(function (resolve, reject) { + setTimeout(function () { + retry(func, attempts - 1).then(resolve).catch(reject); + }, 1000); + }); + } + return func().catch(onerror); + } + + const DOWNLOAD_ATTEMPTS_MAX = 4; + const loadingFiles = {}; + const lastProgress = { loaded: 0, total: 0 }; + let progressFunc = null; + + const animateProgress = function () { + let loaded = 0; + let total = 0; + let totalIsValid = true; + let progressIsFinal = true; + + Object.keys(loadingFiles).forEach(function (file) { + const stat = loadingFiles[file]; + if (!stat.done) { + progressIsFinal = false; + } + if (!totalIsValid || stat.total === 0) { + totalIsValid = false; + total = 0; + } else { + total += stat.total; + } + loaded += stat.loaded; + }); + if (loaded !== lastProgress.loaded || total !== lastProgress.total) { + lastProgress.loaded = loaded; + lastProgress.total = total; + if (typeof progressFunc === 'function') { + progressFunc(loaded, total); + } + } + if (!progressIsFinal) { + requestAnimationFrame(animateProgress); + } + }; + + this.animateProgress = animateProgress; + + this.setProgressFunc = function (callback) { + progressFunc = callback; + }; + + this.loadPromise = function (file, fileSize, raw = false) { + return retry(loadFetch.bind(null, file, loadingFiles, fileSize, raw), DOWNLOAD_ATTEMPTS_MAX); + }; + + this.preloadedFiles = []; + this.preload = function (pathOrBuffer, destPath, fileSize) { + let buffer = null; + if (typeof pathOrBuffer === 'string') { + const me = this; + return this.loadPromise(pathOrBuffer, fileSize).then(function (buf) { + me.preloadedFiles.push({ + path: destPath || pathOrBuffer, + buffer: buf, + }); + return Promise.resolve(); + }); + } else if (pathOrBuffer instanceof ArrayBuffer) { + buffer = new Uint8Array(pathOrBuffer); + } else if (ArrayBuffer.isView(pathOrBuffer)) { + buffer = new Uint8Array(pathOrBuffer.buffer); + } + if (buffer) { + this.preloadedFiles.push({ + path: destPath, + buffer: pathOrBuffer, + }); + return Promise.resolve(); + } + return Promise.reject(new Error('Invalid object for preloading')); + }; +}; + +/** + * An object used to configure the Engine instance based on godot export options, and to override those in custom HTML + * templates if needed. + * + * @header Engine configuration + * @summary The Engine configuration object. This is just a typedef, create it like a regular object, e.g.: + * + * ``const MyConfig = { executable: 'godot', unloadAfterInit: false }`` + * + * @typedef {Object} EngineConfig + */ +const EngineConfig = {}; // eslint-disable-line no-unused-vars + +/** + * @struct + * @constructor + * @ignore + */ +const InternalConfig = function (initConfig) { // eslint-disable-line no-unused-vars + const cfg = /** @lends {InternalConfig.prototype} */ { + /** + * Whether to unload the engine automatically after the instance is initialized. + * + * @memberof EngineConfig + * @default + * @type {boolean} + */ + unloadAfterInit: true, + /** + * The HTML DOM Canvas object to use. + * + * By default, the first canvas element in the document will be used is none is specified. + * + * @memberof EngineConfig + * @default + * @type {?HTMLCanvasElement} + */ + canvas: null, + /** + * The name of the WASM file without the extension. (Set by Godot Editor export process). + * + * @memberof EngineConfig + * @default + * @type {string} + */ + executable: '', + /** + * An alternative name for the game pck to load. The executable name is used otherwise. + * + * @memberof EngineConfig + * @default + * @type {?string} + */ + mainPack: null, + /** + * Specify a language code to select the proper localization for the game. + * + * The browser locale will be used if none is specified. See complete list of + * :ref:`supported locales `. + * + * @memberof EngineConfig + * @type {?string} + * @default + */ + locale: null, + /** + * The canvas resize policy determines how the canvas should be resized by Godot. + * + * ``0`` means Godot won't do any resizing. This is useful if you want to control the canvas size from + * javascript code in your template. + * + * ``1`` means Godot will resize the canvas on start, and when changing window size via engine functions. + * + * ``2`` means Godot will adapt the canvas size to match the whole browser window. + * + * @memberof EngineConfig + * @type {number} + * @default + */ + canvasResizePolicy: 2, + /** + * The arguments to be passed as command line arguments on startup. + * + * See :ref:`command line tutorial `. + * + * **Note**: :js:meth:`startGame ` will always add the ``--main-pack`` argument. + * + * @memberof EngineConfig + * @type {Array} + * @default + */ + args: [], + /** + * When enabled, the game canvas will automatically grab the focus when the engine starts. + * + * @memberof EngineConfig + * @type {boolean} + * @default + */ + focusCanvas: true, + /** + * When enabled, this will turn on experimental virtual keyboard support on mobile. + * + * @memberof EngineConfig + * @type {boolean} + * @default + */ + experimentalVK: false, + /** + * The progressive web app service worker to install. + * @memberof EngineConfig + * @default + * @type {string} + */ + serviceWorker: '', + /** + * @ignore + * @type {Array.} + */ + persistentPaths: ['/userfs'], + /** + * @ignore + * @type {boolean} + */ + persistentDrops: false, + /** + * @ignore + * @type {Array.} + */ + gdextensionLibs: [], + /** + * @ignore + * @type {Array.} + */ + fileSizes: [], + /** + * A callback function for handling Godot's ``OS.execute`` calls. + * + * This is for example used in the Web Editor template to switch between project manager and editor, and for running the game. + * + * @callback EngineConfig.onExecute + * @param {string} path The path that Godot's wants executed. + * @param {Array.} args The arguments of the "command" to execute. + */ + /** + * @ignore + * @type {?function(string, Array.)} + */ + onExecute: null, + /** + * A callback function for being notified when the Godot instance quits. + * + * **Note**: This function will not be called if the engine crashes or become unresponsive. + * + * @callback EngineConfig.onExit + * @param {number} status_code The status code returned by Godot on exit. + */ + /** + * @ignore + * @type {?function(number)} + */ + onExit: null, + /** + * A callback function for displaying download progress. + * + * The function is called once per frame while downloading files, so the usage of ``requestAnimationFrame()`` + * is not necessary. + * + * If the callback function receives a total amount of bytes as 0, this means that it is impossible to calculate. + * Possible reasons include: + * + * - Files are delivered with server-side chunked compression + * - Files are delivered with server-side compression on Chromium + * - Not all file downloads have started yet (usually on servers without multi-threading) + * + * @callback EngineConfig.onProgress + * @param {number} current The current amount of downloaded bytes so far. + * @param {number} total The total amount of bytes to be downloaded. + */ + /** + * @ignore + * @type {?function(number, number)} + */ + onProgress: null, + /** + * A callback function for handling the standard output stream. This method should usually only be used in debug pages. + * + * By default, ``console.log()`` is used. + * + * @callback EngineConfig.onPrint + * @param {...*} [var_args] A variadic number of arguments to be printed. + */ + /** + * @ignore + * @type {?function(...*)} + */ + onPrint: function () { + console.log.apply(console, Array.from(arguments)); // eslint-disable-line no-console + }, + /** + * A callback function for handling the standard error stream. This method should usually only be used in debug pages. + * + * By default, ``console.error()`` is used. + * + * @callback EngineConfig.onPrintError + * @param {...*} [var_args] A variadic number of arguments to be printed as errors. + */ + /** + * @ignore + * @type {?function(...*)} + */ + onPrintError: function (var_args) { + console.error.apply(console, Array.from(arguments)); // eslint-disable-line no-console + }, + }; + + /** + * @ignore + * @struct + * @constructor + * @param {EngineConfig} opts + */ + function Config(opts) { + this.update(opts); + } + + Config.prototype = cfg; + + /** + * @ignore + * @param {EngineConfig} opts + */ + Config.prototype.update = function (opts) { + const config = opts || {}; + // NOTE: We must explicitly pass the default, accessing it via + // the key will fail due to closure compiler renames. + function parse(key, def) { + if (typeof (config[key]) === 'undefined') { + return def; + } + return config[key]; + } + // Module config + this.unloadAfterInit = parse('unloadAfterInit', this.unloadAfterInit); + this.onPrintError = parse('onPrintError', this.onPrintError); + this.onPrint = parse('onPrint', this.onPrint); + this.onProgress = parse('onProgress', this.onProgress); + + // Godot config + this.canvas = parse('canvas', this.canvas); + this.executable = parse('executable', this.executable); + this.mainPack = parse('mainPack', this.mainPack); + this.locale = parse('locale', this.locale); + this.canvasResizePolicy = parse('canvasResizePolicy', this.canvasResizePolicy); + this.persistentPaths = parse('persistentPaths', this.persistentPaths); + this.persistentDrops = parse('persistentDrops', this.persistentDrops); + this.experimentalVK = parse('experimentalVK', this.experimentalVK); + this.focusCanvas = parse('focusCanvas', this.focusCanvas); + this.serviceWorker = parse('serviceWorker', this.serviceWorker); + this.gdextensionLibs = parse('gdextensionLibs', this.gdextensionLibs); + this.fileSizes = parse('fileSizes', this.fileSizes); + this.args = parse('args', this.args); + this.onExecute = parse('onExecute', this.onExecute); + this.onExit = parse('onExit', this.onExit); + }; + + /** + * @ignore + * @param {string} loadPath + * @param {Response} response + */ + Config.prototype.getModuleConfig = function (loadPath, response) { + let r = response; + const gdext = this.gdextensionLibs; + return { + 'print': this.onPrint, + 'printErr': this.onPrintError, + 'thisProgram': this.executable, + 'noExitRuntime': false, + 'dynamicLibraries': [`${loadPath}.side.wasm`].concat(this.gdextensionLibs), + 'instantiateWasm': function (imports, onSuccess) { + function done(result) { + onSuccess(result['instance'], result['module']); + } + if (typeof (WebAssembly.instantiateStreaming) !== 'undefined') { + WebAssembly.instantiateStreaming(Promise.resolve(r), imports).then(done); + } else { + r.arrayBuffer().then(function (buffer) { + WebAssembly.instantiate(buffer, imports).then(done); + }); + } + r = null; + return {}; + }, + 'locateFile': function (path) { + if (!path.startsWith('godot.')) { + return path; + } else if (path.endsWith('.audio.worklet.js')) { + return `${loadPath}.audio.worklet.js`; + } else if (path.endsWith('.audio.position.worklet.js')) { + return `${loadPath}.audio.position.worklet.js`; + } else if (path.endsWith('.js')) { + return `${loadPath}.js`; + } else if (path in gdext) { + return path; + } else if (path.endsWith('.side.wasm')) { + return `${loadPath}.side.wasm`; + } else if (path.endsWith('.wasm')) { + return `${loadPath}.wasm`; + } + return path; + }, + }; + }; + + /** + * @ignore + * @param {function()} cleanup + */ + Config.prototype.getGodotConfig = function (cleanup) { + // Try to find a canvas + if (!(this.canvas instanceof HTMLCanvasElement)) { + const nodes = document.getElementsByTagName('canvas'); + if (nodes.length && nodes[0] instanceof HTMLCanvasElement) { + const first = nodes[0]; + this.canvas = /** @type {!HTMLCanvasElement} */ (first); + } + if (!this.canvas) { + throw new Error('No canvas found in page'); + } + } + // Canvas can grab focus on click, or key events won't work. + if (this.canvas.tabIndex < 0) { + this.canvas.tabIndex = 0; + } + + // Browser locale, or custom one if defined. + let locale = this.locale; + if (!locale) { + locale = navigator.languages ? navigator.languages[0] : navigator.language; + locale = locale.split('.')[0]; + } + locale = locale.replace('-', '_'); + const onExit = this.onExit; + + // Godot configuration. + return { + 'canvas': this.canvas, + 'canvasResizePolicy': this.canvasResizePolicy, + 'locale': locale, + 'persistentDrops': this.persistentDrops, + 'virtualKeyboard': this.experimentalVK, + 'focusCanvas': this.focusCanvas, + 'onExecute': this.onExecute, + 'onExit': function (p_code) { + cleanup(); // We always need to call the cleanup callback to free memory. + if (typeof (onExit) === 'function') { + onExit(p_code); + } + }, + }; + }; + return new Config(initConfig); +}; + +/** + * Projects exported for the Web expose the :js:class:`Engine` class to the JavaScript environment, that allows + * fine control over the engine's start-up process. + * + * This API is built in an asynchronous manner and requires basic understanding + * of `Promises `__. + * + * @module Engine + * @header Web export JavaScript reference + */ +const Engine = (function () { + const preloader = new Preloader(); + + let loadPromise = null; + let loadPath = ''; + let initPromise = null; + + /** + * @classdesc The ``Engine`` class provides methods for loading and starting exported projects on the Web. For default export + * settings, this is already part of the exported HTML page. To understand practical use of the ``Engine`` class, + * see :ref:`Custom HTML page for Web export `. + * + * @description Create a new Engine instance with the given configuration. + * + * @global + * @constructor + * @param {EngineConfig} initConfig The initial config for this instance. + */ + function Engine(initConfig) { // eslint-disable-line no-shadow + this.config = new InternalConfig(initConfig); + this.rtenv = null; + } + + /** + * Load the engine from the specified base path. + * + * @param {string} basePath Base path of the engine to load. + * @param {number=} [size=0] The file size if known. + * @returns {Promise} A Promise that resolves once the engine is loaded. + * + * @function Engine.load + */ + Engine.load = function (basePath, size) { + if (loadPromise == null) { + loadPath = basePath; + loadPromise = preloader.loadPromise(`${loadPath}.wasm`, size, true); + requestAnimationFrame(preloader.animateProgress); + } + return loadPromise; + }; + + /** + * Unload the engine to free memory. + * + * This method will be called automatically depending on the configuration. See :js:attr:`unloadAfterInit`. + * + * @function Engine.unload + */ + Engine.unload = function () { + loadPromise = null; + }; + + /** + * Safe Engine constructor, creates a new prototype for every new instance to avoid prototype pollution. + * @ignore + * @constructor + */ + function SafeEngine(initConfig) { + const proto = /** @lends Engine.prototype */ { + /** + * Initialize the engine instance. Optionally, pass the base path to the engine to load it, + * if it hasn't been loaded yet. See :js:meth:`Engine.load`. + * + * @param {string=} basePath Base path of the engine to load. + * @return {Promise} A ``Promise`` that resolves once the engine is loaded and initialized. + */ + init: function (basePath) { + if (initPromise) { + return initPromise; + } + if (loadPromise == null) { + if (!basePath) { + initPromise = Promise.reject(new Error('A base path must be provided when calling `init` and the engine is not loaded.')); + return initPromise; + } + Engine.load(basePath, this.config.fileSizes[`${basePath}.wasm`]); + } + const me = this; + function doInit(promise) { + // Care! Promise chaining is bogus with old emscripten versions. + // This caused a regression with the Mono build (which uses an older emscripten version). + // Make sure to test that when refactoring. + return new Promise(function (resolve, reject) { + promise.then(function (response) { + const cloned = new Response(response.clone().body, { 'headers': [['content-type', 'application/wasm']] }); + Godot(me.config.getModuleConfig(loadPath, cloned)).then(function (module) { + const paths = me.config.persistentPaths; + module['initFS'](paths).then(function (err) { + me.rtenv = module; + if (me.config.unloadAfterInit) { + Engine.unload(); + } + resolve(); + }); + }); + }); + }); + } + preloader.setProgressFunc(this.config.onProgress); + initPromise = doInit(loadPromise); + return initPromise; + }, + + /** + * Load a file so it is available in the instance's file system once it runs. Must be called **before** starting the + * instance. + * + * If not provided, the ``path`` is derived from the URL of the loaded file. + * + * @param {string|ArrayBuffer} file The file to preload. + * + * If a ``string`` the file will be loaded from that path. + * + * If an ``ArrayBuffer`` or a view on one, the buffer will used as the content of the file. + * + * @param {string=} path Path by which the file will be accessible. Required, if ``file`` is not a string. + * + * @returns {Promise} A Promise that resolves once the file is loaded. + */ + preloadFile: function (file, path) { + return preloader.preload(file, path, this.config.fileSizes[file]); + }, + + /** + * Start the engine instance using the given override configuration (if any). + * :js:meth:`startGame ` can be used in typical cases instead. + * + * This will initialize the instance if it is not initialized. For manual initialization, see :js:meth:`init `. + * The engine must be loaded beforehand. + * + * Fails if a canvas cannot be found on the page, or not specified in the configuration. + * + * @param {EngineConfig} override An optional configuration override. + * @return {Promise} Promise that resolves once the engine started. + */ + start: function (override) { + this.config.update(override); + const me = this; + return me.init().then(function () { + if (!me.rtenv) { + return Promise.reject(new Error('The engine must be initialized before it can be started')); + } + + let config = {}; + try { + config = me.config.getGodotConfig(function () { + me.rtenv = null; + }); + } catch (e) { + return Promise.reject(e); + } + // Godot configuration. + me.rtenv['initConfig'](config); + + // Preload GDExtension libraries. + if (me.config.gdextensionLibs.length > 0 && !me.rtenv['loadDynamicLibrary']) { + return Promise.reject(new Error('GDExtension libraries are not supported by this engine version. ' + + 'Enable "Extensions Support" for your export preset and/or build your custom template with "dlink_enabled=yes".')); + } + return new Promise(function (resolve, reject) { + for (const file of preloader.preloadedFiles) { + me.rtenv['copyToFS'](file.path, file.buffer); + } + preloader.preloadedFiles.length = 0; // Clear memory + me.rtenv['callMain'](me.config.args); + initPromise = null; + me.installServiceWorker(); + resolve(); + }); + }); + }, + + /** + * Start the game instance using the given configuration override (if any). + * + * This will initialize the instance if it is not initialized. For manual initialization, see :js:meth:`init `. + * + * This will load the engine if it is not loaded, and preload the main pck. + * + * This method expects the initial config (or the override) to have both the :js:attr:`executable` and :js:attr:`mainPack` + * properties set (normally done by the editor during export). + * + * @param {EngineConfig} override An optional configuration override. + * @return {Promise} Promise that resolves once the game started. + */ + startGame: function (override) { + this.config.update(override); + // Add main-pack argument. + const exe = this.config.executable; + const pack = this.config.mainPack || `${exe}.pck`; + this.config.args = ['--main-pack', pack].concat(this.config.args); + // Start and init with execName as loadPath if not inited. + const me = this; + return Promise.all([ + this.init(exe), + this.preloadFile(pack, pack), + ]).then(function () { + return me.start.apply(me); + }); + }, + + /** + * Create a file at the specified ``path`` with the passed as ``buffer`` in the instance's file system. + * + * @param {string} path The location where the file will be created. + * @param {ArrayBuffer} buffer The content of the file. + */ + copyToFS: function (path, buffer) { + if (this.rtenv == null) { + throw new Error('Engine must be inited before copying files'); + } + this.rtenv['copyToFS'](path, buffer); + }, + + /** + * Request that the current instance quit. + * + * This is akin the user pressing the close button in the window manager, and will + * have no effect if the engine has crashed, or is stuck in a loop. + * + */ + requestQuit: function () { + if (this.rtenv) { + this.rtenv['request_quit'](); + } + }, + + /** + * Install the progressive-web app service worker. + * @returns {Promise} The service worker registration promise. + */ + installServiceWorker: function () { + if (this.config.serviceWorker && 'serviceWorker' in navigator) { + try { + return navigator.serviceWorker.register(this.config.serviceWorker); + } catch (e) { + return Promise.reject(e); + } + } + return Promise.resolve(); + }, + }; + + Engine.prototype = proto; + // Closure compiler exported instance methods. + Engine.prototype['init'] = Engine.prototype.init; + Engine.prototype['preloadFile'] = Engine.prototype.preloadFile; + Engine.prototype['start'] = Engine.prototype.start; + Engine.prototype['startGame'] = Engine.prototype.startGame; + Engine.prototype['copyToFS'] = Engine.prototype.copyToFS; + Engine.prototype['requestQuit'] = Engine.prototype.requestQuit; + Engine.prototype['installServiceWorker'] = Engine.prototype.installServiceWorker; + // Also expose static methods as instance methods + Engine.prototype['load'] = Engine.load; + Engine.prototype['unload'] = Engine.unload; + return new Engine(initConfig); + } + + // Closure compiler exported static methods. + SafeEngine['load'] = Engine.load; + SafeEngine['unload'] = Engine.unload; + + // Feature-detection utilities. + SafeEngine['isWebGLAvailable'] = Features.isWebGLAvailable; + SafeEngine['isFetchAvailable'] = Features.isFetchAvailable; + SafeEngine['isSecureContext'] = Features.isSecureContext; + SafeEngine['isCrossOriginIsolated'] = Features.isCrossOriginIsolated; + SafeEngine['isSharedArrayBufferAvailable'] = Features.isSharedArrayBufferAvailable; + SafeEngine['isAudioWorkletAvailable'] = Features.isAudioWorkletAvailable; + SafeEngine['getMissingFeatures'] = Features.getMissingFeatures; + + return SafeEngine; +}()); +if (typeof window !== 'undefined') { + window['Engine'] = Engine; +} diff --git a/server/html/encuentralo.offline.html b/server/html/encuentralo.offline.html new file mode 100644 index 0000000..ae5298a --- /dev/null +++ b/server/html/encuentralo.offline.html @@ -0,0 +1,41 @@ + + + + + + + You are offline + + + +

You are offline

+

This application requires an Internet connection to run for the first time.

+

Press the button below to try reloading:

+ + + + diff --git a/server/html/encuentralo.png b/server/html/encuentralo.png new file mode 100644 index 0000000..766b0b6 Binary files /dev/null and b/server/html/encuentralo.png differ diff --git a/server/html/encuentralo.png.import b/server/html/encuentralo.png.import new file mode 100644 index 0000000..0682470 --- /dev/null +++ b/server/html/encuentralo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dkwkpwa3mhch1" +path="res://.godot/imported/encuentralo.png-e268c3219d85c91cbf6dee7b94d34391.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://server/html/encuentralo.png" +dest_files=["res://.godot/imported/encuentralo.png-e268c3219d85c91cbf6dee7b94d34391.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/server/html/encuentralo.service.worker.js b/server/html/encuentralo.service.worker.js new file mode 100644 index 0000000..708cec0 --- /dev/null +++ b/server/html/encuentralo.service.worker.js @@ -0,0 +1,166 @@ +// This service worker is required to expose an exported Godot project as a +// Progressive Web App. It provides an offline fallback page telling the user +// that they need an Internet connection to run the project if desired. +// Incrementing CACHE_VERSION will kick off the install event and force +// previously cached resources to be updated from the network. +/** @type {string} */ +const CACHE_VERSION = '1741828048|6101239422'; +/** @type {string} */ +const CACHE_PREFIX = 'Encuentralo-sw-cache-'; +const CACHE_NAME = CACHE_PREFIX + CACHE_VERSION; +/** @type {string} */ +const OFFLINE_URL = 'encuentralo.offline.html'; +/** @type {boolean} */ +const ENSURE_CROSSORIGIN_ISOLATION_HEADERS = true; +// Files that will be cached on load. +/** @type {string[]} */ +const CACHED_FILES = ["encuentralo.html","encuentralo.js","encuentralo.offline.html","encuentralo.audio.worklet.js","encuentralo.audio.position.worklet.js"]; +// Files that we might not want the user to preload, and will only be cached on first load. +/** @type {string[]} */ +const CACHEABLE_FILES = ["encuentralo.wasm","encuentralo.pck"]; +const FULL_CACHE = CACHED_FILES.concat(CACHEABLE_FILES); + +self.addEventListener('install', (event) => { + event.waitUntil(caches.open(CACHE_NAME).then((cache) => cache.addAll(CACHED_FILES))); +}); + +self.addEventListener('activate', (event) => { + event.waitUntil(caches.keys().then( + function (keys) { + // Remove old caches. + return Promise.all(keys.filter((key) => key.startsWith(CACHE_PREFIX) && key !== CACHE_NAME).map((key) => caches.delete(key))); + } + ).then(function () { + // Enable navigation preload if available. + return ('navigationPreload' in self.registration) ? self.registration.navigationPreload.enable() : Promise.resolve(); + })); +}); + +/** + * Ensures that the response has the correct COEP/COOP headers + * @param {Response} response + * @returns {Response} + */ +function ensureCrossOriginIsolationHeaders(response) { + if (response.headers.get('Cross-Origin-Embedder-Policy') === 'require-corp' + && response.headers.get('Cross-Origin-Opener-Policy') === 'same-origin') { + return response; + } + + const crossOriginIsolatedHeaders = new Headers(response.headers); + crossOriginIsolatedHeaders.set('Cross-Origin-Embedder-Policy', 'require-corp'); + crossOriginIsolatedHeaders.set('Cross-Origin-Opener-Policy', 'same-origin'); + const newResponse = new Response(response.body, { + status: response.status, + statusText: response.statusText, + headers: crossOriginIsolatedHeaders, + }); + + return newResponse; +} + +/** + * Calls fetch and cache the result if it is cacheable + * @param {FetchEvent} event + * @param {Cache} cache + * @param {boolean} isCacheable + * @returns {Response} + */ +async function fetchAndCache(event, cache, isCacheable) { + // Use the preloaded response, if it's there + /** @type { Response } */ + let response = await event.preloadResponse; + if (response == null) { + // Or, go over network. + response = await self.fetch(event.request); + } + + if (ENSURE_CROSSORIGIN_ISOLATION_HEADERS) { + response = ensureCrossOriginIsolationHeaders(response); + } + + if (isCacheable) { + // And update the cache + cache.put(event.request, response.clone()); + } + + return response; +} + +self.addEventListener( + 'fetch', + /** + * Triggered on fetch + * @param {FetchEvent} event + */ + (event) => { + const isNavigate = event.request.mode === 'navigate'; + const url = event.request.url || ''; + const referrer = event.request.referrer || ''; + const base = referrer.slice(0, referrer.lastIndexOf('/') + 1); + const local = url.startsWith(base) ? url.replace(base, '') : ''; + const isCacheable = FULL_CACHE.some((v) => v === local) || (base === referrer && base.endsWith(CACHED_FILES[0])); + if (isNavigate || isCacheable) { + event.respondWith((async () => { + // Try to use cache first + const cache = await caches.open(CACHE_NAME); + if (isNavigate) { + // Check if we have full cache during HTML page request. + /** @type {Response[]} */ + const fullCache = await Promise.all(FULL_CACHE.map((name) => cache.match(name))); + const missing = fullCache.some((v) => v === undefined); + if (missing) { + try { + // Try network if some cached file is missing (so we can display offline page in case). + const response = await fetchAndCache(event, cache, isCacheable); + return response; + } catch (e) { + // And return the hopefully always cached offline page in case of network failure. + console.error('Network error: ', e); // eslint-disable-line no-console + return caches.match(OFFLINE_URL); + } + } + } + let cached = await cache.match(event.request); + if (cached != null) { + if (ENSURE_CROSSORIGIN_ISOLATION_HEADERS) { + cached = ensureCrossOriginIsolationHeaders(cached); + } + return cached; + } + // Try network if don't have it in cache. + const response = await fetchAndCache(event, cache, isCacheable); + return response; + })()); + } else if (ENSURE_CROSSORIGIN_ISOLATION_HEADERS) { + event.respondWith((async () => { + let response = await fetch(event.request); + response = ensureCrossOriginIsolationHeaders(response); + return response; + })()); + } + } +); + +self.addEventListener('message', (event) => { + // No cross origin + if (event.origin !== self.origin) { + return; + } + const id = event.source.id || ''; + const msg = event.data || ''; + // Ensure it's one of our clients. + self.clients.get(id).then(function (client) { + if (!client) { + return; // Not a valid client. + } + if (msg === 'claim') { + self.skipWaiting().then(() => self.clients.claim()); + } else if (msg === 'clear') { + caches.delete(CACHE_NAME); + } else if (msg === 'update') { + self.skipWaiting().then(() => self.clients.claim()).then(() => self.clients.matchAll()).then((all) => all.forEach((c) => c.navigate(c.url))); + } + }); +}); + diff --git a/server/html/encuentralo.wasm b/server/html/encuentralo.wasm new file mode 100644 index 0000000..cfd4750 Binary files /dev/null and b/server/html/encuentralo.wasm differ diff --git a/server/html/index.html b/server/html/index.html new file mode 100644 index 0000000..50ec0f4 --- /dev/null +++ b/server/html/index.html @@ -0,0 +1,218 @@ + + + + + + Encuentralo + + + + + + Your browser does not support the canvas tag. + + + + +
+ + +
+
+ + + + + + diff --git a/server/nginx.conf b/server/nginx.conf new file mode 100644 index 0000000..de481a6 --- /dev/null +++ b/server/nginx.conf @@ -0,0 +1,118 @@ + +#user http; +worker_processes 1; + +#error_log logs/error.log; +#error_log logs/error.log notice; +#error_log logs/error.log info; + +#pid logs/nginx.pid; + + +events { + worker_connections 1024; +} + + +http { + include mime.types; + default_type application/octet-stream; + + #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + # '$status $body_bytes_sent "$http_referer" ' + # '"$http_user_agent" "$http_x_forwarded_for"'; + + #access_log logs/access.log main; + + sendfile on; + #tcp_nopush on; + + #keepalive_timeout 0; + keepalive_timeout 65; + + #gzip on; + + server { + listen 80; + server_name localhost; + + #charset koi8-r; + + #access_log logs/host.access.log main; + + location / { + root /home/randy/Documents/Encuentralo/server/html; + index encuentralo.html; + autoindex on; + } + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } + + # proxy the PHP scripts to Apache listening on 127.0.0.1:80 + # + #location ~ \.php$ { + # proxy_pass http://127.0.0.1; + #} + + # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 + # + #location ~ \.php$ { + # root html; + # fastcgi_pass 127.0.0.1:9000; + # fastcgi_index index.php; + # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; + # include fastcgi_params; + #} + + # deny access to .htaccess files, if Apache's document root + # concurs with nginx's one + # + #location ~ /\.ht { + # deny all; + #} + } + + + # another virtual host using mix of IP-, name-, and port-based configuration + # + #server { + # listen 8000; + # listen somename:8080; + # server_name somename alias another.alias; + + # location / { + # root html; + # index index.html index.htm; + # } + #} + + + # HTTPS server + # + #server { + # listen 443 ssl; + # server_name localhost; + + # ssl_certificate cert.pem; + # ssl_certificate_key cert.key; + + # ssl_session_cache shared:SSL:1m; + # ssl_session_timeout 5m; + + # ssl_ciphers HIGH:!aNULL:!MD5; + # ssl_prefer_server_ciphers on; + + # location / { + # root html; + # index index.html index.htm; + # } + #} + +}