From 4b68f652febbd6da7732c8eeb23d430a2f0ddc02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Moran?= Date: Sat, 12 Apr 2025 00:51:25 +0200 Subject: [PATCH] Comunicacion entre el juego y la api(en local) --- ...state-9342d86e93843c4fab70a2c0224d3fd3.cfg | 2 +- ...state-ff8ceb9b2bd5b48777d3d52e811276ab.cfg | 2 +- ...lding-0f54ff6f4c0e1e3e715375e09405d3d5.cfg | 3 + .../.godot/editor/create_recent.Node | 3 +- .../.godot/editor/editor_layout.cfg | 16 +- .../.godot/editor/filesystem_cache10 | 20 ++- .../.godot/editor/filesystem_update4 | 7 +- .../.godot/editor/project_metadata.cfg | 4 +- ...state-d70c5745a12c569d3ecc03f08fad1e89.cfg | 2 +- .../.godot/editor/script_editor_cache.cfg | 24 +-- ...93843c4fab70a2c0224d3fd3-Configuration.scn | Bin 2284 -> 2304 bytes .../.godot/exported/133200997/file_cache | 6 +- .../.godot/global_script_class_cache.cfg | 8 - empareja-las-sombras/.godot/uid_cache.bin | Bin 2779 -> 2735 bytes empareja-las-sombras/Empareja las sombras.apk | Bin 31040340 -> 31044438 bytes .../Empareja las sombras.apk.idsig | Bin 251361 -> 251361 bytes empareja-las-sombras/project.godot | 1 + .../scenes/Configuration.tscn | 4 +- empareja-las-sombras/scenes/Game.tscn | 22 +++ empareja-las-sombras/scripts/animal_tile.gd | 2 +- .../{scenes => scripts}/configuration.gd | 19 +++ .../{scenes => scripts}/configuration.gd.uid | 0 empareja-las-sombras/scripts/game_data.gd | 159 ++++++++++++++++-- empareja-las-sombras/scripts/node_2d.gd | 17 +- 24 files changed, 255 insertions(+), 66 deletions(-) create mode 100644 empareja-las-sombras/.godot/editor/configuration.gd-folding-0f54ff6f4c0e1e3e715375e09405d3d5.cfg rename empareja-las-sombras/{scenes => scripts}/configuration.gd (54%) rename empareja-las-sombras/{scenes => scripts}/configuration.gd.uid (100%) diff --git a/empareja-las-sombras/.godot/editor/Configuration.tscn-editstate-9342d86e93843c4fab70a2c0224d3fd3.cfg b/empareja-las-sombras/.godot/editor/Configuration.tscn-editstate-9342d86e93843c4fab70a2c0224d3fd3.cfg index a70b1b2..a925a12 100644 --- a/empareja-las-sombras/.godot/editor/Configuration.tscn-editstate-9342d86e93843c4fab70a2c0224d3fd3.cfg +++ b/empareja-las-sombras/.godot/editor/Configuration.tscn-editstate-9342d86e93843c4fab70a2c0224d3fd3.cfg @@ -192,4 +192,4 @@ Game={ "hide_selection": false, "select_mode": 0 } -selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Configuration/VBoxContainer/levels_menu")]) +selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Node2D")]) diff --git a/empareja-las-sombras/.godot/editor/Game.tscn-editstate-ff8ceb9b2bd5b48777d3d52e811276ab.cfg b/empareja-las-sombras/.godot/editor/Game.tscn-editstate-ff8ceb9b2bd5b48777d3d52e811276ab.cfg index 1551c54..e48a764 100644 --- a/empareja-las-sombras/.godot/editor/Game.tscn-editstate-ff8ceb9b2bd5b48777d3d52e811276ab.cfg +++ b/empareja-las-sombras/.godot/editor/Game.tscn-editstate-ff8ceb9b2bd5b48777d3d52e811276ab.cfg @@ -192,4 +192,4 @@ Game={ "hide_selection": false, "select_mode": 0 } -selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Configuration/VBoxContainer/levels_menu")]) +selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Node2D")]) diff --git a/empareja-las-sombras/.godot/editor/configuration.gd-folding-0f54ff6f4c0e1e3e715375e09405d3d5.cfg b/empareja-las-sombras/.godot/editor/configuration.gd-folding-0f54ff6f4c0e1e3e715375e09405d3d5.cfg new file mode 100644 index 0000000..e860dd4 --- /dev/null +++ b/empareja-las-sombras/.godot/editor/configuration.gd-folding-0f54ff6f4c0e1e3e715375e09405d3d5.cfg @@ -0,0 +1,3 @@ +[folding] + +sections_unfolded=PackedStringArray() diff --git a/empareja-las-sombras/.godot/editor/create_recent.Node b/empareja-las-sombras/.godot/editor/create_recent.Node index 3177503..c8e320e 100644 --- a/empareja-las-sombras/.godot/editor/create_recent.Node +++ b/empareja-las-sombras/.godot/editor/create_recent.Node @@ -1,8 +1,9 @@ Button Label +VBoxContainer +PopupPanel MenuButton ColorPickerButton -VBoxContainer Control HBoxContainer AudioStreamPlayer diff --git a/empareja-las-sombras/.godot/editor/editor_layout.cfg b/empareja-las-sombras/.godot/editor/editor_layout.cfg index f845b26..8dd89cb 100644 --- a/empareja-las-sombras/.godot/editor/editor_layout.cfg +++ b/empareja-las-sombras/.godot/editor/editor_layout.cfg @@ -2,15 +2,15 @@ dock_3_selected_tab_idx=0 dock_4_selected_tab_idx=0 -dock_5_selected_tab_idx=0 +dock_5_selected_tab_idx=1 dock_floating={} dock_filesystem_h_split_offset=240 dock_filesystem_v_split_offset=0 dock_filesystem_display_mode=0 dock_filesystem_file_sort=0 dock_filesystem_file_list_display_mode=1 -dock_filesystem_selected_paths=PackedStringArray("res://scenes/Configuration.tscn") -dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scenes/") +dock_filesystem_selected_paths=PackedStringArray("res://scenes/Game.tscn") +dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scripts/", "res://scenes/") dock_node_current_tab=0 dock_history_include_scene=true dock_history_include_global=true @@ -28,8 +28,8 @@ dock_5="Inspector,Node,History" [EditorNode] -open_scenes=PackedStringArray("res://scenes/Game.tscn", "res://scripts/screen_manager.tscn", "res://scenes/Configuration.tscn") -current_scene="res://scenes/Configuration.tscn" +open_scenes=PackedStringArray("res://scenes/Game.tscn", "res://scenes/Configuration.tscn") +current_scene="res://scenes/Game.tscn" center_split_offset=0 selected_default_debugger_tab_idx=0 selected_main_editor_idx=2 @@ -44,12 +44,12 @@ size=Vector2i(1024, 1000) [ScriptEditor] -open_scripts=["res://scripts/animal_tile.gd", "res://scenes/configuration.gd", "res://scripts/game_data.gd", "res://scripts/image_loader.gd", "res://scripts/node_2d.gd", "res://scripts/screen_manager.gd"] -selected_script="res://scenes/configuration.gd" +open_scripts=["res://scripts/animal_tile.gd", "res://scripts/configuration.gd", "res://scripts/game_data.gd", "res://scripts/image_loader.gd", "res://scripts/node_2d.gd", "res://scripts/screen_manager.gd"] +selected_script="res://scripts/game_data.gd" open_help=[] script_split_offset=200 list_split_offset=0 -zoom_factor=1.0 +zoom_factor=1.07143 [GameView] diff --git a/empareja-las-sombras/.godot/editor/filesystem_cache10 b/empareja-las-sombras/.godot/editor/filesystem_cache10 index 1123035..d037468 100644 --- a/empareja-las-sombras/.godot/editor/filesystem_cache10 +++ b/empareja-las-sombras/.godot/editor/filesystem_cache10 @@ -1,6 +1,6 @@ fc8a56933c4b1c8d796fdb8f7a9f9475 -::res://::1744315176 -export_presets.cfg::TextFile/TextFile::-1::1744298367::0::1::::<><><>0<>0<><>:: +::res://::1744408654 +export_presets.cfg::TextFile::-1::1744399092::0::1::::<><><>0<>0<><>:: icon.svg::CompressedTexture2D/CompressedTexture2D::4846091670585274137::1744195706::1744195716::1::::<><><>0<>0<>a6ef899d0bda3cdd63eaa6b079d03aca<>res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex:: ::res://audios/::1744295153 instrucciones.mp3::AudioStreamMP3/AudioStreamMP3::7110748935779360531::1744295152::1744295153::1::::<><><>0<>0<>907b78c75c0c4deb72d14e7a74dd7acf<>res://.godot/imported/instrucciones.mp3-3e910247f8d0baa2378a660539fef5b4.mp3str:: @@ -60,10 +60,14 @@ vaca_color.png::CompressedTexture2D/CompressedTexture2D::1639453517109408540::17 vaca_sombra.png::CompressedTexture2D/CompressedTexture2D::4137840386567035395::1744226338::1744226677::1::::<><><>0<>0<>8b8f93705ab813c8fda24891062e2b93<>res://.godot/imported/vaca_sombra.png-87bf77b3bedacf2de6553221767d8158.ctex:: zorro_color.png::CompressedTexture2D/CompressedTexture2D::1666546973926131984::1744220372::1744222652::1::::<><><>0<>0<>507db7ef7a8e54c877af1f7c2e943778<>res://.godot/imported/zorro_color.png-9357deebbe773a59422357e0f482914f.ctex:: zorro_sombra.png::CompressedTexture2D/CompressedTexture2D::6252548807644359177::1744226356::1744226677::1::::<><><>0<>0<>dd376ca5b7be9cc4c9ab8247eb78f99a<>res://.godot/imported/zorro_sombra.png-a7d9fb62668d52352c13e90c900ac2bc.ctex:: -::res://scenes/::1744307544 -Game.tscn::PackedScene::7300647384769136354::1744307544::0::1::::<><><>0<>0<><>::uid://3qvb4d882mqd::::res://scripts/node_2d.gd<>uid://c8kq84p5btav8::::res://audios/instrucciones.mp3<>uid://bkwdw0l43i15v::::res://images/menu_logo.png -::res://scripts/::1744307516 -animal_tile.gd::GDScript::4714635075097887840::1744307516::0::1::::AnimalTile<>Node2D<><>0<>0<><>:: -game_data.gd::GDScript/GDScript::1767393862001390866::1744292186::0::1::::GameData<>Node<><>0<>0<><>:: +::res://scenes/::1744404395 +Configuration.tscn::PackedScene::6729908559101085089::1744403417::0::1::::<><><>0<>0<><>::uid://ctge47k34s7yi::::res://scripts/configuration.gd +Game.tscn::PackedScene::7300647384769136354::1744404395::0::1::::<><><>0<>0<><>::uid://3qvb4d882mqd::::res://scripts/node_2d.gd<>uid://c8kq84p5btav8::::res://audios/instrucciones.mp3<>uid://bkwdw0l43i15v::::res://images/menu_logo.png +::res://scripts/::1744404395 +animal_tile.gd::GDScript::4714635075097887840::1744403019::0::1::::AnimalTile<>Node2D<><>0<>0<><>:: +configuration.gd::GDScript::6119112016534423576::1744402008::0::1::::<>Control<><>0<>0<><>:: +game_data.gd::GDScript::1767393862001390866::1744404395::0::1::::<>Node<><>0<>0<><>:: image_loader.gd::GDScript/GDScript::4945911806681378795::1744289398::0::1::::ImageLoader<>Node<><>0<>0<><>:: -node_2d.gd::GDScript/GDScript::1999596037927974939::1744304959::0::1::::<>Node2D<><>0<>0<><>:: +node_2d.gd::GDScript::1999596037927974939::1744403411::0::1::::<>Node2D<><>0<>0<><>:: +screen_manager.gd::GDScript/GDScript::6637911554621855883::1744315379::0::1::::<>Node<><>0<>0<><>:: +screen_manager.tscn::PackedScene::1657251017967126927::1744396137::0::1::::<><><>0<>0<><>:: diff --git a/empareja-las-sombras/.godot/editor/filesystem_update4 b/empareja-las-sombras/.godot/editor/filesystem_update4 index 2ccae75..24d5087 100644 --- a/empareja-las-sombras/.godot/editor/filesystem_update4 +++ b/empareja-las-sombras/.godot/editor/filesystem_update4 @@ -1,6 +1,5 @@ res://scenes/Game.tscn -res://scripts/screen_manager.gd -res://scenes/configuration.gd -res://scenes/Configuration.tscn +res://scripts/game_data.gd res://scripts/node_2d.gd -res://scripts/screen_manager.tscn +res://scripts/configuration.gd +res://scenes/Configuration.tscn diff --git a/empareja-las-sombras/.godot/editor/project_metadata.cfg b/empareja-las-sombras/.godot/editor/project_metadata.cfg index c042fdd..868b601 100644 --- a/empareja-las-sombras/.godot/editor/project_metadata.cfg +++ b/empareja-las-sombras/.godot/editor/project_metadata.cfg @@ -16,8 +16,8 @@ last_selected_language="GDScript" [recent_files] -scripts=["res://scenes/configuration.gd", "res://scripts/screen_manager.gd", "res://scripts/game_data.gd", "res://image_loader.gd", "res://export_presets.cfg", "res://number_title.gd", "res://node_2d.gd"] -scenes=["res://scenes/Game.tscn"] +scripts=["Object", "res://scenes/configuration.gd", "res://scripts/screen_manager.gd", "res://scripts/game_data.gd", "res://image_loader.gd", "res://export_presets.cfg", "res://number_title.gd", "res://node_2d.gd"] +scenes=["res://scenes/Configuration.tscn", "res://scenes/Game.tscn"] [export_options] diff --git a/empareja-las-sombras/.godot/editor/screen_manager.tscn-editstate-d70c5745a12c569d3ecc03f08fad1e89.cfg b/empareja-las-sombras/.godot/editor/screen_manager.tscn-editstate-d70c5745a12c569d3ecc03f08fad1e89.cfg index ff25486..6e0f3c1 100644 --- a/empareja-las-sombras/.godot/editor/screen_manager.tscn-editstate-d70c5745a12c569d3ecc03f08fad1e89.cfg +++ b/empareja-las-sombras/.godot/editor/screen_manager.tscn-editstate-d70c5745a12c569d3ecc03f08fad1e89.cfg @@ -192,4 +192,4 @@ Game={ "hide_selection": false, "select_mode": 0 } -selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/Configuration/VBoxContainer/levels_menu")]) +selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@21272/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11482/@VSplitContainer@11134/@HSplitContainer@11136/@HSplitContainer@11138/@Control@11139/@SubViewportContainer@11140/@SubViewport@11141/ScreenManager")]) diff --git a/empareja-las-sombras/.godot/editor/script_editor_cache.cfg b/empareja-las-sombras/.godot/editor/script_editor_cache.cfg index e90b1a8..bfb112e 100644 --- a/empareja-las-sombras/.godot/editor/script_editor_cache.cfg +++ b/empareja-las-sombras/.godot/editor/script_editor_cache.cfg @@ -17,11 +17,11 @@ state={ state={ "bookmarks": PackedInt32Array(), "breakpoints": PackedInt32Array(), -"column": 33, +"column": 0, "folded_lines": Array[int]([]), "h_scroll_position": 0, -"row": 61, -"scroll_position": 48.0, +"row": 89, +"scroll_position": 71.0, "selection": false, "syntax_highlighter": "GDScript" } @@ -35,7 +35,7 @@ state={ "folded_lines": Array[int]([]), "h_scroll_position": 0, "row": 32, -"scroll_position": 19.0, +"scroll_position": 10.0, "selection": false, "syntax_highlighter": "GDScript" } @@ -45,11 +45,11 @@ state={ state={ "bookmarks": PackedInt32Array(), "breakpoints": PackedInt32Array(), -"column": 32, +"column": 0, "folded_lines": Array[int]([]), "h_scroll_position": 0, -"row": 36, -"scroll_position": 16.0, +"row": 182, +"scroll_position": 0.0, "selection": false, "syntax_highlighter": "GDScript" } @@ -59,11 +59,11 @@ state={ state={ "bookmarks": PackedInt32Array(), "breakpoints": PackedInt32Array(), -"column": 23, +"column": 28, "folded_lines": Array[int]([]), "h_scroll_position": 0, "row": 18, -"scroll_position": 0.0, +"scroll_position": 140.0, "selection": false, "syntax_highlighter": "GDScript" } @@ -82,15 +82,15 @@ state={ "syntax_highlighter": "GDScript" } -[res://scenes/configuration.gd] +[res://scripts/configuration.gd] state={ "bookmarks": PackedInt32Array(), "breakpoints": PackedInt32Array(), -"column": 12, +"column": 30, "folded_lines": Array[int]([]), "h_scroll_position": 0, -"row": 13, +"row": 44, "scroll_position": 0.0, "selection": false, "syntax_highlighter": "GDScript" diff --git a/empareja-las-sombras/.godot/exported/133200997/export-9342d86e93843c4fab70a2c0224d3fd3-Configuration.scn b/empareja-las-sombras/.godot/exported/133200997/export-9342d86e93843c4fab70a2c0224d3fd3-Configuration.scn index c3d30fc498295d3ab3cfb1fc6ab7cb395ba2ae39..d87f397c3719e6131dd77244fce9bbfff39cc60a 100644 GIT binary patch delta 344 zcmaDO*dR3FpnyCB14B`2v6a4ladJ^+LCM4mwv1wv`4}x3RVI5dZqwq2$Y-Xc=9Lu3 z=ceYBGOz-L(sB|@7`TB9U!aInX-P?b-eyrI2^L1a$$D(&jQo@3IK(H{vI!^(1Jwus z@qZv-2GW8+%mc)XK+F!rLX+3Ai8G3T)!&7x7X^yrS1$%uZ_5rbU!0(N39$OP>;kNO zK(&&SH?b>wNQAPvMISIGb|$W^jHECj@IKn!v{D1=0SSOJJZE(QURIuK9~14B`2v6a4ladK*2>coq-jG~kI87&!=Cwnq(6Xym>`=;iVI+d1` zkc_urtnKSZDu3}TS6avcd1Mz<#URk!G5D|U$8Vr1wRpFE3QofYItiOI*zYdXOU|=XpEw<9vFHSDXEGQ|~PtMOv t%SlK%!0{~5ugRx4iwBN$ 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 J&H-8ce*o8r(tiK| delta 34938 zcmbTdbyyT%+_2Bk-QA6JOG$TkgQSQ^DkTVubV`V_Ai4r7(%rF0hk$^Th?IZ|(w* zLxd4Sgc(DG6+?s_LxdAUgd0PI7ej;}LqrfmL>NN^79)-!B8ed)jUgh7AtH|84u~#@9*91O0f-@p5r{E}35Y3(8HhQE1&Aex6^J#64Tvp>9f&>1T@VKlM-V3v zXAl<PpKr%sI zg1iFB0)c~MgXDm`2FV3^1M(IG0rCzc4Oks28bBIBnn0RCT0mMs+CbVtkRTl(pFui7xaJ1=#@E1o;QD1+opY1F{RU2eJ=x0CEU&1ab^=0&)s+267H^ z0dfg)1#+D-Jdkcd;)TQqi64>x zBtb|*kc1(LKoW%{21y)}1SCmFw;@SEl7=J$NfweEq&tx0At^vogro#X8IlSlRY+=( z)FEj=(uAZ1NgI+5Bwa{)kn|xLKr)161PL`MCQxJw$qbS?BnwEEkgOnCL$ZNn3&{?W zJ*2yk93VMDa)RUx$pw-tqrhU5<^ z08${NAV|TGo_4k-iD3rLxeUP5{WAi-S;$gPELL&zX(I3SCG3TyG;KrlKg6ea{yv7r#* zNe%~op%P6g;J`3|3OT6YKr1CGT;_!Xx>%@CL>LZe-h?3%aNs>IDwRzh4shL6(^h~3 zUjRI?S({Qv)%7Gqgc=-RL->NpI7kg8IFNf&ZdDl$Xx)S&s$iQpVF*~b>n2pvfCIfZ zA)eO%ZC+Fx4v5{Py6M0H)|)Uv7Y^J;g@{f)umx17;`QMG?@fNK0UQv$34a^@-?m7N z;eg~#EiDr`(1@yqVG4Hl<_z(e!-1unS_GDGVEHE8v4R7_HzB(X95A{G18m^{-%Xfr z2L}vMA>zOu4lF{=BBt-cfpJt+>Hr5;QBkHN9N0x2G~NjgNZr)#bOxsd6;@okzyW{= zI+JNk_J(EPvyBL132cWF!Fmr4jFLe)a+ld+YXBM=BPJReHzM5w4zM6u+~C03O>2zq zaKQCuG*Mul>&+_o>jfV8roc}hIG}b@fa?()@VrUQd<+Nfpq?m@6G31nZc?X%;ehE) zC>R0<^l!qjP&mMS)56CvIN*1aN)Lkr`8P*HMuJ_wNu7#<1103BAxFQ015G!nN^m$} zA%RNG{sIT)@loNEX*fVnhzeh=zyXPyvctdNfHe~;l@~o5SVk>iBr#q#;7pH7eaw*! zXx((DohuvQGDfAY1!e;-#Hdg&CL3tsM}_!R*}(8kC%@Nb1J7QdQtxWz0BKaHaMwNu z_@jyn=ks!amp2PPpfCrR`H4z3ihT{7-*m^|{cB+HrmX1i*Z;Hf?Ekz5zTA`*=+6b_ zZu*NqnhRLm49MkcE)chjYV2S28$k076e6UI-U6dgl!|Bk7C_<|BLL$FRF3@^0{Dx{ z(HTboNS*O_K&2)s=aMcD*hJ-Q(&qulP5OKwM+TLXV3rT85kt$R*^1?*4lRJDLyG`N z>j9?J9P@ktnPXl6Jf}q!<@YWC{-7G6@hJe1G(PVE-3O?v**Yzu{R2W2%x6G|gna~X z5bvJN0;GtyjJ*IcqGaYhkcX;gIQt$z8qR(I+6quDl7MAVEh5jsXdX2x#GHO1a5Lx* zgF@i#7gR|nhEF$FMyfXBCjhCK7;U2xpH-Ism-w)%95}B*B|f-U@n52;TLrN48^B|aE?9s7ahNg-kRhIcF)<>et_DDz>s0Cb8UQI>Ukg~_;X>1m!ynU+P~sQ| z=n-wtX8{`2WDy~zkhT9!R!B!JfDGxV1Ck9;N5>>V zI4-W2vj7#Mp{5lmM^$yNZ3SGPp{kBbw%x2JWW((?pky3%D*GuEB?=JA;5nf~Y=H%^ z5s7&1Ks!_+RTsY^gDn&)W(3IbLsf6X~4AupmIYs zUHggQR{Vau?IZ4s0%c;c)k|^ z)dwJp=lg*S6I8aM$iRP>Dv#&@kjf)E2q1Yxhk#>dR5qK@(0?l%-*^c4<%de#?HmGj zpa}V^YY5=HxtIuozT8};$TKkVKS7oB^Bw+g%dqzw1`s2t#B0To|CZ*a(g={csWb}i zaY|o-DI(Ol@V{6N`k!+V{vJ9PX9iz^3aDyoso_@uS!y^2Bu}84k^^V|7wYy|G;Kw6 z)d-+L7$BCwErdQ*hjSd6~>69Dqb&u;+M&H8x8I{Du)J=i9J zFV(1yR88xOfeQ?rPdY?XA+!p-zD@qO3YaD*frgu#|1>yjH#=Z!%M?($k2=)Dis}EB zhH>RIfE+AZ*Y8 zgi+rNz>7!(tB3(;h*I#kY6ShW8GwX@8GM#_bnmgOu<&D-d*1gDGGMAa*i+-A89)Z$ zKvaRh*V7PyrS$K42dD)2`}=sKVS&H8c{=$c(<5g9T1rxP?B5VHSb@B@_wed2>qAXMW1r#|!r&i~i?R0!~$`oH5-|Np2@ zgFuf5>tjKEr9}vVF^4uC7(+kwAW**AK%Q)V__E` zZ?^~c10Ff~Kk)Guy6@@&)M4mcXsVg2x`JijfwOe0PWaOC9sVUF+HEEW6;hvy&ZRv67~os5+0bISf!yRTB5ha?#Yja zbq=ncZJ3IQDw-*p5*pK3U`#^2pmPmzExDH_IWqQFL;tk4Et$G48FD)Cm#VGJoOwU& z!G?$JxW&}bhvhzZIgSVX<5Ta;;_7*YE-q=1x6rR9NET@>>9Z;Ma!JvWca%Q!Vw$q@ z-FZV8{jQJXjQ0oZh{=&Ql9`;*U+ILu&ZdkSUA#Jez_p5Srgva8;n~+@{#UrAzt-LO zZTeiJC9mw~D7>g-um__rKMz~Kjww>s;r)>LXuox2;}`d8efHI9))l_upTeEgE0M#v za5D_->ve~n&?`*E$m+hN|&BY4g}DDN!0S@jj`>+mrVa>6mx| zIW#t$pT9b_@f^U*$A9+tQ~EtB4Q-P&9Vh83EKJ^>AK5tMtTa2p{An*Zxzu^J%jmlR zM;C3f=ZS}MA+Sz~=3Zq_+Vy?~Rcy^?FVYb?m2n_ z|EJKQ-fJCgxiIcM@TvXF#yC}1>q;}f%0uh7nlp&GjCgNY#_&&7Yi0#$!Z|yRPW;%& zT}!m*^)RV@#WvB1nmeZlY`**7TqykMF~N}`ncY6|0V4$><02M8qA$kW*3*(86lfhF9QvK-=h+fMhePzy zY3NS4grbWG%w?MDNp`ar(cVvPJr(*jUN@e3&DNHX9|3Xac&E6h5v?)Vb|YrtP4{=o zQhq9}WG_*a%a@+U2GI$&g-;*5ZAU#9&SVn5BRGEc(<|`gmBe+!ONOC#QftNW@2S#l zQrqLt)@(%v7 z>k!y}QiTxy)l>2NEtEnD^1MHHkvnJQ&D*1OE9ebPT6ghs>!R9U393ndPwkS-+8I*N zzSG{wFX9Z3Zjg)T=V$rq@r&Q=ZmqG}neQl*WPEfK;mn?Sbsucih+5)de_BA8S#M{XQP1jSc=ab$da>dn8y5*EuVul)|H5!DaTMLM zhPy7YxM1&{5L+%ASH)#(V*}y(PtvJRc9ufp5dAD9LDp>fhzrF4B>SGj{ z!UV&R4AQmcYTwm$Ojs4a`ATr^<1#i;J1{ z7FWwr?SrxVu)16N9=G;=Cs-uQ_htfM{t^|kZR^jdL##+<81(OjWyyXB|9aPZrl zIRyVAxG%s`UWFQ&nbUS;-FHjwddEKKVoCoXDt#X4!PCfaOqTe_T8;DdQDf-QmVMy% zY}4^pX9wYPrF5-)jJE{)y_eReCn<~+O7azY>V8>w z-nV@qrTqu)xExP|2OQ83!f4|c&Sp27zU}JJd!Y(rAr1aaNwIfEM zdAn=EWPcxI)UZ(}$^Po5aDVoU&4OL+`;+?p(?gt~aNG5=C#-zrw$CHDtr})BewHu= zJWrbyh27_+e8tmr$wiX!*BV8)?b@zVoy(r^&ft{7e%L=Lw|eE90;;RF5thSuCdbOfxx%Gh+0#qUl|FcC zrKyrqjl<+Zo2TkFr4i^hk|`$t9_E}GzGzEie+5wQ6Gy$Qbd9WL5uBS#q?CY5tv1-pV{`sPG&;iQM?f-faOqQ?IT1NOhiDeCInm+I`Ole-Swv zFLzU`n|stU1R?#g=adY&W%w8`HN}}74r_$b{`JEmG1VhPx68f%73u3?47ZS&+?yOb zYRNE6KWEh8ui}k#RV}HG8-26?M)ePR(VmG)dDxI)_`Y($rj|*!Rp3yVvd+Ppl@Sw- zM!=tGpLc?mI7zH=SocQ0w2q2>J9P0Dp`g)>At>lf?0OUP`CVUNX`}r?RompWcPLe- zK;@n@EI~H29i53Mg!WCBhoxGB!k3Ma<=r9Sj^B2SREZ04hKY;|5$Tc0JKU=S25w*4 zzl_^T4ok_&Gs9^0SJ(1d!t8S#WPGpG1ZHIJsLm@k2e~&&#NnvMSDSfy{GN_hutp!v z>K>SW?Tq>S7b5IjNr&%N7pG=SoAoP6tgO8{M_7xtS{h@ivx|;Rkqc>sNYt*ly2%5h z+J&q2M7axP!#DB9wDRTOUR_%}2*c-G>HIVjw83zmqc|-9*a6v9;w(fw*~}m2Un`A+ zYvXQc$+D5J5#JF4TOE6dgk!#@KbC_leW^xw^dbFsFFa*@mAAPW7r&S86-~1GSuhUJ zU&0t2s9LYAtUJUy27-ug)22tedPF?!*bIR&f#1oTv7Gs9Kh!B(e*zPq%a9R58sOOo;7{HAy_ciidSg$Q)hX-I`q)yL3$z4b&l5PcNVZ%9h4+ z=sy0yCCc*u#>Vubx0#gqt$HQ_%af8qgOh#XPy9sF==#fCaH23ZKI3^mq4S3PR=QWs z*RX2b&E<2JQKjhdXWQeuR1aF}=(;fiwF34?Qv`@8d=q72xz1%UOynQ#hLJaoQyzM6 zuJgL^NLpaOw#_?v;g7avOq(9LQE#U9R}!8@oV2*16PDmjzhXA2%6FhH^r}^*z_Ulb z9UZ}878Af$WEA7skg`|bHFM~oh7EUfN`Vo|5iNJz@^v@)S=zBXY?06AYEd@9oHl+Z zokh6#STV`U_HW!mE;b?;UBH5*cirH(IY-#Z8J$tZxKi4s+6n81l5N>f;D65X&5M3{ zW5T*Tc)NpuUef=&xjMLbI)FD0)C;SiVDKXcFCSOLyEX6~9d%>z#!U44#E*s+h4=-g ziNn&=c*by_MZBhx(B?QZz|r;rt(%J^Ds~66m*poF9MHB z1nw%Hjv{3YkQ<$(PET~|jXK$)?lfF+9_7G_?7ngEa%eX#*ELtq({zesrFVw4;+`z`3a9jPJ(mf0>iW~HTQE5Z26-?go5ae4V!)EQv_Z|S1cXcuD zLl|2?rjL$Y;3v@SqWI2{g=qT6HG}#tZW70)RD1cd0G%An%5v>k;Ue1AfF;Y+wm4by z5#1vbpXDkX`U-pR+Rg*#D`_IH&}JBX2jdEdlLMa^51;2LCJ|mnf(U7>2sKh`yo!Y_ z!YzEGi#X!1?H|i<^yX1(o5AwrzmZzW1o`hRXwCk>-31aRx+6x2^@3Uw2-O_KQ(zrp z&;O8O>P29aku6H78|M3Bq6s(-HRVD&i4JtnG#fqS zMysc`p#|Vp6J%^;fQwUy2r>?a5q$N=+Gsf|%$K+@?4fL$e9ee3hJHSI!CBi9B*A5_o_jK1H0n%OHt+vAvMoo&2xhPR3%5#wX@ST(eNKY>=< z%Jq0~tf`Vdh-q|_^(X6cZhSSBUG<<>?XQO(dB}20V^}{OUIC}J5$<18n6j2J8aA%J z%aRUJLFXZZgpN0OgxnrCq>aVc*w_gz+dq$gb=dAz@^9uu6 zwwSZKz3mfcY31>pmC~$^-*JEhEdTh@66Rd# z5{wYVY&KD4C-0_ZbtF%^-H0dFHq#gGAHN|)9!Hs47xV5|DkawjrgVq7)kXS#es*Q_ zRgP_@dBAq6{gJ4TnI2lmYD58T!nvOo&dD)RM4U95LTlj9GOm=xSydbr0u~+wrPAc^ zA42_ia?jHbI$}D-?#)s8^zDB>;qqo7*G#V>ndmsa6#1wvp;T#E9@QJLqK8ge{dQsNE&ZV3gcd$*pwuR-qh@M5 z-$l80RO;b;kUS)3jr(1#K(qSRh<2&DPB2Y3Tc|I|k#9I+CN7gquX4oij+#4u(x@_MD?l~u>fu94^E*4)r*;U+%uRbkXFX5pC~XG4*F&dWOO!>{zfzbH$gWaC z1@2__skivIFcVb&N-AR{CjX}W?2sYp_B7`wfg$G7&?f`>SNY72lLQcQ_TD2FzI+&&77`k+g27^Pfg% zrEkl#0nsej!*XxlGz%5=7WbYith(q_yj_2I_rcURefg8szVKM_jjzN5XkC`sv^Zvq z6BYOc?j30KSfVN3hc&Wy4C0)k3B5n=Ms=->&i`gE>haN?7a)0&n7^vVc3$FkLEex` zFK8#lL%uAH?VAbP)s_wMQ=P`sQA5LvluTjxH6ki)QbXO%s<468FNt8-eFhtB2@I~i zFWpWrMc~B}aEaX{@bt91kFSR8d!dU&ha=->Bfk8wNOp_Wr2^?Hk2FWF2J_=k1>=+t zypn@(qWM-*SA2ONKg}POVY_eykAD+m9ZqOSfw}AC5Lz^B$-_bUI&{_%=@g;tNLlDC z8;P-?SyiW;_UoZ0Ic?3Fqoi*I!uGlWX-ZI3D#>gXs}RpOt*g7?e3mZ!jBu8+toO+D z^N=_812N>7z?SuTAIq`pmuOmz?g(WJ(h8#6+$x^-vLPR+N!cRHe+HE#{9${$y^;L# z6g!!F!(_J=rbolBIxDABruZ_e-?!b@9v3;h;X=X@nN`Bo!6!78L*mGeDM8)lkBvXU z)|4^N`Y}4oU)x|!P%(;)<@AH)pR;a_``FrxiR75mtmBh$28RqI?++{=w>;k?;oZ0N zQeGL8<#2&p-;3R*P}pO~#z{~8N*3kyL15N8F3J723M@Il66YIs5wY|<{x zxr*IxBL38e;87mKCH#4nsFTrgFZL~E$#DL^@2|SD3S7~QGVjJoJwJ_LPng6$S0Kj` zCeVx3(}H=X{nbtkUuqK=<86YXkBB*SX(9iMP21$_YK7-#0m&qZdENm>57!L8p2 z6PeGX`8^A+hf&{mEqC!NR3ww*Nqc;AtnGCO@1n!zQm55S9HXYfQ#D+(Za>$q)l%;N zW1m{nW^^zzqVTAy%DZ}wD3Se+EApfHvEna2?30p!vWYb7GNGCfZf?gZZVi(Px~9Q5 zWiP0#d|oQB2Kap9mY(B~19N9M86ao7YVs@!D1FmDtF4H3%dX;{wMj3(;(m}dxU)Zv{eD=@M zL=Z4X_#|Z+dh#>NhYaNy_(Vv{J24_Ve1h(-y5;q6HkVXa|7s%b!nhtsvmSk2-!xSX zZROw0|K9R^EmrQB$ywe0N~9Wihs$>)y0{_{Z%Ltc=9k<`Y)YGq_S@!+q1B*zr;_$m{98pHwEdVwd#P@)YV5%W?aRGP~P{ z%!9o=fvOMYB*g@#!`~wWMGTxCO)||eXGsW~rhDW+4t!7(O~Au7`Zp+^h-HJox{X9X zw*RkJ)g)PZ35CrYPU>;tIpq_H=2_!HEF_U&?)~|@9l^&&A38Gss+!O4l$uwDPVUbs z!yf$;dj~E~Hf!mKvB~q&6d(zgJ6V*HJAHDjonF2!5Kl2y%3aWIf06sPu)L`f0?mx6 z#8Nh-t8 zBYHA^6zfMcop%orxKn%>5eXcOZtV{4>bp~RPZ@dr+CTpL%@WA5&L6ya=Lz>}GBzy# zx3A8mr-EIyFCu;^^u5AIKFpGrTxg$3E7Y8Tlzhs~^Tl&P2B0G9QPj&Xilw1!16$8z z_U5U4Iy`a>&PMk7<#H&11$N7WG^3i6UOUg;{L>}1{ea!|xM12|HmexDc=3K&&LYbN z8zzQ2zHTBLQc{8EYb_!QFO5ZC@GeYfXsJ8ZS|>Mx&=IRJ+H!~7 z`?hL1QG)--OtAIh?tC`9``p*HN<=gtRX)&>n!u57 zUP=DBxK%{)tlayS*xB7{v?x(RdzjZTw&bPE3*v+5Pq)YN<$M06i;qlnZ4C~=Z*Rrh zeP|JSrL8XwK3t|gCI_Og#pZFXsOWV1I4@18MCtPVev1pAB3H*}=5F2jbt*$Jtk&!m z=is05Px%A8^G2RaA7R&OrJ=`iiaJyEdkn?eaC)}o$*d)5GIG&@cb}U-_8-GGNLiju zW4BHYkFRi4j(pZ1t1!VOcCJk=&#$@h7s&T%PPx1->mn?5yMjkx9r||9tb${{@9YHzZg*1Jx_mI#4gM0 zbMnvWQiNL(R}?{P*`&iEqRgQTt9|rzez+A|x;cj{gY~wsq4C9ox~#{1y^SU*>kpra z#!nZfWJ)f3z=c%#>=XIQtV2Q&Gkr;A0mn<>$=K4#V*Y4T&uTqVrUBp9?{>7R{eoo< zTd93X3o!~<%;)zW1O$;U=E){d7=2}g3AkFTlw$;SGm!5t#VO`qm)E~ahB@XaU!>(P zM(k+QI;`{TX~x7HxD^h644qRHdNfIXN#sR#vNUv8x+Uqsw}BX5VrmA7;D=SW&$&xT z2J(vnqD=wnh<=i33xcVawlVyB-(URl$RTxpC}Q5oL82zCde^sFNDT?2eI6}Q&Z$V# zwq{T~(m#1cDE^nB_SKmtS3S(*37-wqcaKwE&qH?U#Bv8N{MXdj0>ihBsVd70& z?;;!V`gF}7R>{P0*q6ky(Gl1ZYCW)apZc`$;m}Xcgp2}*v)N$CeLfbm8DFF0De~CS zafW2fv83LykJdnozZ{=4iTQXDzD4QLP?&1zE@Akz{B7My;8~*g{ zh`iz9*r4cmi&0Frsj!EVLRsZ3kKaI-98#R5HC8lZ{HaCzLg(@vkB{T;s80{1AGapa zF!z(uGK)X(Kkf*00f2NF>{Vb%!|lSg;>;y;@^Zm28g|WrglURf)r-w(e9+ON6bwNW z?sn;yV>Ri19AaB_xe|gsThEqRMr3}2k#s7`Fv>FfCI?K$-kWEvF?yf6CSPb@q5)&1 za5AZO*PF+cX*fJ`kav*fWMuZ2MIF^vqYLREhr>Hk3*#o$22* z9Y1t>{~*8jshESKU71>Z!m-Y!~%4Fh_uwf3u1p=Kx4bpBRDm{_YXl}Kc8b%K;z3d4t|{x4j+hV#*dGq?HD_sJf?9L7Q^|4E zv1b)aKXJDO@OcOvGZb?x(K$`UcjcH(Hk&7O4&rxacn9va!6rXV-2S<6w`E4nr4O%( znBZPul#a7W4l%xYEhf2v-wf3q=O&45f5RNgWZ|)&xZac>Cgp;w*zUM+cbc?V+0F5# z#5?s|;ynr?8KxT}&5o=)_>4<^_KsE%duTS{MG9kLq)n4?GOgO+z4(1!!g!%4 znN(KN$oh!CGRPv8tw{Y?702x@%`ao^FBY zG3JX~)}xBBm&JCRJW8&xnfcv+FVB|(Lnw;&p3EuyxTUSTWLm;CURPU#9~bRUN=PA+ z`d(pD0Vbn#czc}0a^$s<9-eUDo}IeEmC`HjLrNpsPU5jWb;;k%@6w*nTs`WsJ6kvM z;rvRTXury|H8OBSPwnxdR+Kx-8?73br_ba^d+!qgdDynuQ;Lnap(XwIw9JOYF+28m z9Re%Q^@MN+KiVjkG`dV0m|&0GX1PsD&!eaw!tv>JWNVq+@0|aMMSc`cmLdJD{h>I% zgE-%>Nvlm|7t6s)dn#B{@BG#|vluh=;mp_WKfW|BIWY-EJ6m^zdFiWNm?z3}G#`q& zo)MHvp?ASphnem%mMyPWhtzJA>%^jj4D<*eu z9e))|IoQg1`s`4{G55iT)5}WnoFT^#@{i^Rl$i6({`t9;uJ8MrtXgR#rEkE{k46T1 z7!6aGH;t@?S2Y2wSF^!Cx{?ZRg^Ad;rd2iFqT0oUY5ytI^1;NyqMpwrlQFC68DOuu z^J%E4Q97%_*gwkbjOhdv4Q68>4yg8S+$yT4-fQa^e|3+7Mm{R^ zg$HYcW%wQWRNkld70WTKpQLR@aHn z4*~x5vOHp+dV{D{3LP_G6KxK;$~m^TC3*|LNC+lJGGve(`*xgZ?ujn;S7q{s;~x$} zmGul+8ZXK{bFnojaF__tyo+UNSOvKfmMB8^s)tIeo02;(pyg|NWNFDb@-`_~J$jnu zH?#WI1bT`}n8KN|uvQ*zN%@w<9QuZjrT%O8hp7V8){8z=A#qV(6-TRlQ$y8eEX6R= z&|sJ~SvNn@WYZL#>&v#AS zTiDH4x3X&jZt+<^;+4plvnbtu`aRb$bW=HJo(thEl@d9s7#G4Jpi`)C(IKuEVqWEM61*~_a-TH~L87`}F2 zfH9rjXLSv z6N1v+_wT4vEhv1bZ$c`c6tcC2*R{l5c$Bp+&!tf<@{mnF?=?44W#D74y?;9e9-+M) zhS#&yKI#eN;;$ZV?6ZAZh&khYxBp;y@^#QR_}7{#Yvil6skPkSGl_Xe=LH{DV0|yz zGU2a%3OF}tkm^^9*POZgF4B>2G7Hx_f0Z#13k6$^eqqnY(Kb8JGiYZ0MAlV4a~z?7 zry-9skwD)i>4o=$d!$Km-0`3I(|9qutlF37jI(>=HE(NEcH8)$@_Q(v&yT*+bXx5; z`Ih%oC*yYC7N2?)+drD?i^crh0SZ`BmQ4XNZ(`005&bJ#=ey=sja9yhX~l{40tQA$ zkm?@c$lpCt@$D~F#6F{lQbTjiMF#py&YaKh-fHlOr01SJanFqWX?Kf)aiCwU0+X5D zE8{Sk^gG@a@fV(FX=eJNZpRWn0!u>p)fZ132Q@>RO0z)c=W}vD-?lvpC}aGkcbk8OZ*m$ZdO=C1sGB|s?@xnMhevuY_ zr#n7jHIg)Cfd1`0#+P;qF)mFOIgPs{>K0|gb;WVpUCUjC$m`uEIx|pqZ7s z+W%Z+B-k*vN>^wCUeWG47X;m@jGs|_O8%fe1W~@1bbbAzV)y&pC9d;>ewyFGce)5; zzg2eAZqCN{XL$TF-(oyv+O4cH+_^g0k&J&+!Wqavw7()tAy$B&PM;6L4z6f;qAMF`L3}?0KW!&-aM1hEl za?afa=30`nYpSilg|lzlO0a`a2N=8jJ_hC5zzdNwtQM=s;)&W`zebhC0<*%O{N>5_ zidxb8bTDevj_f!XzFw)23&W4b8f%OAkUkN{KP*4I=9RCA_p^;vfWetAWz0>gN1OIa z8bfv`&g1OgGj^jNr`k<9J3dtlBnwl`*Vu1W8=Bwczilt;+55xtB2g9=E)v+6y^`=- zJLAVw`Gbifh0O}K#y^2C|5ir+aX-#nGW5NiRJs!Ow)!T2awLoWTLC9js6I=#rI1pw zxhXE{$u_Uflw!a&dvaD4i*$MG@u4wcO3>%Gv%L-jov#XH?aUD^&W)aqIH%2uFHYLq z;K@TFC!%-DzC|;i+#N-B!xAkA_G=m~DDe2smjq*zD4Ud<1syt4bXFM0J6`^iebb@+ za^pZ_k9*3^>bLf`z8vkpg2-&$`kAFqZ&bV-Zeea2TQzaaKFV@_QEupI zVv$^S$-ocf!{jJlsuZhwIA-bjnC;X#NVU%8t3s5v|3de7!jfa>NA|Gd?-3R?!@iC> zA*#0{3h34~GVe`3E@N8$ey8KghR%51Fx)6&Vf@oTc<5qDB}26|0dlm#M|tm``K9@M z*~oIx+A3VJsXQ^mnme7fp(pA=;*elVBDP=kq_z&)EG7=}qgxHd`||_Cj@O4g=XFTW zcPm*c0&8uxcJ|MV5~CeqRA?;Xce-EMyDg05z$WU zN2A%I@1OoQ!qg@;mKxsosZiz**?=O(72l(RG52xKx$`fMIc%>5ImN5I7#fW3huFa0 zJu}yB?OaSapni60yJGq7ggNlt=X$v9o$Ypu&Ru%;C_bM^)jx%4B-oMrRBu@`?V4go zID>?AybIr3DAJ@DXJE{+Yxsq2$Yb|JGVjnonOi|6Jl|S&EXRp*nKd&u0|gh z)=4-o8)ci5EJDQ&7DLNuzucM08~-`=km`<-(Pj!P`bxd2FOBR^9E63C?K=O9-Xv>3=&A{C&)LEXzlK zi>5-YgI%DJLwWszno&hdNeO3qNZmdIy`?_(oO|S9U-E%OOT6rG@nv2bTP?3z1qM!r?q4M z#ZQvC|DAE&<6Det>viqE>>PIne6*~V9N%J`krEWS{)7+#w+ z;(|wa&*XE_FPDywp2h+bx-ZF6b86*%lnaa;%2w%57+`_5BEvJiGIZH^ara%1o+zcC zrw7};B95=7Ff^YfIBBJ*~u1tY1+yi>Lxuiy`}UM zJJO8Lhw)-G$+>`)9?8%i^T5(F0Pl7xsfmO3#f;61&OMchp8LJVN0(|D(TLEIeolxk~&ADb)?&|e9(xlM2rJ~C z_Mf-jzDlru?!D$opTPuk@zKgjJa4=-36owleO;fm=V{ln&j(9+FW01yIY@q<%!`!< zTt#)VqS+o2N9C07DId&IeEo&>onJQn%by;$XVUHY7FaA^jVQRVd=nOTVixh{knR3- zZ%=4#ur#?h^@*zc?XTnXCaf46oGGdW^ZnML7|Sa#rAtadTo$ik463}L&~^r+`phM~ zK8A=5Pv5Z27ZEJdK~`y7Otp<$9iv~r&ktC=@q9$7&-Z4ngWcRk$hOdzM!K~+Scp~{ z=fN%`GU_NK{i5#wGFyl58wshQQIL}E6eI-c z?oL6v?~(c8?|t8U|G4uwJ|FklYwxwz-e+(g);`~y39FL}Uq!g-efJ_el)9g<)5b^x zs&_kcCu(DyU%YEhv33v=ViUjP)wozQ04q)pwG|7blNWY}{-Tfb&>7hN*hJkRJ@bg5 zLTWdQ%;sj*8|`q-K)j5?IruH7S|Rz_8~l!hCkZOFU$)B`6A$N2_V64Ai#eNoPsa@Q z_6OE{7wA>ZD>`_+Fba z`4mR~7SV8h3oU{zsc#&@r8il?(w2=O5R(_@e;qR;;ZT4SByowtNVC(4Ub^A3*sM`% zQD0gj26^{2ty98%1EJ#-#Xk2;TxtZ&&a(cJQe+XXK;u`dSCwA&rgP=ccAkpFL`UTJ z3mxJ>V%qc%MWJjM<$9zky!`IgIZJ{IYUPs=2)l36P?Uy$1n)aFso)h~EuzoTXqkzP z$l^1cR}en^<>Ogrq^`?={*w6oO~b*4N1qdy*B;3p4UW9^K^QixgFZLakDY~f@Rj+G zQ|?rL7bOhcUtGc^3U-1)nA>eKs+4>R@jgGEZopHEska24jb&%qP{bXgtX`F&QDtNbHF5K=nPzL9$d)1vXB zhB;HBLDU3ZVxNpYWbOx(VPQ*yG>s-AmFkd#J8TZZh=-3ZOWHy>;+T_t`$&Z4rE&Oc z$<$-62E8aL?43i!I$^BvdbnGLMR}DXbMoz`8AzZdC0ci)yEuyB9C;KB#xXboZo~N} z5s@=`edWz2Thb?<{gQ37R#us(8w$RKRUT&RFUP<2dl?W~=zPkLUbd~%5E8jC*RD0P zMcxMC6;a1}Mt{#XapyDq8Ks|kuyiRVHjmvb0|2_&{P84H#T>y# zb2b;@yT%58Ryyw#bkS1H#nN){m+as2#FdQGlK8&XCx~LxHfeB@1JpSj61{6)6bsDz zA(Mk&m|!!y2ao2IQ;ep02lk?Fjg7aYw>u+ zY|m2}xh0hM6FE0l0C}9eJME6(pVDEZ`*S`T^~(wZVnC5FDnd&O_7vzf9JnJ+%tJL< zSJ$E8?W&`H?(6vxHkV`WaT`JF!pls)mrG(+kOS%TLV@WgBg?C|a$Ct6S6g3|HL&j@ z*1wgapeK(Ff|m*1v`(KMc`$X~k%ZU4&!G-Se7;@<8>@|$1we);^ZdI<~dSW($hk@~?u-<7gej06WkC<^^ zOJl-=v9nYvwC+a9s+g^#Ui+Dg`I$hCZvLt0?Pra%F^`u~=T4lvnhq3;?^b6jWN|F> z!G>;MH3Utg7X{O`m7}Dj<~Y!?4V$+N_kQ1A7p0@7vgvG29_jmUR}_Km?gnZe%h^v` z>pnf5^@@w_+wFt-@0@|CC*|@PVPN3Rp@)6t#NUdrNWYO_lM{I(Eg`P_mQ_xo$#WuV zWioNi1MUXn=FQuo2E=t=Dsk%2?AXoYxXiQpot@y`!k47#Px=*f`cV}=DKKQ$j&qy* zssa!4#_g(@;huJozn?rY)4n+aw}D0PF35pDsx_#0S1rkmo7-G5ceh1CNng(g?`lK) z$&ub%x8)t4&V%n%4aiwlbyA)+!1EMKKj$O>iDcMfl>CTi8Kc-=>Tg1dy#?P4=G6Tp zHmoXYDigv0yPKUH`MVW(W1bf`@s~@3!4y)@$)+;Tdi*4dpZ3x-c$6STJ2}&WUCU<9 zmVWw!yPOm-^lG`BUIc)Ua_C`2xa4kc#>u(DC_&-@Tr&EfqQy%jMOl|^#_tIH^gu)i zo8*?-;%5BL`(+pFgY$O*xzD;7ROtDAkooXTbXtwW^90EFY)TwGuo%;MSQ(bw!O<%% zA{-QybXcw5=GYqPjnHsn>$+|ntN9QRUnDlY0S_pYe)%}WkXI7YqcKjZKjgaUQuj@KukKsT4?HtY z&!h0Yng!1Z`F5cj`r9WQFAc7z;;!-EC)?sG(}{uB2gtJZFH&~jBr)fJIZRL zal3~O{03nva?r+Gdvp#Whj-^I0Z*ExnaM35u$gG;jVXG*9tDGLi*zE8a?3J8-o9q? z-gw1*eHkx9SzXGZ{fGW5^VLugX{d)=O9qqVnVkn$%}APR7}Yx*0O zB`!-PtO(mT-8o0E`-dCe_c(;?$s(JYSB?%$jC#6+1J%w4Pe7FLzVYnKaT)S)l(_A< zftSS3KOEQSDj=1MF)O{=v<^zZ*E8zcAX_2T%1cE~4?W=X*81e`<`)>CCv!Xy(b~@v~jrqBnSJJ1f6r1;6mv4ga3xP0= z{D2Mn)gl-9H!(|D7o?~9{O!^UVxI^&NzQ8A*8?$k_Z3FI;SJX#loeKHCi6y@uVvG^ zMB5I+X3XhNhSepUc^J$Q*Jj`g(!Ccctj{l-^n<5$AkI%r@iIU_}Me@92X&iXvo z1LoPszENdu+g)-(x9C+E)-x%!(U%IZBysVrWnuE{jB*eky&}w_M8`5M>#(YqlD6lV zM2$iJe(30aTJ&;Ls!~gBto8&|(J`7%ooEx;>j#TeQN2qy>&@m1j&{fsl0U1UOt^1? zP8to@mr)daUU}(=D}K$_*U{;#CsWpMV|TU46BnWtf~-ApLLDZ|Pw16L6xPwE;{ABK z!_F~SYc3?ZyMLiFTZFV@)hIcILNRh{!{;qLdHV|IzIrEj#Q9BqhFy--fI^{(n zJxF|?Wr!7=FY-MV#UHfky2Iuu|AE5isG#7bOd|4G-s7M(B;H>*SBo5Jr`3W{7wqEM zpt?1p%A2FOQp)v)}h~nN1|Jd!pb&Y z-Z^%A!W;9mg3JvI`07hwKlYbl&W|EIaSMs2O5K^2`=aQ0EW`0Z_!+F|S)#GOP#k6y zhJ=c1HjNR3Nvy)!T2B9+Locp>fWLd2mX#yeoZmPv>`P zfh2chLg_$9DN6lUlpZIRwL5Bsf_jqR=>a{41QsP71kLC%g}N)Q_-ta%(c;mag_Tpq zoQs*|054QAG1M$=KV+TRm}38B5hRcK^)6C-17)OFD`)$U7cTkWwpI7sE$~S^7k#y2 z`lvgmU)Q}2aHS7uqZdW|5FUS?&#wjF@d9nxYSsBXBK7@S z`RVER27BiUtX3;No=QoV%i#$hpDWmrV#l0FT}LX#s+59S&uR{z@7^&JA7gOk>Lay% z4?(6Fbi#6E!h}E6h~<%y)UQOdEp3^(t$}>D^J_KX8$gb}&i)SOA1xcvaza`#ZA2{) zk9lP|!t72_XLFp#yf?eKk`iG`E`CU#i^UdE4NJTvSRWWQ{mHEsgL-DSA?YgI88&@N zfY~L@`O}txOvyO$^y7HepO}KKNA8Nghj!5$HEv#C^lQ&j%nxmG2s8&gF!zITi5eXd zVHE|-W9KNH;~_U-7HyLHM;b}EO|h?KV8zt(hTqT%&odAqw8=?4pLns}KRg#SQ=9;{ z{n%iJf{ap4_C(~EmQ#zsWr^U~cNDE;WK+jM<7ndWi-L@9jo*x`q9)Z|7i!3ZaYMvz zhJ6-7F*P_;6NJaa{ep~~1SbleM_$-bWl5X)eg}BHELT!A5O#_w5E8gTZ+u1}u2yo< z+{n_Ht2iM|(XF}vO4fyjt)z{~^#-x3jHm_AN$c);5_JFp6;jo68&oH;xYn9ylTJ(D zJtA8J^5kjqQ6zbJ z^0z4dfdlK8iZ)*_MfPe_UFYgqmmk$eXA+9rD9hkB!&ehqMbUJSYN*P&e}ePIa+}cW zn`ahr+28wOS-; zZEs>@V$8A3;fvNbg4E*1&Ht#Iomf^+Y!u5ww>U5}X2+D+vZP6J+wknM7Hn5YNIqtN zj+fsoGJ`b54A1Z1cmW;_DR?cidGBg1U=?tw2D8xLGa1@(5jz&_7|c=F56F`E#&o@Zh_ zBaz7m3Q%N{-Ytc|b{YH{zSPHH%!F;9<2&K55VzipvnI5TJGnxfQn6wHms(0URlQeq zHX|)bz<7o0+V_KWl)g?@R_Nes-a_Fv>p=Z)2~6S_4h`hokMzK!k=2<)T)z592$bw{ z0k>y!Dnt@Bd6;{lW16r-z5*38&$t~Yzvjau?{vBFr z`88RlIC@-_k=3{3nV5GTUGeN_R>OXNE+J+r=4~pQ`ovbr){LS)9<`mb@~ zQIB8i_4as%t0{t$gerH7_m_-Tv$Mh#fjdPQ6Yr3tmOfYJF&73AQRRNY^Y*-$B?Ln%UOj}? zYdID2w7@{juRjDe^@ZWmPN{Kykz7+vbptbI3j>HnJO=o1(B(TfCMDuW?69zYQw>k~ zzhpKhTu=`OTbrau+5Yrduv3}5DI;PS4pt0l*D>MZL8GP#Ydu%F(H)rPstRB7sLb6Q zA9#U|^mTq-Eo9EqdXDh}ma!*E^hy39ZYeI_ccz8>6Ge1v9*H;_(U$c{(~-~cSj}Nu zOhGdZAd-C+iOrM<3%oCOJ8Z2QXctqBNY$J&drtfaVA|Ar1$yCkZn@hou3r3h2MWVy zjUlL5Bvab~HOA_M!-_s4$7gWG6w^E5NZg6Lftb-@hykD?63b>yqkd;cr7@}_&^H63 zqMp6>UZA#rlTm0^LY=?U?0SuUGzT*vKpH>pt5|Yt(XMV&SBtpSB5Nxg;yQ*- zfhm4Cor}&TQ>Qm5uO@NrQSwu>eS=X{h3P&7jP0OpdEUS`$?o_!{KRZq49Si4p{V8) zvBLS-a01jWqjSfGw07!vv6nTHc9xsj$S>1Yffc^d%3km*$s!P&h%4uMmc%cP8!Z!y zmdO@PV>DcLd(~OBpL(*1`dRHYy`Qvd^s-76W^?k*77UQ|sJcaD!-L1-yv?g94k13_>h%k>cqagB*XB%r_L4ke!UHDxZrLI*Y%K{YuRI!*_jUn z+lUKeXwvWtM?$YCamBf_%4){kdo046WjIZu>8u3@=JNb15>lxbVbb85Yb_+qkehwR zTg3JZApv5uUTAZ+wG12qVMyC~j8yHCR1j9$DbQo^QF8DPM7lNaQ>G}gja)p+Ts~F# zqU3G5h*8h9_I+XxJ~1MfC5$|X-=S%0A3N&VVMr#HO*q5#4NqraRx!-4cbu);dLtI0 z45W5shv8-MVrt)UFTMww1PWZ9%}OfUdlp^*rS;qF;CTJA;C89nDjQe~Zh;``&7u^9 zQn?#&QE*KStaJ-#ajwBLDtH}+o{V^RF z!0|=6s7tuJ2*lkJQ~gE0)H7wT7SH#WKD#Sa{Vbn}ms*nig(*C+VkAYe&U2AvGgjv| zyG&i=9Aw!jzq`^lUVX{_LX;m>)U+3+CaBU3965n#TNzo0iHzf+v5;oCf%$q=J0$Yb z_MLS^+~EqESPx!lz9$XW?K&0DY&LQ5s4x!NE<>!iQ)1XY37pdS~cim z)H=^g<%l;ybY{yJF6kBR3#T{st{LaN{f4h?N*hs1f=Az<-2VB%5RcVFp%WNIfty(1 zma(c8x5g<)2PTW(1j@Zo60wgu#rYZ z#*7ol7Tur!$Xl_Cw2oOq2*1CPFc)>PDla+kv>280aPIreN25A3Ekkn5S{&UMi@N!p zI;L0?afYKaR*pUB_{;%=$WM#>@YKF2gIbQ*R|)@;cZ9vyY7rH4c8B-T$D9TIgdWL5 zpckY?g&g};2lF;4n zUxTJ~SZ>nBDGV;9IlJrIhZoy{hwsXri14&yRM35v#>3&j_ULz|kp~cRS(B29cav!3 z=V}K_ACkbI3p1+o(cGuEVCAu&7ATXEJB3VxcUjGPc4WnTl~9-VGm+PycyN&KoV0%I z96{=&!KY!~$W!nWRL?NmvX;MC6&++HVdR`RvFju?%#G_%;ZgfV0oQBalscyF1G~;= zcv@xYfN}|xD06raMB8EXZY3UL5al~sAvx|llc<7EYzy41EfEsy3?macm>YN+T!plo zro`bc`0ZAWy!&4dyzhIg=PC?B&)9_^aia2*AQUTe^KQ%>%2vLJP=41i^gD#TN>rwX zWBjBdxueVB?b~NZhUte?cY6TI3cce6w)JHF%tFM%u2xeA72!m8 z?N^6c6kK(bjlJG({ytEp zTY#dRW+&E|jZ4=luc5bPLFi(zc!_|{8>t?GnA6?1sXEae_jx9QWPocRh`eC{J zMdxIE`aq^B^^tKw`Db3wfJ30bJNd=$ngR|rw0xV6EcXDyy*8hdczK!elppM5ORPVY zBn4QnEPfSO5Hy&Q2&t`~c(%a#6|aZ}@q&jA-FSZ{<@nTja?Cy<5iot@ikJ+P(y_BT z@gLYFzl>zpe`HjglU;Na`ZSpPC*`*<7q``KgT&*Nu2E{qS*3Ojo)!l7R=qq9dGtzj zK|E;(h9zbX`GRXP5+yBdhJN8i-5W38lOX*M^MzdRDhczG(Y8sD&>MnWXnlr)T}v>* z+qIoNt|x^9x*0}qlkDr|uP4r+$==%|F#Iks4xsdrpSeeyd_wzXh4;0mAq z2ZcFRbG+rwv$HO*5pThx`9SJW_~pEa2GZf(^N>ehL=}#jBN3{;WsS}q_!oT4NAPl6 z)$M4~CzBA4i7sJb6VJy8W;A^Nn9*N!7{5Fy@-=ggNDE2Yf%Wc+7k~P^E+TWKEx0&c z`7L)quTq=AWhETSOOeY!c=9S`;%HtJxy`TS)#TA>E?Hmv6b5*P^j{QjAX$h~IDO`U zO=V893g6A;UmlMpiFz8<66D_Di(!Qme^E8sXdO0JJ6<(h9obva;M>}JxJXEYSaQr> zc%^+3+_9uhLzjz^{s@#o@j2BvI}5Df^K4d~9sfmvtq1V%a^*~#rPgcgEz;NmmFjpj zJ{rq?dNp01DzE37V@WN4R?Ez4iyZ^! zI`f6JyKbWtuJlfdJYV~C^nQjM#ye!RDy?+g%o|s(dR;uWiK1s7K5QmY%+*IL_Ojhf z&a{Ijbp!Y#NjWohjNi0&Tfl$DTkOxn`tG>=EDco_PmFZfXTy;rFI1K}4cGT2exh$- z+OlpY+ON*tm=%?ukNRy_w@mY4`-MOvhL#;>&$u^xXja_oqI0~f{w#w@LLj4nINcjw zNPU0u%WP4s5;WwhRUR-5eVxmS=2KO(v+$4`*V)?eu`H7V*rOA0tkRDGY{nbxo}O*V zZ_+R1nJQ(J1qMxb2lMX`#)*U6b{zTN_l!q%>xm<-yJqDwr28E?@y}%Ay1#k-JL`Le z>MnuauU)NAj>SmQ&*R5J4|zL%+K<+nrQ**Ck)l|Ckm$*V_Cz`-fJ2W5^2Ias%*3Dc z`4he{oFtTN!vtq!fFtoCt+w701}qn`1>r69q(Wp%doS6KOQxTnA^YuLEn1Hfoudw? zWO=6Oa2Bh5)R(%ZQP;l!YIjlLLg@67CAp69;yTQjWEdguzh-=R7hV@$gN+|}(w<@L zAcQ6)U^&Bf0TW)T9J3xlpvjb3n_pdc8|=gFMd85R;m)gL;%)Z>x!qOQLK zao*kWv`!O5I)IVWiIF5AFj?dt7q5*9!Z3DeWI^Z~*2-uLZT2F^-KuK8j;s7T3`c&1 zD2ILxg(Iv_lEDtWO}Ru@l#+AOrcbH)5OsktDHNS@Dwl%`Ct4O}A!7Q`AjCjAmdT>E zv>&mQmLE3HLLU}2$avwgT|%+}-jJsyufICaQM@oHIg zln%D#ti!xwwR_MVqe=H>Dll)x)1a4T_I;B=sja&yc&U|4QunQyE#nhfx_4}D8fFMM z^1l@#xaj1*3i}(d}CeB}==m+FMjwRR;N9s-QM0 zm5tBv(K*3cUpz6a!++r~eO5rc%7?pcP=F9R)iFJ_eoq+=jWJ>a00b9c=s~u!3 zH$aKb(c5jL4p1x<>d=NgT!}wt(%Fw$1*0avcf|gv zqlZ(1jV@ft_k@n%_e*vNp?wqZgk7b{TZyIqsT2@Q>IXA5-w}P}Zo{AB%EIe|vcIIR zknYYiLcBbtU8`cKvNJYjU{iuzKYk1y=dS{5KNfTUopojTteKxGYW*5seS8Xd8W+0YTMTEjJ}kc?Ny{vV(OT;=^(Nj_eO{GUZoYcV&-XkcTk(S=4C@NT zn~NzeVbP`(gDDMs)DoRBGE>R0!dt$$KmHd*}$!Kp#E=Iy+#)* z@aVYCoH}THJ0AEtDTL$B^LYIO428sU?om{nJM9m8`RkCaZGjir9Ztsf{k2by1_xgW zf!9|myRL_}jEG-aoTbjzOJpb&RJ|SxJguuQ`i1RbU)zmydGT>_V^GTv9-)SVQY1Q9 zH)iRhkb0sgqjGPB@ofo3f1Ri~Zp)m|G&o~IELKI+u6TRNqvHJF_h5_n#Sh{U1F53h z_<7DJ8d0O&Z+Pq4?f4CD08Cu7Enl$P}90hycJTLT( zzE0!Jd_nqk5<7?^vuEW;f3%?;kKo?YFry14^_G;QpxEBFoyYze?L}#luAxSWNe@^v zY@{vO-9lMaOGys{4nHR(HILhkOD|$sm`CRKVDc9Cm1BbDHH1KSh2=Z@gd@2i8;>lP zs2vOSRcy>qT=HwDU`ZSzl1SW&u(&2{o_@v(K}dJe$Zp-|h{=#EFn)^r+5kN2f>$*-E6U zLqo<$p*G|kRrl+ijR{jKW;2T%QtPDJ+GGuWjJDRFrGU&H7Nc66I(Sz3}$kO1+w>0ZNo#+5H}>p|E~lG4QfOOkQ_ZYiX7u!$7*9v&hVK*AfME zs5tGoq+7TZ{n)qdlf#NVaeIrnwUFn`?_14U)H!YhypwAy*+lu4*V|bvUD$q`z_-y| z$LGSLjz(Iiep8xasd}$=jYy5a>Gklx>1y}6g>NxRbVt3;_o~o-dZDieO*=7bR?wlo z{mo;DyRJAH z7p*hDj(+v~C@wHu$m1P~XBD@h>Rf(sn5jhadehp83hrn!+>q?0vkW=q3YaVAMe7gb zvbsbe&)X$cwTAaw{b_T9W@#_gZTM~k)W)j}VvjvJUc$WDVy(nzYmEG!RI07^LX-S1 zP`#iU1$|ZhWu}&jihaQ+&^U?J80pOnEh*ycYLJCnzvG}Aj>W_m4l;eVoD7Vl-2rqA zQ4@J`jtweR37>X4O^N+$uUv3^K>r;G&vAd(UHn`Un`?_4r}}XNWu(%b2l#6J+k(!N z?${i+`n7Zm?fRf#b9=kQ57_Q-3PCzykpj)3em-nC9k@ciNb*UQCB{wH;ak#!_g8)1 zMQkrOHDtR4lI&+veC))6hQDM+AFZ)}jZ@}nCXO#xmQXpuyjl>ytC|9*QB0t?8DMa0 z#%f)r@dc{QImD#QWr;u4;?`_uBM)Asyz^+)RcF;&CDM0Y^li6xk=&G=Fn(_WQGJO+ z-zLN$6K@ju2`l6X-}gjwMMeK`?-6$?aRf0?r%XdK!Aa8fNxrbC;J{s(GG11WmOe*R zW%(H;6*X@^qt+e={oNk8vLO>jTQ_A0rk7tv1hKE&iC3aMwk$a!aD+w;xm;!0_TY~6 zfGsV0N@R zr(5ylV0o@Xc)e1UPd9deSjXFJI{|hK9h;do%p!`9;>^GL;o5|4^qbbc8|^%ApClx7 z;3$h{P^$=cCx8$1#tw()ir_b;vt7+{pMn~ zTs^;*(DmzzyC(E+YnKui8XddaIxkFn?2lX#iY38?>9j_`WK{?CQ#qVwVwIIv zJD$v@+g18;5!g7$CRrQ9_~}PDZ!9LOVbu&*le@^9p=*Z|4~!lvBOTbBA$-;xeM$Dk zqL^wR2pmq@!-wzV+9V|#`9n=SjB6VL71llzlJda5 zZH#-&l&Gyxp8K5$zuI79*?KDsqp0`;%I(#nn8rSHTdYcBF3~rlrbLs{4t(p@0r@i? zx{=OFWG@`4cTtViUhI&ZTRyC4MaTu=s1rXbzdxeu`U|14Jc>XLjZ@#&-P-0yOBas5 z⪼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 Zp7i|JULOm>SOM503n~MR3R6JN{twJ(z#RYp diff --git a/empareja-las-sombras/Empareja las sombras.apk.idsig b/empareja-las-sombras/Empareja las sombras.apk.idsig index d511348a57ddda943c867abf5b28cb549412f253..06ea86b1cc09370c8d983d6e8af2fb1a739f61c4 100644 GIT binary patch delta 4937 zcmWkvcRbV&7&%ex zQ)U_UEB@Bxt42i6W?YxVIc2FP_Kk;SaZuud)ce6yhdu zhuLg}0~NVafX68n@d~kZaG3WECHPFl9LlS`GyHS?9U5Bm%c0)mpbRMVU2 zw?Y9LjYPbUAiwmczUFhp9YcoKznvM9Ude{fmm`$f`G)vA0Q_lgUgC7bMm(kAb~1(% z4jlZ-J*9WKF`h$n7#@Gk+rXC8r*k}ty<0sKe~5OUZmn6QL{WrzmEAnZB8jj;C6yt67n^9xN;}b9Qo_iro;!$;L$pRa2x{Dr85!o;o}& zCKGEIu+x{!{Im9Y;$Uayg%^|WFu{#Y^!^Xo+Z)5o@4omi3Q7p*B30;v*jdHr-E;9~ z+g}6GUUeH(hVs%OB#B14bg`psPbZ(iB_76?Rv))iYY5Wyzn-Q??ybM3aI`JKcedM_ z3gv31dYbTNsw@dfW>LgVc^v@?vTyANfnOnRX8)MvQg)m+sdkj^6UL)!87RixI8Gm` z%rN^a$1P1mi{2LgfW~d8UO65NqRz5*sw!ojL#V87%?t4ISkd)`8uvI@jaz;gMFWl1)*|TvRV6iOx=3c$d|M?Kay zc!l1jN-C-8fvV=}FKF$nS#H}^{(hGdDnc^1F&tpO{ZeDl=>?Vmml=0jBKO!2kYdp0FH z2j+fz|7uZwV#*o=D7Bit1k)BoSBpZNQ}?{7E@$QG$Cpj5HqMbnuf7~B0Wh2C|_F0nqzfVf&{XQ97bt)0j>ixRS2&*7;V;8zV9=T=J%B?1gd8GeN zq#L?q8=GvyR>{4Bc)z2T7f&Oa&aDB3qtx)}rY~T~P~_lKKeO%fEA-APg4!au0>2m$ zn_*s23#*i(@_Ll7&r=63a~f_|j4WY3=G6bNwZci2jP0)AaSVFy7t+|9Mb;C&8_zJ~ z%e2}v85U%38Ok>*sVX(JlTOrt0svKO>kS@3YNMdOqpNl?DrisPGNZ6*fB6xaXJ6i} z0Q2b(#5qbHLYth5-4uBtU!FO6cu+8uvbCi6kK%fgsIJFg6g44T2>}g-qq+RGq;ewEvK5=gL+nLKlA3x7u2j{fmrv@xBy=wr{G2L8YeFG#TMcFe z`5UQQ>UDvCpFPW)+sgAS7P2b89#?p#yP7P!u^p2x45(ONKG+^^&3vp*+F=lv%gYl4uo@ELqkJqNdKF6Ujs$}}|IzD1u; zs^q&35*;s!A)1_%zJ=|70(&?tKbN!IKiy|t{(hsWyH6NNdMS@NxIlB0Ma#H*55_r)!~Q0y3Y@;@maod`ux{R;yz?$A~UkhGB($JLOHXo;6gA{X}*@zl9P zjEErF#(V>RBdm$uAlefOhX9lfyO4=8#UHcM4!ccsEIB?5LX`oUo82-$=qWO!jh#WF z*F`q=P<3M8$2l2a%rnS6uHPgM<*I)ToAzkLZ91LE47X7J+EBiF5Sc|o+UEOHCNy8n z3vK=o#dNHea{Nf9G>07y;=G{%Il$OEe>Tb@O}V>o?H_T|n=S;{ *Asz*ilQSCW7 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 S*s`qK1t9t%NQwkEO6dP>6hMUl diff --git a/empareja-las-sombras/project.godot b/empareja-las-sombras/project.godot index 57fb8e7..e698cc1 100644 --- a/empareja-las-sombras/project.godot +++ b/empareja-las-sombras/project.godot @@ -18,6 +18,7 @@ config/icon="res://icon.svg" [autoload] ScreenManager="*res://scripts/screen_manager.gd" +GameData="*res://scripts/game_data.gd" [display] diff --git a/empareja-las-sombras/scenes/Configuration.tscn b/empareja-las-sombras/scenes/Configuration.tscn index 4dc2e0d..3a37593 100644 --- a/empareja-las-sombras/scenes/Configuration.tscn +++ b/empareja-las-sombras/scenes/Configuration.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://c25au08um2kxt"] -[ext_resource type="Script" uid="uid://ctge47k34s7yi" path="res://scenes/configuration.gd" id="1_d6xro"] +[ext_resource type="Script" uid="uid://ctge47k34s7yi" path="res://scripts/configuration.gd" id="1_d6xro"] [node name="Configuration" type="Control"] layout_mode = 3 @@ -18,7 +18,7 @@ offset_bottom = 731.0 layout_mode = 2 text = "Selecciona un jugador" -[node name="MenuButton" type="MenuButton" parent="VBoxContainer"] +[node name="residents_menu" type="MenuButton" parent="VBoxContainer"] layout_mode = 2 text = "Residentes" flat = false diff --git a/empareja-las-sombras/scenes/Game.tscn b/empareja-las-sombras/scenes/Game.tscn index 6c5b0e9..245320a 100644 --- a/empareja-las-sombras/scenes/Game.tscn +++ b/empareja-las-sombras/scenes/Game.tscn @@ -70,3 +70,25 @@ layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 columns = 5 + +[node name="WinPopup" type="PopupPanel" parent="."] + +[node name="VBoxContainer" type="VBoxContainer" parent="WinPopup"] +offset_left = 4.0 +offset_top = 4.0 +offset_right = 96.0 +offset_bottom = 96.0 + +[node name="victory_label" type="Label" parent="WinPopup/VBoxContainer"] +layout_mode = 2 + +[node name="duration_label" type="Label" parent="WinPopup/VBoxContainer"] +layout_mode = 2 + +[node name="fail_count_label" type="Label" parent="WinPopup/VBoxContainer"] +layout_mode = 2 + +[node name="exit_endgame_button" type="Button" parent="WinPopup/VBoxContainer"] +layout_mode = 2 + +[connection signal="pressed" from="WinPopup/VBoxContainer/exit_endgame_button" to="." method="_on_exit_button_pressed"] diff --git a/empareja-las-sombras/scripts/animal_tile.gd b/empareja-las-sombras/scripts/animal_tile.gd index 430548d..651b7f3 100644 --- a/empareja-las-sombras/scripts/animal_tile.gd +++ b/empareja-las-sombras/scripts/animal_tile.gd @@ -84,7 +84,7 @@ func check_drop_on_board(): var tiles_container = get_tree().get_root().get_node("Node2D/HBoxContainer/VBoxContainer/TilesContainer") if tiles_container.get_child_count() <= 1: - tiles_container.get_parent().call_deferred("check_win") + get_tree().get_root().get_node("Node2D").check_win() placed_on_board = true break diff --git a/empareja-las-sombras/scenes/configuration.gd b/empareja-las-sombras/scripts/configuration.gd similarity index 54% rename from empareja-las-sombras/scenes/configuration.gd rename to empareja-las-sombras/scripts/configuration.gd index d707040..98b1f85 100644 --- a/empareja-las-sombras/scenes/configuration.gd +++ b/empareja-las-sombras/scripts/configuration.gd @@ -1,13 +1,25 @@ extends Control @onready var levels_menu = $VBoxContainer/levels_menu +@onready var residents_menu = $VBoxContainer/residents_menu var level = -1 +var id_player = -1 func _ready(): RenderingServer.set_default_clear_color(Color.SKY_BLUE) levels_menu.get_popup().connect("id_pressed", self._on_level_selected) + await get_tree().process_frame #Esperar a que se cree HTTPRequest en GameData + var residents = await GameData.get_residents_loaded() + + if residents_menu.item_count < residents.size(): + for resident in residents: + var full_name = "%s %s" % [resident.nombre, resident.apellido] + var id = int(resident.id) + residents_menu.get_popup().add_item(full_name, id) + residents_menu.get_popup().connect("id_pressed", self._on_player_selected) + func _on_level_selected(id): match id: 0: @@ -16,6 +28,9 @@ func _on_level_selected(id): level = 2 2: level = 3 + +func _on_player_selected(id): + id_player = id func _on_button_pressed() -> void: var bg_color = $VBoxContainer/bg_color_picker.color @@ -29,4 +44,8 @@ func _on_button_pressed() -> void: game_scene.table_lines_color = table_lines_color game_scene.difficulty = level + if id_player != -1: + GameData.start_game(id_player, level) + else: + print("Selecciona un jugador") #Cambiar a popup ScreenManager.change_scene(game_scene, self) diff --git a/empareja-las-sombras/scenes/configuration.gd.uid b/empareja-las-sombras/scripts/configuration.gd.uid similarity index 100% rename from empareja-las-sombras/scenes/configuration.gd.uid rename to empareja-las-sombras/scripts/configuration.gd.uid diff --git a/empareja-las-sombras/scripts/game_data.gd b/empareja-las-sombras/scripts/game_data.gd index 23e7cee..a80c672 100644 --- a/empareja-las-sombras/scripts/game_data.gd +++ b/empareja-las-sombras/scripts/game_data.gd @@ -1,23 +1,160 @@ -class_name GameData extends Node -#Este script se encarga de comunicarse con la api +# Este script se encarga de comunicarse con la API + +#Señales para saber cuando se recibe los datos +signal residents_received(residents) +signal games_received(games) var all_residents = [] +var all_games = [] -static var resident_playing = " " -static var start_time: int = 0 -static var end_time: int = 0 -static var fail_count: int = 0 +var resident_playing = " " +var start_time: int = 0 +var end_time: int = 0 +var fail_count: int = 0 +var level_game = -1 -static func start_game(): - start_time = Time.get_unix_time_from_system() +### Metodo para inicar partida +func start_game(resident, level): + resident_playing = resident + level_game = level + start_time = Time.get_unix_time_from_system() fail_count = 0 -static func end_game(): +### Metodo para finalizar partida +func end_game(): end_time = Time.get_unix_time_from_system() -static func add_fail(): +### Metodo para añadir fallos +func add_fail(): fail_count += 1 -static func get_duration() -> int: +### Metodo para calcular la duracion entre el incio y el final de la partida (en segundos) +func get_duration() -> int: return end_time - start_time + +#--------------------------------------GET RESIDENTES----------------------------------------------- + +### Metodo para hacer un get a la api de todos los residentes +func get_residents(): + var http_request = HTTPRequest.new() + get_tree().root.add_child(http_request) + + var status = http_request.connect( + "request_completed", + Callable(self, "_on_request_get_residents").bind(http_request) + ) + + var url = "http://localhost:8080/resi/resident" + var headers = ["User-Agent: Godot"] + var error = http_request.request(url, headers) + + if error != OK: + print("Error al hacer GET:", error) + +### Metodo para parsear json de residentes y que emite una señal cuando lo tenga +func _on_request_get_residents(result, response_code, headers, body, request_node): + print("Código de respuesta:", response_code) + + if response_code == 200: + var response_text = body.get_string_from_utf8() + var parsed = JSON.parse_string(response_text) + + if parsed != null: + all_residents = parsed + print("Residentes obtenidos:", all_residents) + + # Emitir la señal para notificar a quien esté conectado + emit_signal("residents_received", all_residents) + else: + print("Error al parsear JSON") + else: + print("Error del servidor o conexión:", response_code) + + request_node.queue_free() # Liberar para evitar error 31 + +### Metodo que espera a la señal de que se han obtenido y parseado los residentes y los devuelve. +func get_residents_loaded() -> Array: + get_residents() + var result = await self.residents_received + return result + + +# ----------------------------- GET JUEGOS -------------------------------------------- +func get_games(): + var http_request = HTTPRequest.new() + get_tree().root.add_child(http_request) + + var status = http_request.connect( + "request_completed", + Callable(self, "_on_request_get_games").bind(http_request) + ) + + var url = "http://localhost:8080/resi/juegos" + var headers = ["User-Agent: Godot"] + var error = http_request.request(url, headers) + + if error != OK: + print("Error al hacer GET en juegos:", error) + +### Metodo para parsear json de residentes y que emite una señal cuando lo tenga +func _on_request_get_games(result, response_code, headers, body, request_node): + print("Código de respuesta en juegos:", response_code) + + if response_code == 200: + var response_text = body.get_string_from_utf8() + var parsed = JSON.parse_string(response_text) + + if parsed != null: + all_games = parsed + print("Juegos obtenidos:", all_games) + + # Emitir la señal para notificar a quien esté conectado + emit_signal("games_received", all_games) + else: + print("Error al parsear JSON de juegos") + else: + print("Error del servidor o conexión en juegos:", response_code) + + request_node.queue_free() # Liberar para evitar error 31 + +### Metodo que espera a la señal de que se han obtenido y parseado los residentes y los devuelve. +func get_games_loaded() -> Array: + get_games() + var result = await self.games_received + return result + + + +# ------------------------------- POST PARTIDA ------------------------------------ + +func send_game_data(): + var games = await get_games_loaded() + var game_id = 0; + for game in games: + if game.nombre == "Emparejar las sombras": + game_id = game.id + + var http_request = HTTPRequest.new() + get_tree().root.add_child(http_request) + + print(game_id) + print(resident_playing) + var data = { + "idJuego": game_id, + "idResidente": resident_playing, + "fallos": fail_count, + "duracion": get_duration() + } + + var json_body = JSON.stringify(data) + var headers = ["Content-Type: application/json"] + var url = "http://localhost:8080/resi/juegos/stats/add" + + http_request.connect("request_completed", Callable(self, "_on_game_data_sent").bind(http_request)) + var error = http_request.request(url, headers, HTTPClient.METHOD_POST, json_body) + + if error != OK: + print("Error al enviar los datos:", error) + + diff --git a/empareja-las-sombras/scripts/node_2d.gd b/empareja-las-sombras/scripts/node_2d.gd index fadd11b..1c50608 100644 --- a/empareja-las-sombras/scripts/node_2d.gd +++ b/empareja-las-sombras/scripts/node_2d.gd @@ -188,11 +188,22 @@ func check_win(): var all_matched = true for child in game_board.get_node("GridContainer").get_children(): if child is AnimalTile and child.correct_slot == null: + print("Porque") all_matched = false break if all_matched: GameData.end_game() - print("✅ ¡Has ganado!") - print("🕐 Tiempo total: ", GameData.get_duration(), " segundos") - print("❌ Fallos totales: ", GameData.fail_count) + GameData.send_game_data() + var popup = $WinPopup + popup.get_node("VBoxContainer/victory_label").text = "✅ ¡Has ganado!" + popup.get_node("VBoxContainer/duration_label").text = "🕐 Tiempo total: %s segundos" % GameData.get_duration() + popup.get_node("VBoxContainer/fail_count_label").text = "❌ Fallos totales: %s" % GameData.fail_count + popup.popup_centered() + +func _on_exit_button_pressed() -> void: + ScreenManager.go_back_to_previous_scene() + + +func _on_exit_endgame_button_pressed() -> void: + pass # Replace with function body.