From 0ebd855a435b444f8cc8164eebaa4386855b43c1 Mon Sep 17 00:00:00 2001 From: 45 <980269297@qq.com> Date: Mon, 23 Dec 2024 10:23:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E9=80=89=E5=85=B3=E6=A1=86=E6=9E=B6?= =?UTF-8?q?=5F2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Assets/GameDate/Enemy/TNTBurket.asset | 2 +- .../GameDate/LevelDate/LevelState_1.asset | 484 ++-- .../Assets/GameDate/PlayerState.asset | 1 + .../PlaceItem/Tree/Whirlpool.prefab | 131 - .../Tree.meta => Resources/ItemPrefab.meta} | 2 +- .../Tree => Resources/ItemPrefab}/Boom.prefab | 13 + .../ItemPrefab}/Boom.prefab.meta | 0 .../ItemPrefab}/TntBurket.prefab | 14 + .../ItemPrefab}/TntBurket.prefab.meta | 0 .../Resources/ItemPrefab/Whirlpool.prefab | 377 +++ .../ItemPrefab}/Whirlpool.prefab.meta | 0 .../Tree => Resources/ItemPrefab}/tree.prefab | 14 + .../ItemPrefab}/tree.prefab.meta | 0 .../Assets/Scenes/Level3.unity | 9 +- .../Assets/Scenes/Level4.unity | 9 +- .../Assets/Scenes/Map.unity | 49 +- .../Assets/Scenes/SampleScene.unity | 4 +- .../Assets/Scenes/StartMainScence.unity | 2260 +++++++++-------- .../Assets/Scripts/Enemy/EnemyPool.cs | 19 + .../Enemy/EnemyUI/{Block => }/BlockUI.meta | 0 .../EnemyUI/{Block => }/BlockUI/BlockUIBar.cs | 0 .../{Block => }/BlockUI/BlockUIBar.cs.meta | 0 .../{EnemyUI/Block => Item}/BlockNode.meta | 0 .../Block => Item}/BlockNode/BlockNode.cs | 0 .../BlockNode/BlockNode.cs.meta | 0 .../BoomNode.cs => Item/BlockNode/Boom.cs} | 2 +- .../BlockNode/Boom.cs.meta} | 0 .../BoxNode.cs => Item/BlockNode/Box.cs} | 2 +- .../BlockNode/Box.cs.meta} | 0 .../BlockNode/TNTBucket.cs} | 2 +- .../BlockNode/TNTBucket.cs.meta} | 0 .../TreeNode.cs => Item/BlockNode/Tree.cs} | 2 +- .../BlockNode/Tree.cs.meta} | 0 .../Block.meta => Item/TakerOverNode.meta} | 2 +- .../Item/TakerOverNode/ItemTakerOverNode.cs | 64 + .../TakerOverNode/ItemTakerOverNode.cs.meta | 11 + .../Assets/Scripts/Enemy/Item/Whirlpool.cs | 2 +- .../Assets/Scripts/ForwardCamera.cs | 6 +- .../Assets/Scripts/GameManager.cs | 64 +- .../Scripts/LeveProcess/LeveGeneraterNew.cs | 842 ++++++ .../LeveProcess/LeveGeneraterNew.cs.meta | 11 + .../LeveProcess/LevelDevelopManager.cs | 15 +- .../Scripts/LeveProcess/LevelGenerator.cs | 139 +- .../Assets/Scripts/LeveProcess/LevelNode.cs | 45 +- .../Assets/Scripts/MapManager.cs | 75 +- .../PlayerManager/PlayerStatsManager.cs | 49 +- .../Tool/Data_SO/LevelDevelopData_SO.cs | 11 +- .../Scripts/Tool/Data_SO/PlayerState_SO.cs | 1 + .../Assets/Scripts/Tool/getNodeTools.cs | 18 + .../StreamingAssets/EnemyPoolToLevel.csv | 5 + .../StreamingAssets/EnemyPoolToLevel.csv.meta | 7 + .../Assets/StreamingAssets/LevelMapToItem.csv | 5 + .../StreamingAssets/LevelMapToItem.csv.meta | 7 + ...FSTimeGet-da61fd9dc8019424dae9d7d7348fdaa8 | 0 ...FSTimeGet-e0bcc83011a3a2d45880755fdd98fcce | Bin 0 -> 8 bytes ColorlessWorld-2024-4-2/Temp/UnityLockfile | 0 .../Temp/__Backupscenes/0.backup | Bin 0 -> 459188 bytes ColorlessWorld-2024-4-2/Temp/workerlic | Bin 0 -> 1014 bytes 58 files changed, 3283 insertions(+), 1492 deletions(-) delete mode 100644 ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/Whirlpool.prefab rename ColorlessWorld-2024-4-2/Assets/{Prefab/CardPrefab/PlaceItem/Tree.meta => Resources/ItemPrefab.meta} (77%) rename ColorlessWorld-2024-4-2/Assets/{Prefab/CardPrefab/PlaceItem/Tree => Resources/ItemPrefab}/Boom.prefab (93%) rename ColorlessWorld-2024-4-2/Assets/{Prefab/CardPrefab/PlaceItem/Tree => Resources/ItemPrefab}/Boom.prefab.meta (100%) rename ColorlessWorld-2024-4-2/Assets/{Prefab/CardPrefab/PlaceItem/Tree => Resources/ItemPrefab}/TntBurket.prefab (91%) rename ColorlessWorld-2024-4-2/Assets/{Prefab/CardPrefab/PlaceItem/Tree => Resources/ItemPrefab}/TntBurket.prefab.meta (100%) create mode 100644 ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/Whirlpool.prefab rename ColorlessWorld-2024-4-2/Assets/{Prefab/CardPrefab/PlaceItem/Tree => Resources/ItemPrefab}/Whirlpool.prefab.meta (100%) rename ColorlessWorld-2024-4-2/Assets/{Prefab/CardPrefab/PlaceItem/Tree => Resources/ItemPrefab}/tree.prefab (91%) rename ColorlessWorld-2024-4-2/Assets/{Prefab/CardPrefab/PlaceItem/Tree => Resources/ItemPrefab}/tree.prefab.meta (100%) rename ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/{Block => }/BlockUI.meta (100%) rename ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/{Block => }/BlockUI/BlockUIBar.cs (100%) rename ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/{Block => }/BlockUI/BlockUIBar.cs.meta (100%) rename ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/{EnemyUI/Block => Item}/BlockNode.meta (100%) rename ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/{EnemyUI/Block => Item}/BlockNode/BlockNode.cs (100%) rename ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/{EnemyUI/Block => Item}/BlockNode/BlockNode.cs.meta (100%) rename ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/{EnemyUI/Block/BlockNode/BoomNode.cs => Item/BlockNode/Boom.cs} (98%) rename ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/{EnemyUI/Block/BlockNode/BoomNode.cs.meta => Item/BlockNode/Boom.cs.meta} (100%) rename ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/{EnemyUI/Block/BlockNode/BoxNode.cs => Item/BlockNode/Box.cs} (97%) rename ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/{EnemyUI/Block/BlockNode/BoxNode.cs.meta => Item/BlockNode/Box.cs.meta} (100%) rename ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/{EnemyUI/Block/BlockNode/TNTBucketNode.cs => Item/BlockNode/TNTBucket.cs} (94%) rename ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/{EnemyUI/Block/BlockNode/TNTBucketNode.cs.meta => Item/BlockNode/TNTBucket.cs.meta} (100%) rename ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/{EnemyUI/Block/BlockNode/TreeNode.cs => Item/BlockNode/Tree.cs} (95%) rename ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/{EnemyUI/Block/BlockNode/TreeNode.cs.meta => Item/BlockNode/Tree.cs.meta} (100%) rename ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/{EnemyUI/Block.meta => Item/TakerOverNode.meta} (77%) create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/TakerOverNode/ItemTakerOverNode.cs create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/TakerOverNode/ItemTakerOverNode.cs.meta create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LeveGeneraterNew.cs create mode 100644 ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LeveGeneraterNew.cs.meta create mode 100644 ColorlessWorld-2024-4-2/Assets/StreamingAssets/EnemyPoolToLevel.csv create mode 100644 ColorlessWorld-2024-4-2/Assets/StreamingAssets/EnemyPoolToLevel.csv.meta create mode 100644 ColorlessWorld-2024-4-2/Assets/StreamingAssets/LevelMapToItem.csv create mode 100644 ColorlessWorld-2024-4-2/Assets/StreamingAssets/LevelMapToItem.csv.meta create mode 100644 ColorlessWorld-2024-4-2/Temp/FSTimeGet-da61fd9dc8019424dae9d7d7348fdaa8 create mode 100644 ColorlessWorld-2024-4-2/Temp/FSTimeGet-e0bcc83011a3a2d45880755fdd98fcce create mode 100644 ColorlessWorld-2024-4-2/Temp/UnityLockfile create mode 100644 ColorlessWorld-2024-4-2/Temp/__Backupscenes/0.backup create mode 100644 ColorlessWorld-2024-4-2/Temp/workerlic diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/TNTBurket.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/TNTBurket.asset index ab10d013..e93e7c18 100644 --- a/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/TNTBurket.asset +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/Enemy/TNTBurket.asset @@ -16,7 +16,7 @@ MonoBehaviour: enemyIcon: {fileID: 0} stepRange: 0 stepRangeMultiplier: 1 - speed: 0 + speed: 2 maxMoveCoolDown: 0 currentMoveCoolDown: 0 shieldValue: 0 diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/LevelDate/LevelState_1.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/LevelDate/LevelState_1.asset index 8f1447aa..bdfc399e 100644 --- a/ColorlessWorld-2024-4-2/Assets/GameDate/LevelDate/LevelState_1.asset +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/LevelDate/LevelState_1.asset @@ -13,6 +13,7 @@ MonoBehaviour: m_Name: LevelState_1 m_EditorClassIdentifier: levelStep: 0 + mapLevel: 0 currentPoint: {x: 0, y: 2} levelSaveMap: - levelDataList: @@ -24,6 +25,8 @@ MonoBehaviour: column: 0 fatherLevelNodes: [] nextLevelNodes: [] + fightEenemyPool: + mapIndex: - roomType: 0 isUse: 1 passBy: 0 @@ -34,15 +37,19 @@ MonoBehaviour: nextLevelNodes: - {x: 1, y: 1} - {x: 1, y: 0} + fightEenemyPool: + mapIndex: - roomType: 0 isUse: 1 - passBy: 1 + passBy: 0 nodePos: {x: -7.583029, y: 0.05970955, z: -6.679107} line: 0 column: 2 fatherLevelNodes: [] nextLevelNodes: - {x: 1, y: 3} + fightEenemyPool: + mapIndex: - roomType: 0 isUse: 1 passBy: 0 @@ -51,8 +58,10 @@ MonoBehaviour: column: 3 fatherLevelNodes: [] nextLevelNodes: - - {x: 1, y: 3} - {x: 1, y: 4} + - {x: 1, y: 3} + fightEenemyPool: + mapIndex: - roomType: 0 isUse: 0 passBy: 0 @@ -61,8 +70,10 @@ MonoBehaviour: column: 4 fatherLevelNodes: [] nextLevelNodes: [] + fightEenemyPool: + mapIndex: - levelDataList: - - roomType: 3 + - roomType: 0 isUse: 1 passBy: 0 nodePos: {x: -5.4530487, y: 0.059719086, z: -8.679108} @@ -71,8 +82,10 @@ MonoBehaviour: fatherLevelNodes: - {x: 0, y: 1} nextLevelNodes: - - {x: 2, y: 1} - - roomType: 0 + - {x: 2, y: 0} + fightEenemyPool: + mapIndex: + - roomType: 5 isUse: 1 passBy: 0 nodePos: {x: -5.4530506, y: 0.059720993, z: -7.679108} @@ -81,7 +94,9 @@ MonoBehaviour: fatherLevelNodes: - {x: 0, y: 1} nextLevelNodes: - - {x: 2, y: 2} + - {x: 2, y: 1} + fightEenemyPool: + mapIndex: - roomType: 0 isUse: 0 passBy: 0 @@ -90,7 +105,9 @@ MonoBehaviour: column: 2 fatherLevelNodes: [] nextLevelNodes: [] - - roomType: 5 + fightEenemyPool: + mapIndex: + - roomType: 0 isUse: 1 passBy: 0 nodePos: {x: -5.45306, y: 0.059724808, z: -5.679114} @@ -100,9 +117,10 @@ MonoBehaviour: - {x: 0, y: 2} - {x: 0, y: 3} nextLevelNodes: - - {x: 2, y: 2} - - {x: 2, y: 4} - - roomType: 0 + - {x: 2, y: 3} + fightEenemyPool: + mapIndex: + - roomType: 5 isUse: 1 passBy: 0 nodePos: {x: -5.453064, y: 0.059726715, z: -4.679116} @@ -112,45 +130,56 @@ MonoBehaviour: - {x: 0, y: 3} nextLevelNodes: - {x: 2, y: 4} + fightEenemyPool: + mapIndex: - levelDataList: - roomType: 5 - isUse: 0 + isUse: 1 passBy: 0 nodePos: {x: -3.3230686, y: 0.059732437, z: -8.679108} line: 2 column: 0 - fatherLevelNodes: [] - nextLevelNodes: [] - - roomType: 3 - isUse: 1 - passBy: 0 - nodePos: {x: -3.3230724, y: 0.059734344, z: -7.679109} - line: 2 - column: 1 fatherLevelNodes: - {x: 1, y: 0} nextLevelNodes: - {x: 3, y: 0} - - roomType: 5 + fightEenemyPool: + mapIndex: + - roomType: 3 isUse: 1 passBy: 0 - nodePos: {x: -3.3230762, y: 0.05973625, z: -6.679111} + nodePos: {x: -3.3230724, y: 0.059734344, z: -7.679109} line: 2 - column: 2 + column: 1 fatherLevelNodes: - {x: 1, y: 1} - - {x: 1, y: 3} nextLevelNodes: - - {x: 3, y: 1} - {x: 3, y: 2} - - roomType: 5 + fightEenemyPool: + mapIndex: + - roomType: 0 isUse: 0 passBy: 0 - nodePos: {x: -3.32308, y: 0.05973816, z: -5.679112} + nodePos: {x: -3.3230762, y: 0.05973625, z: -6.679111} line: 2 - column: 3 + column: 2 fatherLevelNodes: [] nextLevelNodes: [] + fightEenemyPool: + mapIndex: + - roomType: 3 + isUse: 1 + passBy: 0 + nodePos: {x: -3.32308, y: 0.05973816, z: -5.679112} + line: 2 + column: 3 + fatherLevelNodes: + - {x: 1, y: 3} + nextLevelNodes: + - {x: 3, y: 3} + - {x: 3, y: 2} + fightEenemyPool: + mapIndex: - roomType: 0 isUse: 1 passBy: 0 @@ -158,32 +187,34 @@ MonoBehaviour: line: 2 column: 4 fatherLevelNodes: - - {x: 1, y: 3} - {x: 1, y: 4} nextLevelNodes: - - {x: 3, y: 3} - {x: 3, y: 4} + fightEenemyPool: + mapIndex: - levelDataList: - - roomType: 5 + - roomType: 0 isUse: 1 passBy: 0 nodePos: {x: -1.1930923, y: 0.05974579, z: -8.679106} line: 3 column: 0 fatherLevelNodes: - - {x: 2, y: 1} + - {x: 2, y: 0} nextLevelNodes: - {x: 4, y: 0} - - roomType: 0 - isUse: 1 + fightEenemyPool: + mapIndex: + - roomType: 4 + isUse: 0 passBy: 0 nodePos: {x: -1.1930962, y: 0.059747696, z: -7.679107} line: 3 column: 1 - fatherLevelNodes: - - {x: 2, y: 2} - nextLevelNodes: - - {x: 4, y: 0} + fatherLevelNodes: [] + nextLevelNodes: [] + fightEenemyPool: + mapIndex: - roomType: 5 isUse: 1 passBy: 0 @@ -191,9 +222,13 @@ MonoBehaviour: line: 3 column: 2 fatherLevelNodes: - - {x: 2, y: 2} + - {x: 2, y: 1} + - {x: 2, y: 3} nextLevelNodes: + - {x: 4, y: 3} - {x: 4, y: 2} + fightEenemyPool: + mapIndex: - roomType: 0 isUse: 1 passBy: 0 @@ -201,9 +236,11 @@ MonoBehaviour: line: 3 column: 3 fatherLevelNodes: - - {x: 2, y: 4} + - {x: 2, y: 3} nextLevelNodes: - {x: 4, y: 4} + fightEenemyPool: + mapIndex: - roomType: 5 isUse: 1 passBy: 0 @@ -214,6 +251,8 @@ MonoBehaviour: - {x: 2, y: 4} nextLevelNodes: - {x: 4, y: 4} + fightEenemyPool: + mapIndex: - levelDataList: - roomType: 5 isUse: 1 @@ -222,11 +261,12 @@ MonoBehaviour: line: 4 column: 0 fatherLevelNodes: - - {x: 3, y: 1} - {x: 3, y: 0} nextLevelNodes: - - {x: 5, y: 0} - - roomType: 3 + - {x: 5, y: 1} + fightEenemyPool: + mapIndex: + - roomType: 1 isUse: 0 passBy: 0 nodePos: {x: 0.93688774, y: 0.059761047, z: -7.67911} @@ -234,7 +274,9 @@ MonoBehaviour: column: 1 fatherLevelNodes: [] nextLevelNodes: [] - - roomType: 3 + fightEenemyPool: + mapIndex: + - roomType: 5 isUse: 1 passBy: 0 nodePos: {x: 0.93688583, y: 0.059762955, z: -6.679111} @@ -243,15 +285,21 @@ MonoBehaviour: fatherLevelNodes: - {x: 3, y: 2} nextLevelNodes: - - {x: 5, y: 3} - - roomType: 5 - isUse: 0 + - {x: 5, y: 2} + fightEenemyPool: + mapIndex: + - roomType: 3 + isUse: 1 passBy: 0 nodePos: {x: 0.93688345, y: 0.059764862, z: -5.679114} line: 4 column: 3 - fatherLevelNodes: [] - nextLevelNodes: [] + fatherLevelNodes: + - {x: 3, y: 2} + nextLevelNodes: + - {x: 5, y: 2} + fightEenemyPool: + mapIndex: - roomType: 0 isUse: 1 passBy: 0 @@ -263,45 +311,56 @@ MonoBehaviour: - {x: 3, y: 4} nextLevelNodes: - {x: 5, y: 4} + fightEenemyPool: + mapIndex: - levelDataList: - - roomType: 1 - isUse: 1 + - roomType: 0 + isUse: 0 passBy: 0 nodePos: {x: 3.0668812, y: 0.05977249, z: -8.679108} line: 5 column: 0 - fatherLevelNodes: - - {x: 4, y: 0} - nextLevelNodes: - - {x: 6, y: 0} - - {x: 6, y: 1} + fatherLevelNodes: [] + nextLevelNodes: [] + fightEenemyPool: + mapIndex: - roomType: 1 - isUse: 0 + isUse: 1 passBy: 0 nodePos: {x: 3.0668805, y: 0.0597744, z: -7.679108} line: 5 column: 1 - fatherLevelNodes: [] - nextLevelNodes: [] - - roomType: 4 - isUse: 0 + fatherLevelNodes: + - {x: 4, y: 0} + nextLevelNodes: + - {x: 6, y: 1} + fightEenemyPool: + mapIndex: + - roomType: 1 + isUse: 1 passBy: 0 nodePos: {x: 3.0668807, y: 0.059776306, z: -6.67911} line: 5 column: 2 - fatherLevelNodes: [] - nextLevelNodes: [] - - roomType: 1 - isUse: 1 + fatherLevelNodes: + - {x: 4, y: 3} + - {x: 4, y: 2} + nextLevelNodes: + - {x: 6, y: 2} + - {x: 6, y: 1} + fightEenemyPool: + mapIndex: + - roomType: 0 + isUse: 0 passBy: 0 nodePos: {x: 3.06688, y: 0.059778214, z: -5.679112} line: 5 column: 3 - fatherLevelNodes: - - {x: 4, y: 2} - nextLevelNodes: - - {x: 6, y: 4} - - roomType: 5 + fatherLevelNodes: [] + nextLevelNodes: [] + fightEenemyPool: + mapIndex: + - roomType: 3 isUse: 1 passBy: 0 nodePos: {x: 3.0668788, y: 0.05978012, z: -4.679114} @@ -310,18 +369,21 @@ MonoBehaviour: fatherLevelNodes: - {x: 4, y: 4} nextLevelNodes: + - {x: 6, y: 3} - {x: 6, y: 4} + fightEenemyPool: + mapIndex: - levelDataList: - roomType: 6 - isUse: 1 + isUse: 0 passBy: 0 nodePos: {x: 5.1968794, y: 0.059785843, z: -8.679108} line: 6 column: 0 - fatherLevelNodes: - - {x: 5, y: 0} - nextLevelNodes: - - {x: 7, y: 1} + fatherLevelNodes: [] + nextLevelNodes: [] + fightEenemyPool: + mapIndex: - roomType: 6 isUse: 1 passBy: 0 @@ -329,25 +391,37 @@ MonoBehaviour: line: 6 column: 1 fatherLevelNodes: - - {x: 5, y: 0} + - {x: 5, y: 1} + - {x: 5, y: 2} nextLevelNodes: + - {x: 7, y: 0} - {x: 7, y: 1} + fightEenemyPool: + mapIndex: - roomType: 6 - isUse: 0 + isUse: 1 passBy: 0 nodePos: {x: 5.1968794, y: 0.059789658, z: -6.679112} line: 6 column: 2 - fatherLevelNodes: [] - nextLevelNodes: [] + fatherLevelNodes: + - {x: 5, y: 2} + nextLevelNodes: + - {x: 7, y: 1} + fightEenemyPool: + mapIndex: - roomType: 6 - isUse: 0 + isUse: 1 passBy: 0 nodePos: {x: 5.1968794, y: 0.059791565, z: -5.679115} line: 6 column: 3 - fatherLevelNodes: [] - nextLevelNodes: [] + fatherLevelNodes: + - {x: 5, y: 4} + nextLevelNodes: + - {x: 7, y: 3} + fightEenemyPool: + mapIndex: - roomType: 6 isUse: 1 passBy: 0 @@ -355,33 +429,38 @@ MonoBehaviour: line: 6 column: 4 fatherLevelNodes: - - {x: 5, y: 3} - {x: 5, y: 4} nextLevelNodes: - - {x: 7, y: 3} - {x: 7, y: 4} + fightEenemyPool: + mapIndex: - levelDataList: - - roomType: 0 - isUse: 0 + - roomType: 4 + isUse: 1 passBy: 0 nodePos: {x: 7.3268824, y: 0.059799194, z: -8.679108} line: 7 column: 0 - fatherLevelNodes: [] - nextLevelNodes: [] - - roomType: 4 + fatherLevelNodes: + - {x: 6, y: 1} + nextLevelNodes: + - {x: 8, y: 0} + fightEenemyPool: + mapIndex: + - roomType: 0 isUse: 1 passBy: 0 nodePos: {x: 7.3268833, y: 0.0598011, z: -7.67911} line: 7 column: 1 fatherLevelNodes: - - {x: 6, y: 0} + - {x: 6, y: 2} - {x: 6, y: 1} nextLevelNodes: - - {x: 8, y: 2} - - {x: 8, y: 1} - - roomType: 4 + - {x: 8, y: 0} + fightEenemyPool: + mapIndex: + - roomType: 5 isUse: 0 passBy: 0 nodePos: {x: 7.326885, y: 0.05980301, z: -6.679111} @@ -389,6 +468,8 @@ MonoBehaviour: column: 2 fatherLevelNodes: [] nextLevelNodes: [] + fightEenemyPool: + mapIndex: - roomType: 1 isUse: 1 passBy: 0 @@ -396,11 +477,12 @@ MonoBehaviour: line: 7 column: 3 fatherLevelNodes: - - {x: 6, y: 4} + - {x: 6, y: 3} nextLevelNodes: - - {x: 8, y: 4} - - {x: 8, y: 2} - - roomType: 5 + - {x: 8, y: 3} + fightEenemyPool: + mapIndex: + - roomType: 0 isUse: 1 passBy: 0 nodePos: {x: 7.326885, y: 0.059806824, z: -4.679115} @@ -409,99 +491,116 @@ MonoBehaviour: fatherLevelNodes: - {x: 6, y: 4} nextLevelNodes: - - {x: 8, y: 4} + - {x: 8, y: 3} + fightEenemyPool: + mapIndex: - levelDataList: - - roomType: 1 - isUse: 0 + - roomType: 3 + isUse: 1 passBy: 0 nodePos: {x: 9.456891, y: 0.059812546, z: -8.679108} line: 8 column: 0 - fatherLevelNodes: [] - nextLevelNodes: [] - - roomType: 1 - isUse: 1 - passBy: 0 - nodePos: {x: 9.456893, y: 0.059814453, z: -7.679108} - line: 8 - column: 1 fatherLevelNodes: - {x: 7, y: 1} + - {x: 7, y: 0} nextLevelNodes: + - {x: 9, y: 0} - {x: 9, y: 1} + fightEenemyPool: + mapIndex: - roomType: 0 - isUse: 1 + isUse: 0 passBy: 0 - nodePos: {x: 9.456895, y: 0.05981636, z: -6.67911} + nodePos: {x: 9.456893, y: 0.059814453, z: -7.679108} line: 8 - column: 2 - fatherLevelNodes: - - {x: 7, y: 1} - - {x: 7, y: 3} - nextLevelNodes: - - {x: 9, y: 3} - - {x: 9, y: 2} + column: 1 + fatherLevelNodes: [] + nextLevelNodes: [] + fightEenemyPool: + mapIndex: - roomType: 0 isUse: 0 passBy: 0 - nodePos: {x: 9.456898, y: 0.059818268, z: -5.679112} + nodePos: {x: 9.456895, y: 0.05981636, z: -6.67911} line: 8 - column: 3 + column: 2 fatherLevelNodes: [] nextLevelNodes: [] - - roomType: 4 + fightEenemyPool: + mapIndex: + - roomType: 5 isUse: 1 passBy: 0 - nodePos: {x: 9.456898, y: 0.059820175, z: -4.679116} + nodePos: {x: 9.456898, y: 0.059818268, z: -5.679112} line: 8 - column: 4 + column: 3 fatherLevelNodes: - {x: 7, y: 3} - {x: 7, y: 4} nextLevelNodes: - {x: 9, y: 3} + fightEenemyPool: + mapIndex: + - roomType: 0 + isUse: 0 + passBy: 0 + nodePos: {x: 9.456898, y: 0.059820175, z: -4.679116} + line: 8 + column: 4 + fatherLevelNodes: [] + nextLevelNodes: [] + fightEenemyPool: + mapIndex: - levelDataList: - roomType: 1 - isUse: 0 + isUse: 1 passBy: 0 nodePos: {x: 11.586908, y: 0.059825897, z: -8.679108} line: 9 column: 0 - fatherLevelNodes: [] - nextLevelNodes: [] - - roomType: 1 + fatherLevelNodes: + - {x: 8, y: 0} + nextLevelNodes: + - {x: 10, y: 1} + fightEenemyPool: + mapIndex: + - roomType: 0 isUse: 1 passBy: 0 nodePos: {x: 11.586911, y: 0.059827805, z: -7.679109} line: 9 column: 1 fatherLevelNodes: - - {x: 8, y: 1} + - {x: 8, y: 0} nextLevelNodes: - - {x: 10, y: 2} - - roomType: 1 - isUse: 1 + - {x: 10, y: 1} + fightEenemyPool: + mapIndex: + - roomType: 4 + isUse: 0 passBy: 0 nodePos: {x: 11.586914, y: 0.059829712, z: -6.679111} line: 9 column: 2 - fatherLevelNodes: - - {x: 8, y: 2} - nextLevelNodes: - - {x: 10, y: 2} - - roomType: 0 + fatherLevelNodes: [] + nextLevelNodes: [] + fightEenemyPool: + mapIndex: + - roomType: 1 isUse: 1 passBy: 0 nodePos: {x: 11.58692, y: 0.05983162, z: -5.679112} line: 9 column: 3 fatherLevelNodes: - - {x: 8, y: 2} - - {x: 8, y: 4} + - {x: 8, y: 3} nextLevelNodes: - {x: 10, y: 3} - {x: 10, y: 2} - - roomType: 4 + fightEenemyPool: + mapIndex: + - roomType: 1 isUse: 0 passBy: 0 nodePos: {x: 11.586924, y: 0.059833527, z: -4.679114} @@ -509,8 +608,10 @@ MonoBehaviour: column: 4 fatherLevelNodes: [] nextLevelNodes: [] + fightEenemyPool: + mapIndex: - levelDataList: - - roomType: 0 + - roomType: 4 isUse: 0 passBy: 0 nodePos: {x: 13.71693, y: 0.05983925, z: -8.679108} @@ -518,28 +619,36 @@ MonoBehaviour: column: 0 fatherLevelNodes: [] nextLevelNodes: [] - - roomType: 0 - isUse: 0 + fightEenemyPool: + mapIndex: + - roomType: 5 + isUse: 1 passBy: 0 nodePos: {x: 13.716934, y: 0.059841156, z: -7.679107} line: 10 column: 1 - fatherLevelNodes: [] - nextLevelNodes: [] - - roomType: 4 + fatherLevelNodes: + - {x: 9, y: 0} + - {x: 9, y: 1} + nextLevelNodes: + - {x: 11, y: 1} + - {x: 11, y: 0} + - {x: 11, y: 2} + fightEenemyPool: + mapIndex: + - roomType: 0 isUse: 1 passBy: 0 nodePos: {x: 13.716938, y: 0.059843063, z: -6.679109} line: 10 column: 2 fatherLevelNodes: - - {x: 9, y: 1} - {x: 9, y: 3} - - {x: 9, y: 2} nextLevelNodes: - - {x: 11, y: 1} - {x: 11, y: 2} - - roomType: 5 + fightEenemyPool: + mapIndex: + - roomType: 4 isUse: 1 passBy: 0 nodePos: {x: 13.71694, y: 0.05984497, z: -5.679113} @@ -549,6 +658,8 @@ MonoBehaviour: - {x: 9, y: 3} nextLevelNodes: - {x: 11, y: 2} + fightEenemyPool: + mapIndex: - roomType: 0 isUse: 0 passBy: 0 @@ -557,27 +668,34 @@ MonoBehaviour: column: 4 fatherLevelNodes: [] nextLevelNodes: [] + fightEenemyPool: + mapIndex: - levelDataList: - - roomType: 4 - isUse: 0 + - roomType: 0 + isUse: 1 passBy: 0 nodePos: {x: 15.846952, y: 0.0598526, z: -8.67911} line: 11 column: 0 - fatherLevelNodes: [] - nextLevelNodes: [] - - roomType: 1 + fatherLevelNodes: + - {x: 10, y: 1} + nextLevelNodes: + - {x: 12, y: 0} + fightEenemyPool: + mapIndex: + - roomType: 4 isUse: 1 passBy: 0 nodePos: {x: 15.846956, y: 0.059854507, z: -7.67911} line: 11 column: 1 fatherLevelNodes: - - {x: 10, y: 2} + - {x: 10, y: 1} nextLevelNodes: - - {x: 12, y: 1} - - {x: 12, y: 2} - - roomType: 0 + - {x: 12, y: 0} + fightEenemyPool: + mapIndex: + - roomType: 3 isUse: 1 passBy: 0 nodePos: {x: 15.84696, y: 0.059856415, z: -6.679111} @@ -586,9 +704,12 @@ MonoBehaviour: fatherLevelNodes: - {x: 10, y: 3} - {x: 10, y: 2} + - {x: 10, y: 1} nextLevelNodes: - {x: 12, y: 3} - {x: 12, y: 2} + fightEenemyPool: + mapIndex: - roomType: 0 isUse: 0 passBy: 0 @@ -597,7 +718,9 @@ MonoBehaviour: column: 3 fatherLevelNodes: [] nextLevelNodes: [] - - roomType: 1 + fightEenemyPool: + mapIndex: + - roomType: 0 isUse: 0 passBy: 0 nodePos: {x: 15.846968, y: 0.05986023, z: -4.679115} @@ -605,26 +728,33 @@ MonoBehaviour: column: 4 fatherLevelNodes: [] nextLevelNodes: [] + fightEenemyPool: + mapIndex: - levelDataList: - roomType: 4 - isUse: 0 + isUse: 1 passBy: 0 nodePos: {x: 17.976984, y: 0.05986595, z: -8.679108} line: 12 column: 0 - fatherLevelNodes: [] - nextLevelNodes: [] - - roomType: 4 - isUse: 1 - passBy: 0 - nodePos: {x: 17.976994, y: 0.05986786, z: -7.679109} - line: 12 - column: 1 fatherLevelNodes: - {x: 11, y: 1} + - {x: 11, y: 0} nextLevelNodes: - {x: 13, y: 2} - {x: 13, y: 2} + fightEenemyPool: + mapIndex: + - roomType: 4 + isUse: 0 + passBy: 0 + nodePos: {x: 17.976994, y: 0.05986786, z: -7.679109} + line: 12 + column: 1 + fatherLevelNodes: [] + nextLevelNodes: [] + fightEenemyPool: + mapIndex: - roomType: 4 isUse: 1 passBy: 0 @@ -632,11 +762,12 @@ MonoBehaviour: line: 12 column: 2 fatherLevelNodes: - - {x: 11, y: 1} - {x: 11, y: 2} nextLevelNodes: - {x: 13, y: 2} - {x: 13, y: 2} + fightEenemyPool: + mapIndex: - roomType: 4 isUse: 1 passBy: 0 @@ -647,6 +778,8 @@ MonoBehaviour: - {x: 11, y: 2} nextLevelNodes: - {x: 13, y: 2} + fightEenemyPool: + mapIndex: - roomType: 4 isUse: 0 passBy: 0 @@ -655,6 +788,8 @@ MonoBehaviour: column: 4 fatherLevelNodes: [] nextLevelNodes: [] + fightEenemyPool: + mapIndex: - levelDataList: - roomType: 2 isUse: 0 @@ -664,6 +799,8 @@ MonoBehaviour: column: 0 fatherLevelNodes: [] nextLevelNodes: [] + fightEenemyPool: + mapIndex: - roomType: 2 isUse: 0 passBy: 0 @@ -672,6 +809,8 @@ MonoBehaviour: column: 1 fatherLevelNodes: [] nextLevelNodes: [] + fightEenemyPool: + mapIndex: - roomType: 2 isUse: 1 passBy: 0 @@ -679,12 +818,14 @@ MonoBehaviour: line: 13 column: 2 fatherLevelNodes: + - {x: 12, y: 0} + - {x: 12, y: 0} - {x: 12, y: 3} - - {x: 12, y: 1} - - {x: 12, y: 1} - {x: 12, y: 2} - {x: 12, y: 2} nextLevelNodes: [] + fightEenemyPool: + mapIndex: - roomType: 2 isUse: 0 passBy: 0 @@ -693,6 +834,8 @@ MonoBehaviour: column: 3 fatherLevelNodes: [] nextLevelNodes: [] + fightEenemyPool: + mapIndex: - roomType: 2 isUse: 0 passBy: 0 @@ -701,4 +844,5 @@ MonoBehaviour: column: 4 fatherLevelNodes: [] nextLevelNodes: [] - fightEenemyPool: weak + fightEenemyPool: + mapIndex: diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/PlayerState.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/PlayerState.asset index 228e88c4..a5b1c1f8 100644 --- a/ColorlessWorld-2024-4-2/Assets/GameDate/PlayerState.asset +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/PlayerState.asset @@ -23,4 +23,5 @@ MonoBehaviour: currentHP: 68 cardRewardNumToChoose: 0 cardRewardNumToGget: 0 + canColorCount: 20 money: 0 diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/Whirlpool.prefab b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/Whirlpool.prefab deleted file mode 100644 index 11593010..00000000 --- a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/Whirlpool.prefab +++ /dev/null @@ -1,131 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1496019408761085200 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5563030652977735299} - m_Layer: 0 - m_Name: GameObject - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5563030652977735299 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1496019408761085200} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 1.17, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 6047049870113643063} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2458175114420723768 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6047049870113643063} - - component: {fileID: 4354208083307919355} - - component: {fileID: 3998761273940534422} - m_Layer: 0 - m_Name: Whirlpool - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6047049870113643063 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2458175114420723768} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0.13052616, z: 0, w: 0.9914449} - m_LocalPosition: {x: 3.592, y: 1, z: -1.2736247} - m_LocalScale: {x: 0.9, y: 0.9, z: 0.9} - m_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 5563030652977735299} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 15, z: 0} ---- !u!212 &4354208083307919355 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2458175114420723768} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 2 - m_Sprite: {fileID: 21300000, guid: f9ca4d2a420a8f14b8ff292551fc0001, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_FlipX: 0 - m_FlipY: 0 - m_DrawMode: 0 - m_Size: {x: 1.923, y: 1.879} - m_AdaptiveModeThreshold: 0.5 - m_SpriteTileMode: 0 - m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 - m_SpriteSortPoint: 0 ---- !u!114 &3998761273940534422 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2458175114420723768} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8e1d4d1a606d36b43ae3dd2b9a98896f, type: 3} - m_Name: - m_EditorClassIdentifier: diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree.meta b/ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab.meta similarity index 77% rename from ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree.meta rename to ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab.meta index fba72a25..0bcb9d68 100644 --- a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree.meta +++ b/ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 8530888d5a27b2741a53af50312ea8fe +guid: d568482e910ee3943abf3fad34ef25ae folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/Boom.prefab b/ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/Boom.prefab similarity index 93% rename from ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/Boom.prefab rename to ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/Boom.prefab index 5901150d..4a6c62f4 100644 --- a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/Boom.prefab +++ b/ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/Boom.prefab @@ -42,6 +42,7 @@ GameObject: - component: {fileID: 6047049870113643063} - component: {fileID: 4354208083307919355} - component: {fileID: 1659492356731567997} + - component: {fileID: 2413313573070466585} m_Layer: 0 m_Name: Boom m_TagString: Untagged @@ -175,6 +176,18 @@ MonoBehaviour: damage: 4 damageParticle: {fileID: 0} particlePoint: {fileID: 213849091084324756} +--- !u!114 &2413313573070466585 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2458175114420723768} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d99a212ab38d69947b365e3770680781, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &8227655768270691818 GameObject: m_ObjectHideFlags: 0 diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/Boom.prefab.meta b/ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/Boom.prefab.meta similarity index 100% rename from ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/Boom.prefab.meta rename to ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/Boom.prefab.meta diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/TntBurket.prefab b/ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/TntBurket.prefab similarity index 91% rename from ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/TntBurket.prefab rename to ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/TntBurket.prefab index 690ee599..a4c0ec38 100644 --- a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/TntBurket.prefab +++ b/ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/TntBurket.prefab @@ -42,6 +42,7 @@ GameObject: - component: {fileID: 6047049870113643063} - component: {fileID: 4354208083307919355} - component: {fileID: 7413273311470108406} + - component: {fileID: 1630748448776617996} m_Layer: 0 m_Name: TntBurket m_TagString: Untagged @@ -171,3 +172,16 @@ MonoBehaviour: colorUnderAttack: 0 canMove: 0 planAction: 0 +--- !u!114 &1630748448776617996 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2458175114420723768} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d99a212ab38d69947b365e3770680781, type: 3} + m_Name: + m_EditorClassIdentifier: + takeOverType: 0 diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/TntBurket.prefab.meta b/ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/TntBurket.prefab.meta similarity index 100% rename from ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/TntBurket.prefab.meta rename to ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/TntBurket.prefab.meta diff --git a/ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/Whirlpool.prefab b/ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/Whirlpool.prefab new file mode 100644 index 00000000..4a686373 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/Whirlpool.prefab @@ -0,0 +1,377 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &791787655015542540 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3507841565684247920} + - component: {fileID: 9192163590229144868} + - component: {fileID: 780701334481676733} + - component: {fileID: 4869295605941821901} + m_Layer: 0 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3507841565684247920 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 791787655015542540} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 1 + m_Children: + - {fileID: 5757482445103523294} + m_Father: {fileID: 6047049870113643063} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0.33} + m_SizeDelta: {x: 1, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &9192163590229144868 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 791787655015542540} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 801241541 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &780701334481676733 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 791787655015542540} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 1 +--- !u!114 &4869295605941821901 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 791787655015542540} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1 &2458175114420723768 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6047049870113643063} + - component: {fileID: 4354208083307919355} + - component: {fileID: 3998761273940534422} + - component: {fileID: 8508715456860937413} + m_Layer: 0 + m_Name: Whirlpool + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6047049870113643063 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2458175114420723768} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3.592, y: 1, z: -1.2736247} + m_LocalScale: {x: 0.9, y: 0.9, z: 0.9} + m_ConstrainProportionsScale: 1 + m_Children: + - {fileID: 3507841565684247920} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &4354208083307919355 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2458175114420723768} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 2 + m_Sprite: {fileID: 21300000, guid: f9ca4d2a420a8f14b8ff292551fc0001, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1.923, y: 1.879} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!114 &3998761273940534422 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2458175114420723768} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8e1d4d1a606d36b43ae3dd2b9a98896f, type: 3} + m_Name: + m_EditorClassIdentifier: + posX: 0 + posY: 0 + holdColorCount: 7 + holdeText: {fileID: 1137274421971972761} + holdPool: [] +--- !u!114 &8508715456860937413 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2458175114420723768} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d99a212ab38d69947b365e3770680781, type: 3} + m_Name: + m_EditorClassIdentifier: + takeOverType: 0 + blockType: 1 +--- !u!1 &2956698644888883949 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 666127146751557209} + - component: {fileID: 4527207791058968114} + - component: {fileID: 1137274421971972761} + m_Layer: 0 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &666127146751557209 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2956698644888883949} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5757482445103523294} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4527207791058968114 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2956698644888883949} + m_CullTransparentMesh: 1 +--- !u!114 &1137274421971972761 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2956698644888883949} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 846d2bc064c8faa4a858510d85bd7140, type: 3} + m_FontSize: 45 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 45 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 7 +--- !u!1 &8745365788768358793 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5757482445103523294} + - component: {fileID: 1406558591327533686} + - component: {fileID: 6754258001192525857} + m_Layer: 0 + m_Name: Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5757482445103523294 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8745365788768358793} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 666127146751557209} + m_Father: {fileID: 3507841565684247920} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 99, y: 99} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1406558591327533686 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8745365788768358793} + m_CullTransparentMesh: 1 +--- !u!114 &6754258001192525857 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8745365788768358793} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/Whirlpool.prefab.meta b/ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/Whirlpool.prefab.meta similarity index 100% rename from ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/Whirlpool.prefab.meta rename to ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/Whirlpool.prefab.meta diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/tree.prefab b/ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/tree.prefab similarity index 91% rename from ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/tree.prefab rename to ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/tree.prefab index 6bba831f..c148e8d3 100644 --- a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/tree.prefab +++ b/ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/tree.prefab @@ -42,6 +42,7 @@ GameObject: - component: {fileID: 6047049870113643063} - component: {fileID: 4354208083307919355} - component: {fileID: 4840821816182305307} + - component: {fileID: 6425500129360686181} m_Layer: 0 m_Name: tree m_TagString: Untagged @@ -172,3 +173,16 @@ MonoBehaviour: canMove: 0 planAction: 0 drawCardCount: 2 +--- !u!114 &6425500129360686181 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2458175114420723768} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d99a212ab38d69947b365e3770680781, type: 3} + m_Name: + m_EditorClassIdentifier: + takeOverType: 0 diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/tree.prefab.meta b/ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/tree.prefab.meta similarity index 100% rename from ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/PlaceItem/Tree/tree.prefab.meta rename to ColorlessWorld-2024-4-2/Assets/Resources/ItemPrefab/tree.prefab.meta diff --git a/ColorlessWorld-2024-4-2/Assets/Scenes/Level3.unity b/ColorlessWorld-2024-4-2/Assets/Scenes/Level3.unity index 0daa4255..2bbbe8a9 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scenes/Level3.unity +++ b/ColorlessWorld-2024-4-2/Assets/Scenes/Level3.unity @@ -26816,6 +26816,7 @@ MonoBehaviour: - Y: [] - Y: [] - Y: [] + ToolX: [] character: 0 playerOn: {fileID: 0} player: {fileID: 1809205617} @@ -41980,7 +41981,11 @@ MonoBehaviour: mapUnity: {fileID: 887005656701010215, guid: ecde4b12dc4538b4caff9ada56c9ab30, type: 3} line: 9 column: 5 + lineForTool: 0 + columnForTool: 0 generatePoint: {fileID: 514899946} + generatePointTest: {fileID: 0} + cameraObject: {fileID: 0} lineOffSet: {x: 1, y: 0, z: 0} columnOffSet: {x: 0, y: 0, z: 0.865} enemyGenerateDataList: [] @@ -42433,8 +42438,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: step: 2 - startPositionX: 3 - startPositionY: 0 + startPositionX: 8 + startPositionY: 2 chooseNodeLayerMask: serializedVersion: 2 m_Bits: 64 diff --git a/ColorlessWorld-2024-4-2/Assets/Scenes/Level4.unity b/ColorlessWorld-2024-4-2/Assets/Scenes/Level4.unity index d1dceca1..d95cbaef 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scenes/Level4.unity +++ b/ColorlessWorld-2024-4-2/Assets/Scenes/Level4.unity @@ -26818,6 +26818,7 @@ MonoBehaviour: - Y: [] - Y: [] - Y: [] + ToolX: [] character: 0 playerOn: {fileID: 0} player: {fileID: 1809205617} @@ -41982,7 +41983,11 @@ MonoBehaviour: mapUnity: {fileID: 887005656701010215, guid: ecde4b12dc4538b4caff9ada56c9ab30, type: 3} line: 11 column: 6 + lineForTool: 0 + columnForTool: 0 generatePoint: {fileID: 514899946} + generatePointTest: {fileID: 0} + cameraObject: {fileID: 0} lineOffSet: {x: 1, y: 0, z: 0} columnOffSet: {x: 0, y: 0, z: 0.865} enemyGenerateDataList: [] @@ -42435,8 +42440,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: step: 2 - startPositionX: 3 - startPositionY: 0 + startPositionX: 9 + startPositionY: 3 chooseNodeLayerMask: serializedVersion: 2 m_Bits: 64 diff --git a/ColorlessWorld-2024-4-2/Assets/Scenes/Map.unity b/ColorlessWorld-2024-4-2/Assets/Scenes/Map.unity index 440d009e..c5337a98 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scenes/Map.unity +++ b/ColorlessWorld-2024-4-2/Assets/Scenes/Map.unity @@ -3841,6 +3841,12 @@ MonoBehaviour: campfireIcon: {fileID: -1693594073, guid: ee9d3d2936bac1148abcec2385b98ec3, type: 3} incidentIcon: {fileID: -687936468, guid: ee9d3d2936bac1148abcec2385b98ec3, type: 3} treasureIcon: {fileID: 558621461, guid: ee9d3d2936bac1148abcec2385b98ec3, type: 3} + forgingIcon: {fileID: 21300000, guid: 02691098c39ccd6458dd3771b3004071, type: 3} + deleteCardIcon: {fileID: 21300000, guid: 02691098c39ccd6458dd3771b3004071, type: 3} + addCardIcon: {fileID: 21300000, guid: 02691098c39ccd6458dd3771b3004071, type: 3} + resourceIcon: {fileID: 21300000, guid: 02691098c39ccd6458dd3771b3004071, type: 3} + potionIcon: {fileID: 21300000, guid: 02691098c39ccd6458dd3771b3004071, type: 3} + startIcon: {fileID: 21300000, guid: 02691098c39ccd6458dd3771b3004071, type: 3} --- !u!1 &324633910 GameObject: m_ObjectHideFlags: 0 @@ -6387,7 +6393,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &516762761 RectTransform: m_ObjectHideFlags: 0 @@ -15897,6 +15903,7 @@ GameObject: - component: {fileID: 1218299171} - component: {fileID: 1218299173} - component: {fileID: 1218299172} + - component: {fileID: 1218299174} m_Layer: 0 m_Name: LevelGenerator m_TagString: Untagged @@ -16034,7 +16041,7 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1218299170} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 866d367de8bbaf7429cd6671eca3869e, type: 3} m_Name: @@ -16076,6 +16083,38 @@ MonoBehaviour: - {fileID: 3078551910747698100, guid: 287ce1e0469b3834d9755ff86a081d6f, type: 3} BossLevelPrefabList: - {fileID: 1885417030641983838, guid: 901545c3f11968544836db15d83586de, type: 3} + enemyPoolFileName: EnemyPoolToLevel.csv +--- !u!114 &1218299174 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1218299170} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9357c62ffeceff4468da4ccfd5b937a3, type: 3} + m_Name: + m_EditorClassIdentifier: + generatorPoint: {fileID: 1941874171} + originalPoint: {x: 0, y: 0, z: 0} + generatorLine: 14 + generatorColumn: 3 + lineOffset: 1 + columnOffset: 2 + pathAmount: 3 + treasureFloor: 5 + forgingFloor: 11 + randomFightFloor: + normalFightFloor: + rewardNodeFloor: 0200000007000000 + randomRoomTypeWeightBase: 050000000700000008000000090000000a0000000b000000 + randomRoomTypeWeightAttach: 05000000050000000700000008000000090000000a0000000b000000 + levelPrefab: {fileID: 980190143975240430, guid: c8c223db4c0d17645bca03489a39b721, + type: 3} + levelBossPrefab: {fileID: 980190143975240430, guid: e252a7011ae30f84da117f7e07d56996, + type: 3} + enemyPoolFileName: EnemyPoolToLevel.csv --- !u!1 &1219222994 GameObject: m_ObjectHideFlags: 0 @@ -24691,7 +24730,7 @@ RectTransform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1941874171} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0, y: 0, z: -0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -24699,7 +24738,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -139.4, y: -30.4} + m_AnchoredPosition: {x: -139.4, y: -20.3} m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1946917990 @@ -25138,7 +25177,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &1972940909 RectTransform: m_ObjectHideFlags: 0 diff --git a/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity b/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity index 93eb83bf..309abf54 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity +++ b/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity @@ -39330,6 +39330,7 @@ MonoBehaviour: type: 3} isPass: 0 isTreasure: 0 + itemCsvFilePath: LevelMapToItem.csv --- !u!4 &1690695890 Transform: m_ObjectHideFlags: 0 @@ -42075,6 +42076,7 @@ MonoBehaviour: bookAnim: {fileID: 4328817775323300922} paper: {fileID: 802147682} whiteColorNode: {fileID: 1485211135} + itemPrefabPath: ItemPrefab/ --- !u!4 &1802141879 Transform: m_ObjectHideFlags: 0 @@ -42513,7 +42515,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: step: 2 - startPositionX: 3 + startPositionX: 4 startPositionY: 0 chooseNodeLayerMask: serializedVersion: 2 diff --git a/ColorlessWorld-2024-4-2/Assets/Scenes/StartMainScence.unity b/ColorlessWorld-2024-4-2/Assets/Scenes/StartMainScence.unity index b9b533c0..bd659467 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scenes/StartMainScence.unity +++ b/ColorlessWorld-2024-4-2/Assets/Scenes/StartMainScence.unity @@ -1673,53 +1673,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 145456228} m_CullTransparentMesh: 1 ---- !u!1 &146625438 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 146625440} - - component: {fileID: 146625439} - m_Layer: 0 - m_Name: TipManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &146625439 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 146625438} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ee87c15a64f613844a87d107810032fd, type: 3} - m_Name: - m_EditorClassIdentifier: - tipFather: {fileID: 985714519} - tipContainer: {fileID: 5497472336870809299, guid: e0a60d1ef5f1bbf40b92eefa1fee8d16, - type: 3} ---- !u!4 &146625440 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 146625438} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.84116334, y: 2.8039339, z: -1.2433522} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &148855150 GameObject: m_ObjectHideFlags: 0 @@ -7383,6 +7336,53 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: -20} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &227687488 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 227687490} + - component: {fileID: 227687489} + m_Layer: 0 + m_Name: TipManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &227687489 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 227687488} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ee87c15a64f613844a87d107810032fd, type: 3} + m_Name: + m_EditorClassIdentifier: + tipFather: {fileID: 0} + tipContainer: {fileID: 5497472336870809299, guid: e0a60d1ef5f1bbf40b92eefa1fee8d16, + type: 3} +--- !u!4 &227687490 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 227687488} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.84116334, y: 2.8039339, z: -1.2433522} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &238416521 GameObject: m_ObjectHideFlags: 0 @@ -8471,7 +8471,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &431178197 RectTransform: m_ObjectHideFlags: 0 @@ -9261,63 +9261,6 @@ RectTransform: m_AnchoredPosition: {x: 2.5, y: 0} m_SizeDelta: {x: -5, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &485170431 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 485170433} - - component: {fileID: 485170432} - m_Layer: 0 - m_Name: PlayerStatsManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &485170432 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 485170431} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4f47edfc6a4071b418c9f81b172bb82f, type: 3} - m_Name: - m_EditorClassIdentifier: - playerState: {fileID: 11400000, guid: afd7daa84e9985b45bd00c91505acb37, type: 2} - levelDevelopData: {fileID: 11400000, guid: 587726a845a2bc7498172485a1bd194b, type: 2} - cardDeck: {fileID: 11400000, guid: 1126a56dae0a1ab40821c18c251900ef, type: 2} - relicList: {fileID: 11400000, guid: 0ccbda8ca8e9a4146aebd15491d3b067, type: 2} - colorSortList: - commonCardForLook: {fileID: 4169693119190854323, guid: d349e9c2ce0a808418c6eed487637259, - type: 3} - legendaryCardForLook: {fileID: 4169693119190854323, guid: d349e9c2ce0a808418c6eed487637259, - type: 3} - rareCardForLook: {fileID: 4169693119190854323, guid: d349e9c2ce0a808418c6eed487637259, - type: 3} - isPass: 0 - isTreasure: 0 ---- !u!4 &485170433 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 485170431} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &490265091 GameObject: m_ObjectHideFlags: 0 @@ -9586,62 +9529,6 @@ RectTransform: m_AnchoredPosition: {x: 296.6, y: 27.171} m_SizeDelta: {x: 52.6, y: 54.714} m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &526484576 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 526484578} - - component: {fileID: 526484577} - m_Layer: 0 - m_Name: InforBarManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &526484577 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 526484576} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d9f2f6a3e81a55a4e989158e3351d7ee, type: 3} - m_Name: - m_EditorClassIdentifier: - InforBar: {fileID: 0} - InforBarTipPrefab: {fileID: 8650645450562924027, guid: 64ec1d3890ee945458d7528b185a796a, - type: 3} - InforBarTipList: [] - buffInforBar: {fileID: 0} - buffInforBarTipPrefab: {fileID: 2592041783247472681, guid: 1b58ed47ff3c01b408a4adac252a6554, - type: 3} - buffInforBarTipList: [] - relicInforBar: {fileID: 0} - relicInforBarTipPrefab: {fileID: 2592041783247472681, guid: 42e2dea72c5c004419a8c0eb09a884d0, - type: 3} - relicInforBarTipList: [] ---- !u!4 &526484578 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 526484576} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &526514134 GameObject: m_ObjectHideFlags: 0 @@ -9721,6 +9608,50 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 526514134} m_CullTransparentMesh: 1 +--- !u!1 &541884787 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 541884789} + - component: {fileID: 541884788} + m_Layer: 0 + m_Name: ToolDontDestory + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &541884788 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 541884787} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d6f23279cbd0f954ca899908598a8505, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &541884789 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 541884787} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4.8241224, y: 1.0390644, z: 1.4156547} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &572520064 GameObject: m_ObjectHideFlags: 0 @@ -10393,6 +10324,50 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 619847234} m_CullTransparentMesh: 1 +--- !u!1 &623796530 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 623796532} + - component: {fileID: 623796531} + m_Layer: 0 + m_Name: CardManager(Color) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &623796531 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 623796530} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ca1e05724f689024392e0ea50533f6ad, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &623796532 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 623796530} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 6.160092, y: 2.9316888, z: 3.9849322} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &633658177 GameObject: m_ObjectHideFlags: 0 @@ -11108,7 +11083,7 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 662446367} m_CullTransparentMesh: 1 ---- !u!1 &709795120 +--- !u!1 &676333704 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -11116,100 +11091,466 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 709795121} - - component: {fileID: 709795123} - - component: {fileID: 709795122} - m_Layer: 5 - m_Name: Background1 + - component: {fileID: 676333709} + - component: {fileID: 676333708} + - component: {fileID: 676333707} + - component: {fileID: 676333706} + - component: {fileID: 676333705} + m_Layer: 0 + m_Name: AudioManager m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &709795121 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 709795120} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1.17, y: 1.17, z: 1.17} - m_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 1872135081} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -3.9244, y: -6.7664} - m_SizeDelta: {x: 1648.7651, y: 927.218} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &709795122 -MonoBehaviour: + m_IsActive: 1 +--- !u!82 &676333705 +AudioSource: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 709795120} + m_GameObject: {fileID: 676333704} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 301680cf212838c458b8897adf60224f, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &709795123 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 709795120} - m_CullTransparentMesh: 1 ---- !u!1 &712036183 -GameObject: + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 8300000, guid: f44b5427b062799468a1894cf3c8a8bf, type: 3} + m_PlayOnAwake: 1 + m_Volume: 0.75 + m_Pitch: 1 + Loop: 1 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!82 &676333706 +AudioSource: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 712036184} - - component: {fileID: 712036186} - - component: {fileID: 712036185} - m_Layer: 5 - m_Name: MainVoice - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &712036184 -RectTransform: + m_GameObject: {fileID: 676333704} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!82 &676333707 +AudioSource: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 712036183} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0.0000083277} + m_GameObject: {fileID: 676333704} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!114 &676333708 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 676333704} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2b2b8537b62d04d45ad201dafc853142, type: 3} + m_Name: + m_EditorClassIdentifier: + mainVoiceVolume: 1 + effectVoiceVolume: 1 + musicVoiceVolume: 1 + UIClick: {fileID: 8300000, guid: 90e7a416c58aeda47898e5c6bafa1703, type: 3} + menuOpenClip: {fileID: 8300000, guid: aa09967122165064693a43a3ee1ac3be, type: 3} + menuCloseClip: {fileID: 8300000, guid: e526247df8496df41823965b29bcf59e, type: 3} + turnChangeClip: {fileID: 8300000, guid: dc21cb12cefb22b478ec62e4c23c76fb, type: 3} + AttackClips: + - {fileID: 8300000, guid: 7d0ed2b193dec034b9372a647211329c, type: 3} + - {fileID: 8300000, guid: bad8f72a868ea0f49a08f4839852274a, type: 3} + upShieldClip: {fileID: 8300000, guid: 05878b36e4cfec048bb24c2927d72ff3, type: 3} + downShieldClip: {fileID: 8300000, guid: 05878b36e4cfec048bb24c2927d72ff3, type: 3} + playerMoveClip: {fileID: 8300000, guid: 57e1e3f3225346247ad0fff702ad6049, type: 3} + enemyHurtClip: {fileID: 8300000, guid: 32d4f8be35b20a0419ac2d6ac36e6a97, type: 3} + enemyMoveClip: {fileID: 8300000, guid: 57e1e3f3225346247ad0fff702ad6049, type: 3} + onePageClip: {fileID: 8300000, guid: 8d3ebc252a552e346aafb2b8da7b3717, type: 3} + amountPageClip: {fileID: 8300000, guid: 2f02670f32b7b1949859664e7ddd9667, type: 3} + oneDrawClip: {fileID: 8300000, guid: 53bbd3f6b67ce1349be6899419543471, type: 3} + amoutDrawClip: {fileID: 8300000, guid: a7c4b426f6488924ba4d8220940d553e, type: 3} + chooseClip: {fileID: 8300000, guid: b0a53ae3759f330419116d317aeb12f1, type: 3} + disChooseClip: {fileID: 8300000, guid: f15e1aab9d3d92943902c03337517e9f, type: 3} + flipClip: {fileID: 8300000, guid: ba40307e688223e4d85ba5ad5749e73c, type: 3} + gainMoneyClip: {fileID: 8300000, guid: 4bdf1399abfddc549af7f38a8c9446d2, type: 3} + gainCardClip: {fileID: 8300000, guid: 2cba30942ef3c9a4181c67e0cad3fdaf, type: 3} + buyClip: {fileID: 8300000, guid: cd6237820d5c34d4c9ad4c59d45002e4, type: 3} + fightBGM: {fileID: 8300000, guid: f44b5427b062799468a1894cf3c8a8bf, type: 3} + shopBGM: {fileID: 8300000, guid: 6cd3e5a8ae3963446a483cb25f052163, type: 3} + startMenuBgm: {fileID: 8300000, guid: 51d48687a1d476c45828b13642627ac3, type: 3} + UIClickSource: {fileID: 676333707} + ActionSource: {fileID: 676333706} + BGMSoure: {fileID: 676333705} +--- !u!4 &676333709 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 676333704} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &709795120 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 709795121} + - component: {fileID: 709795123} + - component: {fileID: 709795122} + m_Layer: 5 + m_Name: Background1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &709795121 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 709795120} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.17, y: 1.17, z: 1.17} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 1872135081} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -3.9244, y: -6.7664} + m_SizeDelta: {x: 1648.7651, y: 927.218} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &709795122 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 709795120} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 301680cf212838c458b8897adf60224f, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &709795123 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 709795120} + m_CullTransparentMesh: 1 +--- !u!1 &712036183 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 712036184} + - component: {fileID: 712036186} + - component: {fileID: 712036185} + m_Layer: 5 + m_Name: MainVoice + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &712036184 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 712036183} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.0000083277} m_LocalScale: {x: 0.9997415, y: 0.9997415, z: 0.9997415} m_ConstrainProportionsScale: 0 m_Children: @@ -12011,7 +12352,7 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 776671193} m_CullTransparentMesh: 1 ---- !u!1 &786224516 +--- !u!1 &780405986 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -12019,26 +12360,90 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 786224519} - - component: {fileID: 786224518} - - component: {fileID: 786224517} - m_Layer: 5 - m_Name: UP + - component: {fileID: 780405988} + - component: {fileID: 780405987} + m_Layer: 0 + m_Name: CardResourcesManager m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!114 &786224517 + m_IsActive: 1 +--- !u!114 &780405987 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 786224516} + m_GameObject: {fileID: 780405986} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: 11500000, guid: 813097672e0cbe3448085cac4e3c47da, type: 3} + m_Name: + m_EditorClassIdentifier: + redNodeImage: {fileID: 21300000, guid: 981748b12f9371548b9c69073d83825d, type: 3} + blueNodeImage: {fileID: 21300000, guid: 260856292e6be62478629aebcd8d10a9, type: 3} + greenNodeImage: {fileID: 21300000, guid: cc399ccd6a80e2348bd7fecba8788159, type: 3} + whiteNodeImage: {fileID: 1140146974, guid: 12e2f3d0cb603f44cb12b2362e45aa19, type: 3} + blackNodeImage: {fileID: 21300000, guid: cb1d88127e421da4c9be4ce96e438ec7, type: 3} + attack: {fileID: 2089713304, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} + shield: {fileID: 298242201, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} + step: {fileID: -1638093221, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} + weak: {fileID: 1313707503, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} + wet: {fileID: 807148770, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} + costRestore: {fileID: 587810021, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} + drawCard: {fileID: 162605382, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} + posion: {fileID: -1661284519, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} + vulnerable: {fileID: 30630105, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} + fireSeed: {fileID: 562257326, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} + imageInCondition: {fileID: 2948337350984551391, guid: f4c36c2c021e0954897974b7ad041903, + type: 3} + textInCondition: {fileID: 2195466461428280820, guid: ef66a5db78741da4d93f90fcdcb7176a, + type: 3} + tree: {fileID: 2458175114420723768, guid: f3c59a4c3b3c54a4c952f50e44940dfc, type: 3} +--- !u!4 &780405988 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 780405986} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &786224516 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 786224519} + - component: {fileID: 786224518} + - component: {fileID: 786224517} + m_Layer: 5 + m_Name: UP + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &786224517 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 786224516} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} @@ -12503,69 +12908,6 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 28} m_Pivot: {x: 0.5, y: 1} ---- !u!1 &813733998 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 813734000} - - component: {fileID: 813733999} - m_Layer: 0 - m_Name: CardResourcesManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &813733999 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 813733998} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 813097672e0cbe3448085cac4e3c47da, type: 3} - m_Name: - m_EditorClassIdentifier: - redNodeImage: {fileID: 21300000, guid: 981748b12f9371548b9c69073d83825d, type: 3} - blueNodeImage: {fileID: 21300000, guid: 260856292e6be62478629aebcd8d10a9, type: 3} - greenNodeImage: {fileID: 21300000, guid: cc399ccd6a80e2348bd7fecba8788159, type: 3} - whiteNodeImage: {fileID: 1140146974, guid: 12e2f3d0cb603f44cb12b2362e45aa19, type: 3} - blackNodeImage: {fileID: 21300000, guid: cb1d88127e421da4c9be4ce96e438ec7, type: 3} - attack: {fileID: 2089713304, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} - shield: {fileID: 298242201, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} - step: {fileID: -1638093221, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} - weak: {fileID: 1313707503, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} - wet: {fileID: 807148770, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} - costRestore: {fileID: 587810021, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} - drawCard: {fileID: 162605382, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} - posion: {fileID: -1661284519, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} - vulnerable: {fileID: 30630105, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} - fireSeed: {fileID: 562257326, guid: 79ebf0a4b1114a945b133aa5fcf5e011, type: 3} - imageInCondition: {fileID: 2948337350984551391, guid: f4c36c2c021e0954897974b7ad041903, - type: 3} - textInCondition: {fileID: 2195466461428280820, guid: ef66a5db78741da4d93f90fcdcb7176a, - type: 3} ---- !u!4 &813734000 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 813733998} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &814158907 GameObject: m_ObjectHideFlags: 0 @@ -13066,6 +13408,51 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 847820862} m_CullTransparentMesh: 1 +--- !u!1 &852531555 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 852531557} + - component: {fileID: 852531556} + m_Layer: 0 + m_Name: ServentStateManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &852531556 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 852531555} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 86c2fab3deda01e4fb16a6d8fbcda640, type: 3} + m_Name: + m_EditorClassIdentifier: + servantState: {fileID: 0} +--- !u!4 &852531557 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 852531555} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &856356056 GameObject: m_ObjectHideFlags: 0 @@ -14165,6 +14552,62 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 997443146} m_CullTransparentMesh: 1 +--- !u!1 &1010659527 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1010659529} + - component: {fileID: 1010659528} + m_Layer: 0 + m_Name: InforBarManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1010659528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1010659527} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d9f2f6a3e81a55a4e989158e3351d7ee, type: 3} + m_Name: + m_EditorClassIdentifier: + InforBar: {fileID: 0} + InforBarTipPrefab: {fileID: 8650645450562924027, guid: 64ec1d3890ee945458d7528b185a796a, + type: 3} + InforBarTipList: [] + buffInforBar: {fileID: 0} + buffInforBarTipPrefab: {fileID: 2592041783247472681, guid: 1b58ed47ff3c01b408a4adac252a6554, + type: 3} + buffInforBarTipList: [] + relicInforBar: {fileID: 0} + relicInforBarTipPrefab: {fileID: 2592041783247472681, guid: 42e2dea72c5c004419a8c0eb09a884d0, + type: 3} + relicInforBarTipList: [] +--- !u!4 &1010659529 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1010659527} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1014383273 GameObject: m_ObjectHideFlags: 0 @@ -15526,50 +15969,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1157009883} m_CullTransparentMesh: 1 ---- !u!1 &1164528880 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1164528882} - - component: {fileID: 1164528881} - m_Layer: 0 - m_Name: CardOriginalDataList - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1164528881 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1164528880} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 34479ee20dc78fb49927983a85316eb8, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!4 &1164528882 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1164528880} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1169516690 GameObject: m_ObjectHideFlags: 0 @@ -15665,7 +16064,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &1173798764 RectTransform: m_ObjectHideFlags: 0 @@ -16063,7 +16462,7 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 28} m_Pivot: {x: 0.5, y: 1} ---- !u!1 &1204729961 +--- !u!1 &1213638683 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -16071,62 +16470,18 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1204729963} - - component: {fileID: 1204729962} - m_Layer: 0 - m_Name: CardManager(Color) + - component: {fileID: 1213638684} + - component: {fileID: 1213638686} + - component: {fileID: 1213638685} + m_Layer: 5 + m_Name: Text (Legacy) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1204729962 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1204729961} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ca1e05724f689024392e0ea50533f6ad, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!4 &1204729963 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1204729961} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 6.160092, y: 2.9316888, z: 3.9849322} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1213638683 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1213638684} - - component: {fileID: 1213638686} - - component: {fileID: 1213638685} - m_Layer: 5 - m_Name: Text (Legacy) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1213638684 -RectTransform: +--- !u!224 &1213638684 +RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -16298,50 +16653,6 @@ RectTransform: m_AnchoredPosition: {x: 5, y: 0} m_SizeDelta: {x: -10, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &1224874801 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1224874803} - - component: {fileID: 1224874802} - m_Layer: 0 - m_Name: ToolDontDestory - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1224874802 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1224874801} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d6f23279cbd0f954ca899908598a8505, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!4 &1224874803 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1224874801} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 4.8241224, y: 1.0390644, z: 1.4156547} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1248285550 GameObject: m_ObjectHideFlags: 0 @@ -17178,6 +17489,50 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1312317052} m_CullTransparentMesh: 1 +--- !u!1 &1338730078 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1338730080} + - component: {fileID: 1338730079} + m_Layer: 0 + m_Name: CardManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1338730079 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1338730078} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ca1e05724f689024392e0ea50533f6ad, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1338730080 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1338730078} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1341249520 GameObject: m_ObjectHideFlags: 0 @@ -17902,6 +18257,37 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1393103354} m_CullTransparentMesh: 1 +--- !u!1 &1393863276 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1393863277} + m_Layer: 0 + m_Name: ------DontDestory------ + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1393863277 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1393863276} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.9480368, y: 0.27446842, z: 6.9678106} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1396522571 GameObject: m_ObjectHideFlags: 0 @@ -19195,6 +19581,64 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1517792570} m_CullTransparentMesh: 1 +--- !u!1 &1518257280 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1518257282} + - component: {fileID: 1518257281} + m_Layer: 0 + m_Name: PlayerStatsManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1518257281 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1518257280} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f47edfc6a4071b418c9f81b172bb82f, type: 3} + m_Name: + m_EditorClassIdentifier: + playerState: {fileID: 11400000, guid: afd7daa84e9985b45bd00c91505acb37, type: 2} + levelDevelopData: {fileID: 11400000, guid: 587726a845a2bc7498172485a1bd194b, type: 2} + cardDeck: {fileID: 11400000, guid: 1126a56dae0a1ab40821c18c251900ef, type: 2} + relicList: {fileID: 11400000, guid: 0ccbda8ca8e9a4146aebd15491d3b067, type: 2} + colorSortList: 010000000300000004000000 + commonCardForLook: {fileID: 4169693119190854323, guid: d349e9c2ce0a808418c6eed487637259, + type: 3} + legendaryCardForLook: {fileID: 4169693119190854323, guid: d349e9c2ce0a808418c6eed487637259, + type: 3} + rareCardForLook: {fileID: 4169693119190854323, guid: d349e9c2ce0a808418c6eed487637259, + type: 3} + isPass: 0 + isTreasure: 0 + itemCsvFilePath: LevelMapToItem.csv +--- !u!4 &1518257282 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1518257280} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1535934833 GameObject: m_ObjectHideFlags: 0 @@ -19532,51 +19976,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1555174416} m_CullTransparentMesh: 1 ---- !u!1 &1571871170 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1571871172} - - component: {fileID: 1571871171} - m_Layer: 0 - m_Name: ServentStateManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1571871171 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1571871170} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 86c2fab3deda01e4fb16a6d8fbcda640, type: 3} - m_Name: - m_EditorClassIdentifier: - servantState: {fileID: 0} ---- !u!4 &1571871172 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1571871170} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1574058775 GameObject: m_ObjectHideFlags: 0 @@ -19671,7 +20070,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &1576156920 RectTransform: m_ObjectHideFlags: 0 @@ -20263,7 +20662,7 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1611897405} m_CullTransparentMesh: 1 ---- !u!1 &1612287985 +--- !u!1 &1621631698 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -20271,76 +20670,32 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1612287987} - - component: {fileID: 1612287986} + - component: {fileID: 1621631699} + - component: {fileID: 1621631701} m_Layer: 0 - m_Name: CardManager + m_Name: ScenceManager m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1612287986 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1612287985} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ca1e05724f689024392e0ea50533f6ad, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!4 &1612287987 +--- !u!4 &1621631699 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1612287985} + m_GameObject: {fileID: 1621631698} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 0} + m_Father: {fileID: 315632828} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1621631698 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1621631699} - - component: {fileID: 1621631701} - m_Layer: 0 - m_Name: ScenceManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1621631699 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1621631698} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 315632828} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1621631701 -MonoBehaviour: +--- !u!114 &1621631701 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -21360,574 +21715,208 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 141132603} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 0, y: 0.5} - m_AnchoredPosition: {x: 10, y: 0} - m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1737998288 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1737998286} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1737998289 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1737998286} - m_CullTransparentMesh: 1 ---- !u!1 &1741164159 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1741164160} - - component: {fileID: 1741164162} - - component: {fileID: 1741164161} - m_Layer: 5 - m_Name: Label - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1741164160 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1741164159} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0.0000029753} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 643491997} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -12.5, y: 0.000017166138} - m_SizeDelta: {x: -25, y: -0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1741164161 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1741164159} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_FontData: - m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} - m_FontSize: 20 - m_FontStyle: 1 - m_BestFit: 0 - m_MinSize: 1 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 1920x1080 ---- !u!222 &1741164162 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1741164159} - m_CullTransparentMesh: 1 ---- !u!1 &1742836362 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1742836363} - - component: {fileID: 1742836365} - - component: {fileID: 1742836364} - m_Layer: 5 - m_Name: Name - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1742836363 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1742836362} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0.0000060143} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 960347734} - m_Father: {fileID: 1116031403} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -74.522, y: 0} - m_SizeDelta: {x: 149.05, y: 39.21} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1742836364 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1742836362} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.6698113, g: 0.6698113, b: 0.6698113, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1742836365 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1742836362} - m_CullTransparentMesh: 1 ---- !u!1 &1763913762 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1763913767} - - component: {fileID: 1763913766} - - component: {fileID: 1763913765} - - component: {fileID: 1763913764} - - component: {fileID: 1763913763} - m_Layer: 0 - m_Name: AudioManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!82 &1763913763 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1763913762} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: ea163b0948a84ab4f929c4579a9105e7, type: 3} - m_PlayOnAwake: 1 - m_Volume: 0.75 - m_Pitch: 1 - Loop: 1 - Mute: 0 - Spatialize: 0 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!82 &1763913764 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1763913762} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 0} - m_PlayOnAwake: 1 - m_Volume: 1 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 0 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!82 &1763913765 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1763913762} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 0} - m_PlayOnAwake: 1 - m_Volume: 1 - m_Pitch: 1 - Loop: 0 - Mute: 0 - Spatialize: 0 - SpatializePostEffects: 0 - Priority: 128 - DopplerLevel: 1 - MinDistance: 1 - MaxDistance: 500 - Pan2D: 0 - rolloffMode: 0 - BypassEffects: 0 - BypassListenerEffects: 0 - BypassReverbZones: 0 - rolloffCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - panLevelCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - spreadCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - reverbZoneMixCustomCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 ---- !u!114 &1763913766 + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 141132603} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 10, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1737998288 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1763913762} + m_GameObject: {fileID: 1737998286} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2b2b8537b62d04d45ad201dafc853142, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: - mainVoiceVolume: 1 - effectVoiceVolume: 1 - musicVoiceVolume: 1 - UIClick: {fileID: 8300000, guid: 90e7a416c58aeda47898e5c6bafa1703, type: 3} - menuOpenClip: {fileID: 8300000, guid: aa09967122165064693a43a3ee1ac3be, type: 3} - menuCloseClip: {fileID: 8300000, guid: e526247df8496df41823965b29bcf59e, type: 3} - turnChangeClip: {fileID: 8300000, guid: dc21cb12cefb22b478ec62e4c23c76fb, type: 3} - AttackClips: - - {fileID: 8300000, guid: 7d0ed2b193dec034b9372a647211329c, type: 3} - - {fileID: 8300000, guid: bad8f72a868ea0f49a08f4839852274a, type: 3} - upShieldClip: {fileID: 8300000, guid: 05878b36e4cfec048bb24c2927d72ff3, type: 3} - downShieldClip: {fileID: 8300000, guid: 05878b36e4cfec048bb24c2927d72ff3, type: 3} - playerMoveClip: {fileID: 8300000, guid: 57e1e3f3225346247ad0fff702ad6049, type: 3} - enemyHurtClip: {fileID: 8300000, guid: 32d4f8be35b20a0419ac2d6ac36e6a97, type: 3} - enemyMoveClip: {fileID: 8300000, guid: 57e1e3f3225346247ad0fff702ad6049, type: 3} - onePageClip: {fileID: 8300000, guid: 8d3ebc252a552e346aafb2b8da7b3717, type: 3} - amountPageClip: {fileID: 8300000, guid: 2f02670f32b7b1949859664e7ddd9667, type: 3} - oneDrawClip: {fileID: 8300000, guid: 53bbd3f6b67ce1349be6899419543471, type: 3} - amoutDrawClip: {fileID: 8300000, guid: a7c4b426f6488924ba4d8220940d553e, type: 3} - chooseClip: {fileID: 8300000, guid: b0a53ae3759f330419116d317aeb12f1, type: 3} - disChooseClip: {fileID: 8300000, guid: f15e1aab9d3d92943902c03337517e9f, type: 3} - flipClip: {fileID: 8300000, guid: ba40307e688223e4d85ba5ad5749e73c, type: 3} - gainMoneyClip: {fileID: 8300000, guid: 4bdf1399abfddc549af7f38a8c9446d2, type: 3} - gainCardClip: {fileID: 8300000, guid: 2cba30942ef3c9a4181c67e0cad3fdaf, type: 3} - buyClip: {fileID: 8300000, guid: cd6237820d5c34d4c9ad4c59d45002e4, type: 3} - fightBGM: {fileID: 8300000, guid: f44b5427b062799468a1894cf3c8a8bf, type: 3} - shopBGM: {fileID: 8300000, guid: 6cd3e5a8ae3963446a483cb25f052163, type: 3} - startMenuBgm: {fileID: 8300000, guid: 51d48687a1d476c45828b13642627ac3, type: 3} - UIClickSource: {fileID: 1763913765} - ActionSource: {fileID: 1763913764} - BGMSoure: {fileID: 1763913763} ---- !u!4 &1763913767 -Transform: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10901, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1737998289 +CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1763913762} - serializedVersion: 2 + m_GameObject: {fileID: 1737998286} + m_CullTransparentMesh: 1 +--- !u!1 &1741164159 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1741164160} + - component: {fileID: 1741164162} + - component: {fileID: 1741164161} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1741164160 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1741164159} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0.0000029753} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 0} + m_Father: {fileID: 643491997} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -12.5, y: 0.000017166138} + m_SizeDelta: {x: -25, y: -0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1741164161 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1741164159} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 20 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 1920x1080 +--- !u!222 &1741164162 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1741164159} + m_CullTransparentMesh: 1 +--- !u!1 &1742836362 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1742836363} + - component: {fileID: 1742836365} + - component: {fileID: 1742836364} + m_Layer: 5 + m_Name: Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1742836363 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1742836362} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.0000060143} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 960347734} + m_Father: {fileID: 1116031403} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -74.522, y: 0} + m_SizeDelta: {x: 149.05, y: 39.21} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1742836364 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1742836362} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.6698113, g: 0.6698113, b: 0.6698113, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1742836365 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1742836362} + m_CullTransparentMesh: 1 --- !u!1 &1764108575 GameObject: m_ObjectHideFlags: 0 @@ -22514,6 +22503,50 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1802288533} m_CullTransparentMesh: 1 +--- !u!1 &1817400296 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1817400298} + - component: {fileID: 1817400297} + m_Layer: 0 + m_Name: CardOriginalDataList + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1817400297 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1817400296} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 34479ee20dc78fb49927983a85316eb8, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1817400298 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1817400296} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1823169379 GameObject: m_ObjectHideFlags: 0 @@ -29381,20 +29414,21 @@ SceneRoots: - {fileID: 1122200156} - {fileID: 1715060595} - {fileID: 315632828} - - {fileID: 1204729963} - - {fileID: 485170433} - - {fileID: 1164528882} - - {fileID: 1763913767} - - {fileID: 1571871172} - - {fileID: 1224874803} - - {fileID: 1612287987} - - {fileID: 813734000} - - {fileID: 146625440} - - {fileID: 61966381} - - {fileID: 526484578} - {fileID: 955483355} - {fileID: 1915999131} - {fileID: 468653673} - {fileID: 2083961204} - {fileID: 1970215290} - {fileID: 490265095} + - {fileID: 1393863277} + - {fileID: 623796532} + - {fileID: 227687490} + - {fileID: 1518257282} + - {fileID: 1817400298} + - {fileID: 676333709} + - {fileID: 1010659529} + - {fileID: 852531557} + - {fileID: 541884789} + - {fileID: 1338730080} + - {fileID: 780405988} + - {fileID: 61966381} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyPool.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyPool.cs index 5f39c987..86f48cab 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyPool.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyPool.cs @@ -67,4 +67,23 @@ public class EnemyPool : MonoBehaviour } return enemyPrefabs; } + + public static string enemyIndexToString( int enemyIndex) + { + switch (enemyIndex) + { + case 2001: + return Name.EnemyName.DarkCloud; + case 2002: + return Name.EnemyName.BlackSheep; + case 2003: + return Name.EnemyName.Grinfiend; + case 2004: + return Name.EnemyName.Polymaw; + case 2005: + return Name.EnemyName.Mushroom; + } + + return Name.EnemyName.BlackSheep; + } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockUI.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/BlockUI.meta similarity index 100% rename from ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockUI.meta rename to ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/BlockUI.meta diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockUI/BlockUIBar.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/BlockUI/BlockUIBar.cs similarity index 100% rename from ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockUI/BlockUIBar.cs rename to ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/BlockUI/BlockUIBar.cs diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockUI/BlockUIBar.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/BlockUI/BlockUIBar.cs.meta similarity index 100% rename from ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockUI/BlockUIBar.cs.meta rename to ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/BlockUI/BlockUIBar.cs.meta diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode.meta similarity index 100% rename from ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode.meta rename to ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode.meta diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/BlockNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/BlockNode.cs similarity index 100% rename from ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/BlockNode.cs rename to ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/BlockNode.cs diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/BlockNode.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/BlockNode.cs.meta similarity index 100% rename from ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/BlockNode.cs.meta rename to ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/BlockNode.cs.meta diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/BoomNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/Boom.cs similarity index 98% rename from ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/BoomNode.cs rename to ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/Boom.cs index 7ac77547..962b6a80 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/BoomNode.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/Boom.cs @@ -7,7 +7,7 @@ using UnityEngine; using UnityEngine.InputSystem; using UnityEngine.UIElements; -public class BoomNode : BlockNode +public class Boom : BlockNode { public int damage = 4; public GameObject damageParticle; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/BoomNode.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/Boom.cs.meta similarity index 100% rename from ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/BoomNode.cs.meta rename to ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/Boom.cs.meta diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/BoxNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/Box.cs similarity index 97% rename from ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/BoxNode.cs rename to ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/Box.cs index d1d2fe5d..b5e54d13 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/BoxNode.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/Box.cs @@ -2,7 +2,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class BoxNode : MonoBehaviour +public class Box : MonoBehaviour { EnemyNode enemyNode; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/BoxNode.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/Box.cs.meta similarity index 100% rename from ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/BoxNode.cs.meta rename to ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/Box.cs.meta diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/TNTBucketNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/TNTBucket.cs similarity index 94% rename from ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/TNTBucketNode.cs rename to ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/TNTBucket.cs index 8297ce39..4f80ceab 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/TNTBucketNode.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/TNTBucket.cs @@ -2,7 +2,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class TNTBucketNode : BlockNode +public class TNTBucket : BlockNode { public override void OnDeath() { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/TNTBucketNode.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/TNTBucket.cs.meta similarity index 100% rename from ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/TNTBucketNode.cs.meta rename to ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/TNTBucket.cs.meta diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/TreeNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/Tree.cs similarity index 95% rename from ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/TreeNode.cs rename to ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/Tree.cs index 94ac6ab4..0a0da948 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/TreeNode.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/Tree.cs @@ -2,7 +2,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class TreeNode : BlockNode +public class Tree : BlockNode { public int drawCardCount=2; public override void OnDeath() diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/TreeNode.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/Tree.cs.meta similarity index 100% rename from ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block/BlockNode/TreeNode.cs.meta rename to ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/Tree.cs.meta diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/TakerOverNode.meta similarity index 77% rename from ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block.meta rename to ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/TakerOverNode.meta index a2002b20..9282d5b2 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/EnemyUI/Block.meta +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/TakerOverNode.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ab7664ff672480f459fb5c68b41dcc23 +guid: 158addf8acf787245a6bc01d0b3fd919 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/TakerOverNode/ItemTakerOverNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/TakerOverNode/ItemTakerOverNode.cs new file mode 100644 index 00000000..bd0cde30 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/TakerOverNode/ItemTakerOverNode.cs @@ -0,0 +1,64 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class ItemTakerOverNode : MonoBehaviour +{ + public enum TakeOverType + { + oneCenter, + oneCircle + } + public TakeOverType takeOverType; + public enum BlockType + { + common, + whirlpool + } + public BlockType blockType; + + public HashSet TakeOverCalculation(MapUnity currentMapUnity) + { + HashSet mapUnities = new HashSet (); + switch (takeOverType) + { + case TakeOverType.oneCenter: + if(currentMapUnity !=null && currentMapUnity .blocked ==false &¤tMapUnity .gameObject .activeInHierarchy ==true ) + { + mapUnities .Add(currentMapUnity ); + } + else + { + return null; + } + break; + } + + return mapUnities; + } + + public void GenerateBlockItem(MapUnity currentMapUnity,GameObject prefab) + { + switch (blockType) + { + case BlockType.common: + Vector3 pos = currentMapUnity.transform.position; + pos.y = 1; + var block = Instantiate(prefab, pos, Quaternion.identity); + currentMapUnity.enemyNode = block.GetComponent(); + currentMapUnity.enemyNode.positionX = currentMapUnity.locationX; + currentMapUnity.enemyNode.positionY = currentMapUnity.locationY; + currentMapUnity.blocked = true; + break; + case BlockType.whirlpool: + Vector3 pos2 = currentMapUnity.transform.position; + pos.y = 1; + var whirlpool = Instantiate(prefab, pos2, Quaternion.identity); + Whirlpool whirlpoolS = whirlpool.GetComponent(); + whirlpoolS.posX = currentMapUnity.locationX; + whirlpoolS.posY = currentMapUnity.locationY; + break; + } + + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/TakerOverNode/ItemTakerOverNode.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/TakerOverNode/ItemTakerOverNode.cs.meta new file mode 100644 index 00000000..bc165f96 --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/TakerOverNode/ItemTakerOverNode.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d99a212ab38d69947b365e3770680781 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/Whirlpool.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/Whirlpool.cs index 5943905d..4a67dc5e 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/Whirlpool.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/Whirlpool.cs @@ -13,7 +13,7 @@ public class Whirlpool : MonoBehaviour private void Start() { - MapUnity currentNode = GameManager .Instance .X[posX].Y[posY]; + MapUnity currentNode = getNodeTools.LocationToGetNode( posX,posY); this.gameObject.transform.position = currentNode.transform.position; for(int i=0;i //¿ª¾Ö³¡µØÍ¿É« IEnumerator StartMapColour() { - //Íæ¼Ò - for (int i = 0; i < X.Count ; i++) + /* //Íæ¼Ò + for (int i = 0; i < X.Count ; i++) + { + if (i % 2 == 0) + { + X[i].Y[0].switchColor(PlayerStatsManager.Instance.colorSortList[0]); + } + else + { + X[i].Y[0].switchColor(PlayerStatsManager.Instance.colorSortList[1]); + } + } + for (int i = 0; i < X.Count; i++) + { + X[i].Y[1].switchColor(PlayerStatsManager.Instance.colorSortList[2]); + } + //¹ÖÎï + for (int i = 0; i whiteMapUnities = new List(); + for(int i=0;i< X .Count;i++) { - if (i % 2 == 0) + for (int j=0;j +{ + public GameObject generatorPoint;//³õʼλÖà + public Vector3 originalPoint; + + [Header("½ÚµãÉú³ÉÐУ¨ºá£©")] + public int generatorLine; + [Header("½ÚµãÉú³ÉÁУ¨Êú£©")] + public int generatorColumn; + + [Header("½ÚµãÉú³ÉÁУ¨Êú£©¼ä¾à")] + public float lineOffset; + [Header("½ÚµãÉú³ÉÐУ¨ºá£©¼ä¾à")] + public float columnOffset; + + [Header("Éú³É·ÏßÊýÁ¿")] + public int pathAmount; + + [Header("ÌØ¶¨·¿¼äÉú³É²ãÊý")] + //±¦Ïä + public int treasureFloor; + //¶ÍÔì + public int forgingFloor; + //Ëæ»úÕ½ + public List randomFightFloor; + //ÆÕͨս + public List normalFightFloor; + //Ëæ»ú½±Àø½Úµã + public List rewardNodeFloor; + public List randomRoomTypeWeightBase; + public List randomRoomTypeWeightAttach; + + + [Header("½ÚµãÉú³É×ÊÔ´")] + public GameObject levelPrefab; + public GameObject levelBossPrefab; + + [Header("¹ÖÎï³ØµØÍ¼¸ÅÂÊ×Öµä")] + public string enemyPoolFileName; + Dictionary> probabilityDictionaryWeak = new Dictionary>(); + Dictionary> probabilityDictionaryStrong = new Dictionary>(); + Dictionary> probabilityDictionaryElite = new Dictionary>(); + Dictionary> probabilityDictionaryBoss = new Dictionary>(); + private void Start() + { + originalPoint = generatorPoint.transform.position; + if (LevelDevelopManager.Instance.levelDevelopData.levelStep == 0) + { + GenerateLevelMap(generatorLine, generatorColumn); + //´æ´¢±£´æÊý¾Ý + SaveDataLoader(); + } + else + { + GeneratorLevelMapFormSave(); + } + + } + public void GenerateLevelMap(int generatorLine, int generatorColumn) + { + GenerateGridMap(generatorLine, generatorColumn); + GeneratePath(); + RandomSetUpRoom(); + // CheckNodeRule(); + ShowMap(); + SetRoomEnemyPoolAndMap(); + } + //Éú³ÉÍø¸ñ + public void GenerateGridMap(int generatorLine, int generatorColumn) + { + + for (int i = 0; i < generatorLine; i++) + { + if (i == generatorLine - 1) + { + + for (int j = 0; j < generatorColumn; j++) + { + generatorPoint.transform.position = new Vector3(generatorPoint.transform.position.x, generatorPoint.transform.position.y, generatorPoint.transform.position.z + lineOffset); + + var level = Instantiate(levelBossPrefab, generatorPoint.transform.position, levelPrefab.transform.rotation); + level.transform.SetParent(LevelDevelopManager.Instance.levelFather.transform); + level.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f); + level.transform.localPosition += new Vector3(0, 5f, 0); + LevelNode bossLevelNode = level.GetComponent(); + bossLevelNode.line = i; + bossLevelNode.column = j; + LevelDevelopManager.Instance.levelMap[i].levelColumn.Add(bossLevelNode); + } + + } + else + { + for (int j = 0; j < generatorColumn; j++) + { + generatorPoint.transform.position = new Vector3(generatorPoint.transform.position.x, generatorPoint.transform.position.y, generatorPoint.transform.position.z + lineOffset); + + GenerateLevelNode(i, j, generatorPoint.transform.position); + } + } + + generatorPoint.transform.position = new Vector3(generatorPoint.transform.position.x + columnOffset, generatorPoint.transform.position.y, originalPoint.z); + } + } + + //Éú³É·Ïß + public void GeneratePath() + { + List levelMap = LevelDevelopManager.Instance.levelMap; + for (int i=0;i path = new List(); + path.Add(LevelDevelopManager.Instance.levelMap[0].levelColumn[currentColum].column);//¼ÓÈëÆðµã + + + LevelNode LevelNode = LevelDevelopManager.Instance.levelMap[line - 1].levelColumn[currentColum]; + LevelNode nextLevelNode = LevelDevelopManager.Instance.levelMap[line].levelColumn[generatorColumn / 2]; + LevelNode.nextLevelNodes.Add(nextLevelNode); + nextLevelNode.fatherLevelNodes.Add(LevelNode); + nextLevelNode.isUse = true; + + int pathOffset = Random.Range(-1, 2); + if (CheckChoosePath(line, currentColum, pathOffset)) + { + LevelNode LevelNode = LevelDevelopManager.Instance.levelMap[line - 1].levelColumn[currentColum]; + currentColum += pathOffset; + LevelNode nextLevelNode = LevelDevelopManager.Instance.levelMap[line].levelColumn[currentColum]; + + if (!LevelNode.nextLevelNodes.Contains(nextLevelNode)) + LevelNode.nextLevelNodes.Add(nextLevelNode); + if (!nextLevelNode.fatherLevelNodes.Contains(LevelNode)) + nextLevelNode.fatherLevelNodes.Add(LevelNode); + nextLevelNode.isUse = true; + + //¼ÓÈë·Ïß±í + path.Add(nextLevelNode.column); + break; + }*/ + + + } + + //¼ì²é·ÏßÑ¡ÔñÊÇ·ñºÏÀí + public bool CheckChoosePath(int line, int column, int pathOffset) + { + int nextcolumn = (column + pathOffset); + if (nextcolumn < 0 || nextcolumn > generatorColumn - 1) + { + return false; + } + + if (pathOffset == -1) + { + LevelNode levelNode = LevelDevelopManager.Instance.levelMap[line - 1].levelColumn[column - 1]; + if (levelNode.isUse == true) + { + foreach (var node in levelNode.nextLevelNodes) + { + if (node.column > nextcolumn) + { + return false; + } + } + } + } + + if (pathOffset == 1) + { + LevelNode levelNode = LevelDevelopManager.Instance.levelMap[line - 1].levelColumn[column + 1]; + if (levelNode.isUse == true) + { + foreach (var node in levelNode.nextLevelNodes) + { + if (node.column < nextcolumn) + { + return false; + } + } + } + } + return true; + } + + //¼ì²é½ÚµãÊÇ·ñºÏÀí£¨·ÖÖ§Ä¿µÄµØ²»Í¬£¬±£µ×¾«Ó¢£© + public void CheckNodeRule() + { + for (int i = 0; i < LevelDevelopManager.Instance.levelMap.Count; i++) + { + for (int j = 0; j < LevelDevelopManager.Instance.levelMap[i].levelColumn.Count; j++) + { + LevelNode currentLevelNode = LevelDevelopManager.Instance.levelMap[i].levelColumn[j]; + if (currentLevelNode.isUse) + { + if (currentLevelNode.nextLevelNodes.Count > 1 && i != treasureFloor - 1 && i != generatorLine - 3 && i != generatorLine - 2) + { + Debug.Log(i); + List roomTypes = new List(); + foreach (var room in currentLevelNode.nextLevelNodes) + { + if (!roomTypes.Contains(room.roomType)) + { + Debug.Log(currentLevelNode.line + ";" + currentLevelNode.column + "¹ý"); + roomTypes.Add(room.roomType); + } + else + { + Debug.Log(currentLevelNode.line + ";" + currentLevelNode.column + "·ñ"); + RandomGetOneRoom(currentLevelNode.nextLevelNodes, i, j); + } + } + + } + } + } + } + } + + + //Éú³É·¿¼ä + public LevelNode GenerateLevelNode(int line, int column, Vector3 pos) + { + var level = Instantiate(levelPrefab, pos, levelPrefab.transform.rotation); + level.transform.SetParent(LevelDevelopManager.Instance.levelFather.transform); + level.transform.localScale = new Vector3(0.04f, 0.04f, 0.04f); + LevelNode levelNode = level.GetComponent(); + levelNode.line = line; + levelNode.column = column; + LevelDevelopManager.Instance.levelMap[line].levelColumn.Add(levelNode); + + return levelNode; + } + //Éú³ÉBoss·¿¼ä + public LevelNode GenerateLevelBossNode(int line, int column, Vector3 pos) + { + var level = Instantiate(levelBossPrefab, pos, levelPrefab.transform.rotation); + level.transform.SetParent(LevelDevelopManager.Instance.levelFather.transform); + level.transform.localScale = new Vector3(0.04f, 0.04f, 0.04f); + LevelNode levelNode = level.GetComponent(); + levelNode.line = line; + levelNode.column = column; + LevelDevelopManager.Instance.levelMap[line].levelColumn.Add(levelNode); + + return levelNode; + } + //°´¹æÔòËæ»úÉ趨·¿¼ä + public void RandomSetUpRoom() + { + List levelMap = LevelDevelopManager.Instance.levelMap; + for (int i = 0; i < generatorLine; i++) + { + if (i == 0) + { + //µÚÒ»²ãÊdzõʼµã + foreach (var room in levelMap[i].levelColumn) + { + room.SetUpRoom(RoomType.start); + } + } + else if (i == treasureFloor) + { + //Ö¸¶¨±¦Ïä²ã + foreach (var room in levelMap[i].levelColumn) + { + room.SetUpRoom(RoomType.treasure); + } + } + else if (i == generatorLine - 2) + { + //µ¹ÊýµÚ¶þ²ãÈ«ÊÇóô»ð + foreach (var room in levelMap[i].levelColumn) + { + room.SetUpRoom(RoomType.campfire); + } + } + else if (i == generatorLine - 1) + { + //×îºóÒ»²ãboss·¿ + foreach (var room in levelMap[i].levelColumn) + { + room.SetUpRoom(RoomType.boss); + } + } + + } + + //½×¶ÎaµÄËæ»ú½±ÀøÉú³É + List> levelNodes = new List>(); + List aNode_1 = new List (); + List aNode_2 = new List(); + List bNode_1 = new List(); + List bNode_2 = new List(); + for (int i = 0; i < 3; i++) + { + aNode_1.Add(levelMap[rewardNodeFloor[0]].levelColumn[i]); + aNode_2.Add(levelMap[rewardNodeFloor[0]+2].levelColumn[i]); + + bNode_1.Add(levelMap[rewardNodeFloor[1]].levelColumn[i]); + bNode_2.Add(levelMap[rewardNodeFloor[1] + 2].levelColumn[i]); + } + levelNodes .Add(aNode_1); + levelNodes .Add(aNode_2); + levelNodes.Add(bNode_1); + levelNodes.Add(bNode_2); + int shopA_l = Random.Range(0, 2); + int shopA_C = Random.Range(0, levelNodes[shopA_l].Count); + int shopB_l = Random.Range(2, 4); + int shopB_C = Random.Range(0, levelNodes[shopB_l].Count); + levelNodes[shopA_l][shopA_C ].SetUpRoom(RoomType.shop); + levelNodes[shopB_l][shopB_C].SetUpRoom(RoomType.shop); + levelNodes[shopA_l][shopA_C] = null; + levelNodes[shopB_l][shopB_C] = null; + for (int i = 0; i nextLevelNodes, int line, int column) + { + HashSet candidateRoomTypeList = new HashSet(); + + while (true) + { + candidateRoomTypeList.Clear(); + + for (int i = 0; i < nextLevelNodes.Count; i++) + { + bool contravenes = true; + LevelDevelopManager.RoomType candidateRoomType = LevelDevelopManager.RoomType.monster; + while (contravenes) + { + contravenes = false; + + //candidateRoomType = GetRoomTypeByWeight();//»ñÈ¡ºóÑ¡·¿¼äÀàÐÍ + LevelNode currentLevelNode = nextLevelNodes[i]; + + switch (candidateRoomType) + { + case LevelDevelopManager.RoomType.monster: + + break; + case LevelDevelopManager.RoomType.eliteMonster: + foreach (var fatherRoom in currentLevelNode.fatherLevelNodes) + { + if (fatherRoom.roomType == LevelDevelopManager.RoomType.eliteMonster || line < 5) + { + contravenes = true; + } + } + break; + case LevelDevelopManager.RoomType.incident: + + break; + case LevelDevelopManager.RoomType.campfire: + foreach (var fatherRoom in currentLevelNode.fatherLevelNodes) + { + if (fatherRoom.roomType == LevelDevelopManager.RoomType.campfire || line == generatorLine - 3 || line < 5) + { + contravenes = true; + } + } + break; + case LevelDevelopManager.RoomType.shop: + foreach (var fatherRoom in currentLevelNode.fatherLevelNodes) + { + if (fatherRoom.roomType == LevelDevelopManager.RoomType.shop) + { + contravenes = true; + } + } + break; + } + + } + candidateRoomTypeList.Add(candidateRoomType); + } + + if (candidateRoomTypeList.Count == nextLevelNodes.Count) + { + + List roomTypes = candidateRoomTypeList.ToList(); + for (int k = 0; k < nextLevelNodes.Count; k++) + { + Debug.Log(roomTypes[k]); + nextLevelNodes[k].SetUpRoom(roomTypes[k]); + } + + break; + } + + } + + } + //ÏÔʾÁ¬Ïß,ÉèÖÃÄÜ·ñ½øÈë + public void ShowMap() + { + for (int i = 0; i < LevelDevelopManager.Instance.levelMap.Count; i++) + { + for (int j = 0; j < LevelDevelopManager.Instance.levelMap[i].levelColumn.Count; j++) + { + if (LevelDevelopManager.Instance.levelMap[i].levelColumn[j].isUse == false) + { + LevelDevelopManager.Instance.levelMap[i].levelColumn[j].gameObject.SetActive(false); + } + else + { + LevelDevelopManager.Instance.levelMap[i].levelColumn[j].GetComponent().LineShow(); + } + LevelDevelopManager.Instance.levelMap[i].levelColumn[j].GetComponent().JudgeCanEnter(); + } + + } + + } + + //ÔØÈë±£´æÊý¾Ý + public void SaveDataLoader() + { + for (int i = 0; i < LevelDevelopManager.Instance.levelMap.Count; i++) + { + LevelDevelopManager.Instance.levelDevelopData.levelSaveMap[i].levelDataList.Clear(); + for (int j = 0; j < LevelDevelopManager.Instance.levelMap[i].levelColumn.Count; j++) + { + LevelDevelopManager.Instance.levelDevelopData.levelSaveMap[i].levelDataList.Add(LevelDevelopManager.Instance.levelMap[i].levelColumn[j].ReturnSaveData()); + } + + } + } + + //¸ù¾Ý±£´æµÄÐÅÏ¢Éú³ÉµØÍ¼ + public void GeneratorLevelMapFormSave() + { + for (int i = 0; i < LevelDevelopManager.Instance.levelDevelopData.levelSaveMap.Count; i++) + { + for (int j = 0; j < LevelDevelopManager.Instance.levelDevelopData.levelSaveMap[i].levelDataList.Count; j++) + { + LevelDevelopData_SO.levelData currentLevelData = LevelDevelopManager.Instance.levelDevelopData.levelSaveMap[i].levelDataList[j]; + + if (i == generatorLine - 1) + { + LevelNode currentNode = GenerateLevelBossNode(i, j, currentLevelData.nodePos); + currentNode.SetUpRoomWithRoomData(currentLevelData); + + } + else + { + LevelNode currentNode = GenerateLevelNode(i, j, currentLevelData.nodePos); + currentNode.SetUpRoomWithRoomData(currentLevelData); + } + + } + + } + for (int i = 0; i < LevelDevelopManager.Instance.levelDevelopData.levelSaveMap.Count; i++) + { + for (int j = 0; j < LevelDevelopManager.Instance.levelDevelopData.levelSaveMap[i].levelDataList.Count; j++) + { + LevelDevelopData_SO.levelData currentLevelData = LevelDevelopManager.Instance.levelDevelopData.levelSaveMap[i].levelDataList[j]; + LevelNode currentLevelNode = LevelDevelopManager.Instance.levelMap[i].levelColumn[j]; + currentLevelNode.SetUpRoomLinkWithRoomData(currentLevelData); + + if (currentLevelNode.isUse == false) + { + currentLevelNode.gameObject.SetActive(false); + } + else + { + currentLevelNode.LineShow(); + } + //ÉèÖýø¶È±êʶ + if (currentLevelNode.isPassBy == true) + { + currentLevelNode.passByMark.SetActive(true); + } + currentLevelNode.JudgeCanEnter(); + } + + } + //ÅжÏÄÜ·ñ½øÈë + int line = LevelDevelopManager.Instance.levelDevelopData.levelStep; + for (int j = 0; j < LevelDevelopManager.Instance.levelMap[line].levelColumn.Count; j++) + { + LevelNode currentLevelNode = LevelDevelopManager.Instance.levelMap[line].levelColumn[j]; + currentLevelNode.JudgeRoadCanEnter(); + } + + } + //ÉèÖ÷¿¼ä¹ÖÎï×éºÍµØÍ¼ + public void SetRoomEnemyPoolAndMap() + { + ReadEnemyPoolInforCsv(enemyPoolFileName); + //È¨ÖØ¸ÅÂʱí + Dictionary weakProbabilityDic = new Dictionary(); + int weakTotalWight = 0; + foreach (var pool in probabilityDictionaryWeak.Keys.ToList()) + { + weakTotalWight += int.Parse(probabilityDictionaryWeak[pool][2]); + weakProbabilityDic.Add(weakTotalWight, pool); + } + List strongProbabilityList = probabilityDictionaryStrong.Keys.ToList(); + List eliteProbabilityList = probabilityDictionaryElite.Keys.ToList(); + List bossProbabilityList = probabilityDictionaryBoss.Keys.ToList(); + //ÉèÖùÖÎï³Ø + for (int i = 0; i < LevelDevelopManager.Instance.levelMap.Count; i++) + { + for (int j = 0; j < LevelDevelopManager.Instance.levelMap[i].levelColumn.Count; j++) + { + LevelNode currentLevelNode = LevelDevelopManager.Instance.levelMap[i].levelColumn[j]; + switch (currentLevelNode.roomType) + { + case RoomType.monster: + if (i < 5) + { + currentLevelNode.fightEenemyPool = Name.EnemyPool.Weak; + //¸ù¾Ý¹ÖÎï³ØËæ»ú¹ÖÎï×éºÍµØÍ¼ + int mark1 = Random.Range(0, weakTotalWight); + List weakProbabilityList = weakProbabilityDic.Keys.ToList(); + for (int a = 0; a < weakProbabilityList.Count; a++) + { + if (mark1 < weakProbabilityList[a]) + { + string[] enemys = probabilityDictionaryWeak[weakProbabilityDic[weakProbabilityList[a]]][3].Split(';'); + currentLevelNode.enemyList = enemys.ToList(); + string[] maps = probabilityDictionaryWeak[weakProbabilityDic[weakProbabilityList[a]]][4].Split(';'); + currentLevelNode.mapIndex = maps[Random.Range(0, maps.Count())]; + break; + } + } + } + else + { + currentLevelNode.fightEenemyPool = Name.EnemyPool.Strong; + //¸ù¾Ý¹ÖÎï³ØËæ»ú¹ÖÎï×éºÍµØÍ¼ + int mark2 = Random.Range(0, 100); + for (int a = 0; a < strongProbabilityList.Count; a++) + { + if (mark2 < strongProbabilityList[a]) + { + string[] enemys = probabilityDictionaryStrong[strongProbabilityList[a]][3].Split(';'); + currentLevelNode.enemyList = enemys.ToList(); + string[] maps = probabilityDictionaryStrong[strongProbabilityList[a]][4].Split(';'); + currentLevelNode.mapIndex = maps[Random.Range(0, maps.Count())]; + } + } + } + break; + case RoomType.boss: + currentLevelNode.fightEenemyPool = Name.EnemyPool.Boss; + //¸ù¾Ý¹ÖÎï³ØËæ»ú¹ÖÎï×éºÍµØÍ¼ + int mark3 = Random.Range(0, 100); + for (int a = 0; a < bossProbabilityList.Count; a++) + { + if (mark3 < bossProbabilityList[a]) + { + string[] enemys = probabilityDictionaryBoss[bossProbabilityList[a]][3].Split(';'); + currentLevelNode.enemyList = enemys.ToList(); + string[] maps = probabilityDictionaryBoss[bossProbabilityList[a]][4].Split(';'); + currentLevelNode.mapIndex = maps[Random.Range(0, maps.Count())]; + } + } + break; + case RoomType.eliteMonster: + currentLevelNode.fightEenemyPool = Name.EnemyPool.Elite; + //¸ù¾Ý¹ÖÎï³ØËæ»ú¹ÖÎï×éºÍµØÍ¼ + int mark4 = Random.Range(0, 100); + for (int a = 0; a < eliteProbabilityList.Count; a++) + { + if (mark4 < eliteProbabilityList[a]) + { + string[] enemys = probabilityDictionaryElite[eliteProbabilityList[a]][3].Split(';'); + currentLevelNode.enemyList = enemys.ToList(); + string[] maps = probabilityDictionaryElite[eliteProbabilityList[a]][4].Split(';'); + currentLevelNode.mapIndex = maps[Random.Range(0, maps.Count())]; + } + } + break; + } + } + } + + } + + public void ReadEnemyPoolInforCsv(string fileName) + { + string filePath = Path.Combine(Application.streamingAssetsPath, fileName); + using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + using (StreamReader reader = new StreamReader(fs)) + { + bool isFirstLine = true; + while (!reader.EndOfStream) + { + string line = reader.ReadLine(); + if (isFirstLine) + { + isFirstLine = false; + continue; // Ìø¹ý±êÌâÐÐ + } + // ÓöººÅ·Ö¸ôÿÐÐÊý¾Ý + string[] values = line.Split(','); + switch (values[1]) + { + case Name.EnemyPool.Weak: + probabilityDictionaryWeak.Add(int.Parse(values[0]), values.ToList()); + break; + case Name.EnemyPool.Strong: + probabilityDictionaryStrong.Add(int.Parse(values[0]), values.ToList()); + break; + case Name.EnemyPool.Elite: + probabilityDictionaryElite.Add(int.Parse(values[0]), values.ToList()); + break; + case Name.EnemyPool.Boss: + probabilityDictionaryBoss.Add(int.Parse(values[0]), values.ToList()); + break; + } + } + } + } +} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LeveGeneraterNew.cs.meta b/ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LeveGeneraterNew.cs.meta new file mode 100644 index 00000000..93cd742f --- /dev/null +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LeveGeneraterNew.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9357c62ffeceff4468da4ccfd5b937a3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelDevelopManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelDevelopManager.cs index 3d4e6e7c..6e363736 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelDevelopManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelDevelopManager.cs @@ -26,6 +26,12 @@ public class LevelDevelopManager : Singleton public Sprite campfireIcon; public Sprite incidentIcon; public Sprite treasureIcon; + public Sprite forgingIcon; + public Sprite deleteCardIcon; + public Sprite addCardIcon; + public Sprite resourceIcon; + public Sprite potionIcon; + public Sprite startIcon; public enum RoomType { monster, @@ -34,8 +40,13 @@ public class LevelDevelopManager : Singleton shop, campfire, incident, - treasure - + treasure, + forging,//¶ÍÔì + deleteCard, + addCard, + resource, + potion, + start } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelGenerator.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelGenerator.cs index 0dd860a5..289bc2da 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelGenerator.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelGenerator.cs @@ -1,8 +1,7 @@ -using System.Collections; using System.Collections.Generic; +using System.IO; using System.Linq; using UnityEngine; -using UnityEngine.UI; using static LevelDevelopManager; public class LevelGenerator : Singleton @@ -53,6 +52,12 @@ public class LevelGenerator : Singleton public List levelPrefabList = new List(); public List BossLevelPrefabList = new List(); + [Header("¹ÖÎï³ØµØÍ¼¸ÅÂÊ×Öµä")] + public string enemyPoolFileName; + Dictionary> probabilityDictionaryWeak = new Dictionary>(); + Dictionary> probabilityDictionaryStrong = new Dictionary>(); + Dictionary> probabilityDictionaryElite = new Dictionary>(); + Dictionary> probabilityDictionaryBoss = new Dictionary>(); private void Start() { originalPoint= generatorPoint.transform.position; @@ -78,6 +83,7 @@ public class LevelGenerator : Singleton CheckEliteMonster(); SetRoomBig(); ShowMap(); + SetRoomEnemyPoolAndMap(); } //Éú³ÉÍø¸ñ public void GenerateGridMap( int generatorLine,int generatorColumn) @@ -715,5 +721,134 @@ public class LevelGenerator : Singleton } } + //ÉèÖ÷¿¼ä¹ÖÎï×éºÍµØÍ¼ + public void SetRoomEnemyPoolAndMap() + { + ReadEnemyPoolInforCsv(enemyPoolFileName); + //È¨ÖØ¸ÅÂʱí + Dictionary weakProbabilityDic = new Dictionary(); + int weakTotalWight = 0; + foreach (var pool in probabilityDictionaryWeak.Keys.ToList()) + { + weakTotalWight += int.Parse(probabilityDictionaryWeak[pool][2]); + weakProbabilityDic.Add(weakTotalWight,pool); + } + List strongProbabilityList = probabilityDictionaryStrong.Keys.ToList(); + List eliteProbabilityList = probabilityDictionaryElite.Keys.ToList(); + List bossProbabilityList = probabilityDictionaryBoss.Keys.ToList(); + //ÉèÖùÖÎï³Ø + for (int i = 0; i < LevelDevelopManager.Instance.levelMap.Count; i++) + { + for (int j = 0; j < LevelDevelopManager.Instance.levelMap[i].levelColumn.Count; j++) + { + LevelNode currentLevelNode = LevelDevelopManager.Instance.levelMap[i].levelColumn[j]; + switch (currentLevelNode.roomType) + { + case RoomType.monster: + if (i < 5) + { + currentLevelNode.fightEenemyPool = Name.EnemyPool.Weak; + //¸ù¾Ý¹ÖÎï³ØËæ»ú¹ÖÎï×éºÍµØÍ¼ + int mark1 = Random.Range(0, weakTotalWight); + List weakProbabilityList = weakProbabilityDic .Keys .ToList(); + for (int a = 0; a < weakProbabilityList.Count; a++) + { + if (mark1 < weakProbabilityList[a]) + { + string[] enemys = probabilityDictionaryWeak[weakProbabilityDic[weakProbabilityList[a]]][3].Split(';'); + currentLevelNode.enemyList = enemys.ToList(); + string[] maps = probabilityDictionaryWeak[weakProbabilityDic[weakProbabilityList[a]]][4].Split(';'); + currentLevelNode.mapIndex = maps[Random.Range(0, maps.Count())]; + break; + } + } + } + else + { + currentLevelNode.fightEenemyPool = Name.EnemyPool.Strong; + //¸ù¾Ý¹ÖÎï³ØËæ»ú¹ÖÎï×éºÍµØÍ¼ + int mark2 = Random.Range(0, 100); + for (int a = 0; a < strongProbabilityList.Count; a++) + { + if (mark2 < strongProbabilityList[a]) + { + string[] enemys = probabilityDictionaryStrong[strongProbabilityList[a]][3].Split(';'); + currentLevelNode.enemyList = enemys.ToList(); + string[] maps = probabilityDictionaryStrong[strongProbabilityList[a]][4].Split(';'); + currentLevelNode.mapIndex = maps[Random.Range(0, maps.Count())]; + } + } + } + break; + case RoomType.boss: + currentLevelNode.fightEenemyPool = Name.EnemyPool.Boss; + //¸ù¾Ý¹ÖÎï³ØËæ»ú¹ÖÎï×éºÍµØÍ¼ + int mark3 = Random.Range(0, 100); + for (int a = 0; a < bossProbabilityList.Count; a++) + { + if (mark3 < bossProbabilityList[a]) + { + string[] enemys = probabilityDictionaryBoss[bossProbabilityList[a]][3].Split(';'); + currentLevelNode.enemyList = enemys.ToList(); + string[] maps = probabilityDictionaryBoss[bossProbabilityList[a]][4].Split(';'); + currentLevelNode.mapIndex = maps[Random.Range(0, maps.Count())]; + } + } + break; + case RoomType.eliteMonster: + currentLevelNode.fightEenemyPool = Name.EnemyPool.Elite; + //¸ù¾Ý¹ÖÎï³ØËæ»ú¹ÖÎï×éºÍµØÍ¼ + int mark4 = Random.Range(0, 100); + for (int a = 0; a < eliteProbabilityList.Count; a++) + { + if (mark4 < eliteProbabilityList[a]) + { + string[] enemys = probabilityDictionaryElite[eliteProbabilityList[a]][3].Split(';'); + currentLevelNode.enemyList = enemys.ToList(); + string[] maps = probabilityDictionaryElite[eliteProbabilityList[a]][4].Split(';'); + currentLevelNode.mapIndex = maps[Random.Range(0, maps.Count())]; + } + } + break; + } + } + } + + } + public void ReadEnemyPoolInforCsv(string fileName) + { + string filePath = Path.Combine(Application.streamingAssetsPath, fileName); + using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + using (StreamReader reader = new StreamReader(fs)) + { + bool isFirstLine = true; + while (!reader.EndOfStream) + { + string line = reader.ReadLine(); + if (isFirstLine) + { + isFirstLine = false; + continue; // Ìø¹ý±êÌâÐÐ + } + // ÓöººÅ·Ö¸ôÿÐÐÊý¾Ý + string[] values = line.Split(','); + switch (values[1]) + { + case Name.EnemyPool.Weak: + probabilityDictionaryWeak.Add(int.Parse(values[0]), values.ToList()); + break; + case Name.EnemyPool.Strong: + probabilityDictionaryStrong .Add(int.Parse(values[0]), values.ToList()); + break; + case Name.EnemyPool.Elite: + probabilityDictionaryElite.Add(int.Parse(values[0]), values.ToList()); + break; + case Name.EnemyPool.Boss: + probabilityDictionaryBoss.Add(int.Parse(values[0]), values.ToList()); + break; + } + } + } + } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelNode.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelNode.cs index f7147567..b2504915 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelNode.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/LeveProcess/LevelNode.cs @@ -31,7 +31,13 @@ public class LevelNode : MonoBehaviour public Text roomText; [Header("·¹ý·¿¼ä±êʶ")] public GameObject passByMark; - + //¹ÖÎïµØÍ¼Éú³É²ÎÊý + [Header("µ±Ç°Õ½¶·¹ÖÎï³ØÇ¿¶È")] + public string fightEenemyPool; + [Header("µ±Ç°Õ½¶·¹ÖÎïÁбí")] + public List enemyList = new List(); + [Header("µ±Ç°Õ½¶·µØÍ¼")] + public string mapIndex; private void OnEnable() { roomIcon = this.transform.GetChild(1).GetComponent(); @@ -118,11 +124,11 @@ public class LevelNode : MonoBehaviour LevelDevelopManager.Instance.levelDevelopData.levelStep += 1; //¼ÆËãµÐÈËÇ¿¶È - if (roomType == LevelDevelopManager.RoomType.monster || roomType == LevelDevelopManager.RoomType.eliteMonster || roomType == LevelDevelopManager.RoomType.boss) + /* if (roomType == LevelDevelopManager.RoomType.monster || roomType == LevelDevelopManager.RoomType.eliteMonster || roomType == LevelDevelopManager.RoomType.boss) { PlayerStatsManager.Instance.CalculateEnemyStrength(roomType); - } - + }*/ + ScenceLoadManager.Instance.LoadTargetLevel(roomDestinationIndex); @@ -168,6 +174,13 @@ public class LevelNode : MonoBehaviour { levelData.nextLevelNodes.Add(new Vector2(child.line, child.column)); } + levelData.fightEenemyPool = fightEenemyPool; + foreach (var enemy in enemyList) + { + levelData.enemyList.Add(enemy); + } + levelData .mapIndex = mapIndex; + return levelData; } @@ -226,6 +239,30 @@ public class LevelNode : MonoBehaviour roomText.text = "±¦Ïä"; roomIcon.sprite = LevelDevelopManager.Instance.treasureIcon; break; + case LevelDevelopManager.RoomType.forging: + roomText.text = "¶ÍÔì"; + roomIcon.sprite = LevelDevelopManager.Instance.forgingIcon; + break; + case LevelDevelopManager.RoomType.deleteCard: + roomText.text = "ɾ¿¨"; + roomIcon.sprite = LevelDevelopManager.Instance.deleteCardIcon; + break; + case LevelDevelopManager.RoomType.addCard: + roomText.text = "п¨"; + roomIcon.sprite = LevelDevelopManager.Instance.addCardIcon; + break; + case LevelDevelopManager.RoomType.resource: + roomText.text = "×ÊÔ´"; + roomIcon.sprite = LevelDevelopManager.Instance.resourceIcon; + break; + case LevelDevelopManager.RoomType.potion: + roomText.text = "Ò©Ë®"; + roomIcon.sprite = LevelDevelopManager.Instance.potionIcon; + break; + case LevelDevelopManager.RoomType.start: + roomText.text = "¿ªÊ¼"; + roomIcon.sprite = LevelDevelopManager.Instance.startIcon; + break; } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/MapManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/MapManager.cs index d2a54fa7..25e85786 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/MapManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/MapManager.cs @@ -1,5 +1,6 @@ using System.Collections; using System.Collections.Generic; +using System.Linq; using UnityEngine; using UnityEngine.Rendering.VirtualTexturing; using UnityEngine.UI; @@ -49,6 +50,9 @@ public class MapManager : Singleton public GameObject paper; [Header("°×ɫ̫Ñô")] public Image whiteColorNode; + [Header("Éú³ÉÎïÆ·")] + public string itemPrefabPath; + void Start() { StartCoroutine (starttest()); @@ -125,11 +129,7 @@ public class MapManager : Singleton enemyList = EnemyPool.GetRandomEnemyPool(EnemyPool.bossEnemyPool); break; } - foreach (string a in enemyList) - { - Debug.Log("¹ÖÎïÊÇ" + a); - } - + List enemyListTest =new List (); HashSet mapSet = new HashSet (); List mapList = new List (); @@ -184,8 +184,8 @@ public class MapManager : Singleton bookAnim.GetComponent().SetTrigger("move"); //Êé·ìÓúºÏ //bookUpAnim.SetActive(true); - StartCoroutine(GenerateProcessTest()); - enemyBurn(PlayerStatsManager.Instance.levelDevelopData.fightEenemyPool); + StartCoroutine(GenerateProcessTest()); + // enemyBurn(PlayerStatsManager.Instance.levelDevelopData.fightEenemyPool); } //×ܶ¯»­¿ØÖƽø³Ì public void ContinueProgress() @@ -202,6 +202,7 @@ public class MapManager : Singleton yield return StartCoroutine(SetUpMapUnityForCube()); yield return StartCoroutine(UPMoveMapUnity()); yield return new WaitForSeconds(2); + yield return StartCoroutine(GenerateItem()); yield return StartCoroutine(EnemyGenerate()); yield return StartCoroutine(CompleteGenerate()); CardManager.createCardImageMap(); @@ -310,6 +311,28 @@ public class MapManager : Singleton enemynode.positionY = enemy.locationY; enemynode.StartPosition(); } + LevelDevelopData_SO levelData_SO = PlayerStatsManager.Instance.levelDevelopData; + LevelDevelopData_SO.levelData currentLevelData = levelData_SO.levelSaveMap[(int)levelData_SO.currentPoint.x].levelDataList[(int)levelData_SO.currentPoint.y]; + List enemyList = new List(); + foreach (var enemyID in currentLevelData.enemyList) + { + enemyList.Add(EnemyPool.enemyIndexToString(int.Parse(enemyID))); + } + List enemyPrefabList = EnemyPool.getEnemyPrefab(enemyList); + + HashSet allCanUseNode = getNodeTools.getAllCanUseNode(); + foreach (var enemyPrefab in enemyPrefabList) + { + MapUnity currentMapUnity = allCanUseNode.ElementAt(Random.Range(0, allCanUseNode.Count)); + var currentEnemy = Instantiate(enemyPrefab, currentMapUnity.transform.position,enemyPrefab.transform.rotation); + EnemyNode enemynode = currentEnemy.GetComponent(); + enemynode.positionX = currentMapUnity.locationX; + enemynode.positionY = currentMapUnity.locationY; + enemynode.StartPosition(); + allCanUseNode.Remove(currentMapUnity); + yield return null; + } + yield return null; } IEnumerator SetUpMapUnity() @@ -586,6 +609,44 @@ public class MapManager : Singleton } } + //Éú³É³õʼÎïÆ· + IEnumerator GenerateItem() + { + LevelDevelopData_SO levelData_SO = PlayerStatsManager.Instance.levelDevelopData; + LevelDevelopData_SO.levelData currentLevelData = levelData_SO.levelSaveMap[(int)levelData_SO.currentPoint.x].levelDataList[(int)levelData_SO.currentPoint.y]; + List itemList = PlayerStatsManager.Instance.itemInforDic[int.Parse(currentLevelData.mapIndex)]; + HashSet allNode = getNodeTools.getAllCanUseNode(); + for (int i=0;i(itemPrefabPath + values[0]); + int itemCount = Random.Range(int.Parse(values[1]), int.Parse(values[2])); + for(int j=0;j takeOverNode = item.GetComponent().TakeOverCalculation(currentNode); + if(takeOverNode !=null ) + { + if (takeOverNode.IsSubsetOf(allNode)) + { + item.GetComponent().GenerateBlockItem(currentNode, item); + allNode.ExceptWith(takeOverNode); + break; + } + } + + } + + } + yield return null; + } + + yield return null; + } [System .Serializable ] public class EnemyGenerateData { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs index 82e19303..f3509507 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs @@ -1,9 +1,11 @@ using System; using System.Collections; using System.Collections.Generic; +using System.IO; using System.Linq; using Unity.VisualScripting; using UnityEngine; +using static Name; public class PlayerStatsManager : Singleton { @@ -26,12 +28,17 @@ public class PlayerStatsManager : Singleton public bool isPass; [Header("ÊÇ·ñ¾­ÊDZ¦Ïä")] public bool isTreasure; + + [Header("·¿¼äÎïÆ·×Öµä")] + public string itemCsvFilePath; + public Dictionary> itemInforDic = new Dictionary>(); + private void Start() { DontDestroyOnLoad(this.gameObject); - + ReadItemInforCsv(itemCsvFilePath); } //Ñ¡ÏîЧ¹û==¼ÓÒ»¸öͬ²½UIµÄ¶©ÔÄϵͳ @@ -141,30 +148,28 @@ public class PlayerStatsManager : Singleton return cardPrefab; } - //¼ÆËã¹ÖÎïÇ¿¶È - public void CalculateEnemyStrength(LevelDevelopManager .RoomType currentRoomType ) + + //¶ÁÈ¡·¿¼äÉú³ÉÎïÆ·×Öµä + public void ReadItemInforCsv(string fileName) { - if(levelDevelopData.levelStep == levelDevelopData.levelSaveMap .Count -1) - { - levelDevelopData.fightEenemyPool = Name.EnemyPool.Boss; - return; - } - if (levelDevelopData.levelStep<5) - { - if(currentRoomType != LevelDevelopManager.RoomType.eliteMonster ) - { - levelDevelopData.fightEenemyPool = Name.EnemyPool.Weak; - } - } - else + string filePath = Path.Combine(Application.streamingAssetsPath, fileName); + using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + using (StreamReader reader = new StreamReader(fs)) { - if (currentRoomType != LevelDevelopManager.RoomType.eliteMonster) - { - levelDevelopData.fightEenemyPool = Name.EnemyPool.Strong; - } - else + bool isFirstLine = true; + while (!reader.EndOfStream) { - levelDevelopData.fightEenemyPool = Name.EnemyPool.Elite; + string line = reader.ReadLine(); + if (isFirstLine) + { + isFirstLine = false; + continue; // Ìø¹ý±êÌâÐÐ + } + // ÓöººÅ·Ö¸ôÿÐÐÊý¾Ý + string[] values = line.Split(','); + List itemInfor = values.ToList(); + itemInfor.RemoveAt(0); + itemInforDic.Add(int.Parse(values[0]), itemInfor); } } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/LevelDevelopData_SO.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/LevelDevelopData_SO.cs index e2b13593..ee9894ed 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/LevelDevelopData_SO.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/LevelDevelopData_SO.cs @@ -7,12 +7,10 @@ using UnityEngine; public class LevelDevelopData_SO : ScriptableObject { public int levelStep;//¹Ø¿¨Ç°½ø²½Êý + public int mapLevel;//´ó¹Ø²ãÊý public Vector2 currentPoint;//µ±Ç°Ñ¡Ôñ¹Ø¿¨£¬ÓÃÀ´ÅжÏÏÂÒ»²½ÄÇЩ¿ÉÒÔ×ß public List levelSaveMap = new List();//¹Ø¿¨±£´æÊý¾ÝÁбí - [Header("µ±Ç°²ãÕ½¶·¹ÖÎï³Ø")] - public string fightEenemyPool; - [System.Serializable] public class LevelDataList { @@ -30,5 +28,12 @@ public class LevelDevelopData_SO : ScriptableObject public List fatherLevelNodes = new List(); public List nextLevelNodes = new List(); + + //µ±Ç°²ãÕ½¶·¹ÖÎï³ØÇ¿¶È + public string fightEenemyPool; + //µ±Ç°²ãÕ½¶·¹ÖÎïÁбí + public List enemyList = new List(); + //µ±Ç°²ãÕ½¶·µØÍ¼ + public string mapIndex; } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/PlayerState_SO.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/PlayerState_SO.cs index 22bc5cc8..878dcafa 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/PlayerState_SO.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/Data_SO/PlayerState_SO.cs @@ -29,6 +29,7 @@ public class PlayerState_SO : ScriptableObject public int cardRewardNumToGget;//ʵ¼Ê¿ÉÒÔÑ¡Ôñ¿¨Åƽ±ÀøµÄÊýÁ¿ + public int canColorCount;//Íæ¼Ò¿ÉÒÔ³õʼȾɫ¶àÉٵؿé [Header("×ÊԴϵͳ")] public int money; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs index f9458b14..bc762ced 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Tool/getNodeTools.cs @@ -751,4 +751,22 @@ public class getNodeTools return influencePreviewPool; } + + //Äõ½È«Í¼¿ÉÓýڵã + public static HashSet getAllCanUseNode() + { + HashSet mapUnities = new HashSet(); + for (int i=0;iz#97J!d6}eN&bJz!G+=RPwFuX0WbSs+F4tR`T1cm3)wps#~}d z_&V}qJ6Tqc#pajGmJL;j>6N_4$WNpnXrgno#)|w9*#^fVyPGvuK4bmOovU1{hvDrrwC1JH0%&DyN~6H6X1DOQ%fVdch>Gn3S;kbau*HRKm8&02DkVOT*^uyn*glUS-1{IY?3 zBl!siOD^NX9ET;B@l73vC5OCfENOGcQ%kNI`F3=i^(8+|!0|!;{p1(qE3;(qNsgzM zZ0l#baMTYhxl(fcO%jXzttI1^4RQUzLxsm@>zDOo_0;52V_(ZzKae3zZ{<5y;=xum zDVxk1E2c*b`e4kFZwU28g9_4>V7C*p#;K{xzk>KkBW?0$4^XG^16US#7 zratUrec7i>J|5o&3g_`PDV)c*VZy7GQ3I^+fbF6jKcN0`d~Zr5j&EaGd`}DxPyJ_! z$GHbNLT>BteThfV;XErdgU_yIq}@^2w9lrNNj z%Y@tfcXRn~6wHVL=(GtwR3wn_e$AMQAM9Dcy@LqEqkzP%4+oAq~r z<2#h_+ob+(6ps3XpY%gqf9PEGRew7tyjr&H+qy41(levGv)0nxI=?<;PHkq#0;ZJmW^^o^Q0uODw$|Dpbkw(*JAG`etz$}e zXT5!P_Z;ldR_mDru6K2`^5+qBRZQ)wPp-{utw{;4@+Nh5%s|(^Qn?nZB}*><)EP(ZH|)-R z{;<_WUp(S#FRzwK>>%kX;fzE;?@lglmY5&8S(_Ek?xkI)z&oJThxHCXsthX|21t5X zKD-iIe$%_lWy1xY9XKnH9*ZBy$4Vp^dUt*xKT;yW2m4UA!6AQ}LcW+-({q5 zaP;ovr&(h~`BxPV`Ov$oWI5I*uzuEb>CwB3)AvfmrjEnIm2tFADBt$(a_nRR%Rf-K z{5Lv|%ZL1PTzd5G;`}>>ohu8D9lg7d4>YaMVwc|b?sBsiR#mYm^bT$o4&9-57q=cL zU#_z&kRQFfFn_Dx2ZhW33VL^C{6)vnyDQ_rcO1RDvf~#sGv(XfU5>p>K>b0!H61s- zyGXy_+d6K0cezUqnQi)g9bey&l#h2Dy}MX`}3M;zu9ryyUQId%74sp z+q(;Suay6$|l#kwB$ZhZLJV}i7=-tV# zW{nlv$8QLDP!{+vv}3XSIKLK4=16aQcRBVl0s8U%m+jrX-TN zD=B07{rvZfxancctgj=I#wn`7vlSu_ZzYOIB5zXCgwXP|x$KgPlCz{oS+QN~oUESzZ$?p*zbLTZr z9JO#>N4p50M2s~3GKn6w(DYVaH>@!VCuCA>=1e(WuVW|GKB?AOn_HJIY!`ZY6uyX+ z$h2F_-MVlXuKrxN6=KR*A_gu^()L>07#Zo4fk$N2_$7Iw+bq%q(UWV^h3_$kSM)@~ zEGM)stk3ky#pZAs#*~W;$!pTI$x~``=V8Fq{<8IA;_A$rJNXes_gJWBB}qz;iHLRS z+qcvwb+ooiPu&VG=^IDq>PDjEYNn&LtKNCgqIva(uA+GMuASsw3S$wCjN?3Pafl6b zDB_vk6Mn+DDYhIpZfk!uBp*}j>FPqCzNgCz~URJo4e&2tZPz-T;PeJ zOlh4xw^mw8$$m;{C3~7ual&+VAJkcEZ5Np^I4uY2{~RfU<6@WYddXO}xpwgsKS8d$ zTE(Wsh|Q3<*~#VB+|^Y#7f4BDxGz0K<1CZ(j5EIW0j!rSx$uw|j{NXnV~6Z@(w;-V z{r>cQ(OsM+u3LH!CP?#xP@FQl*66;#g`52HT()eW8%Ogdo?e~K zX?7g@h$v=_71H-Q*}&{&QVwJS`JwU)++HT-hG9iMQ?|kFWl}C%HjsD7PjGvglv^lk z@{?s7+zx{0vSkDLW%3i;Tqad=3uO(CX7UEv2G=f=Zg(6_t?X{rSTX(gWgF?sE|ZY| zqmG-)q>}VcJ6?8~1pU71c-dtV^8btDtIFS4z7@odaG53l?PXG)VcnSyGZ67Ki#p4PUR zjmWvv!{4>p(i9rMH?m^3t;4e0W9t~Zu-jAGI_A~w=7_e|xiczl^_jElBRf0hxxMDr z7Vh684QxwiN0&G}wz{qDlk2m^Lp68S#c$NwdunYX>TPYNoo?ZVjXy{Re@uKgH)cR~ zn?DXs(l6YA#q|Wz!qJ3$P-U1L-@y_O4o4I6 zW$bu>#G~%vXkzZ`2aYD>);?-3J;vPp0Qxz%j|s-<*sC77)WDc|M>{$-v8yrrP3n|U>lx$Ptv|(X=*-(In8wzmT5D&er4cVz zA+<&3df}j&jQG2YgmEqAg2K5s?lG>b*$m7Z$vUloU-{$T4|;0a@$1a}%J^#@JN$-~ ze*2ptCtvr(&@tQo?ZkVIo$=LGr^{}O#VbK6L!=V=9i4R)pM;~^SscxLsbd(radcKi zW*r+k_Gyl|?`WK(YwQ6-T`Z17dK5Wy2}f7;GN7R!;0zs(4*M~H&k_0l;N-JCDpKt0 z21X?cCkh;$>?&&;zbAVpWE_x5~1km zs(H@haeP7f*3tPqEZ;i1ko)CZN9XgZxzfPZ$|vRMrir6EMDmC3;OHuqCbPy0`so#Z zlx)+{l}&rjaJ)(WmhqX6Z>aEDj&GE3YoBvWyuGc!H*nbB+hV^9g+u;fvXsexw!}hy zT)CBTIBM`sflH46e2E3O1J6yeWdrNyLiq{4xruHvYpi&FU2L{1l`Rn2jFk=G*T^QW zh+tn^B09&)2IT*cY`!Q9_*RI{v9bXT>7QitLs`JLMs$vq4Ki>V*ylEg&Mm{bD%Y5P zLu?10Lyr8>5kmgk0p(cPP?fIkpsHL6$pZV_o}j^p1RbFrBtAU9hXm*UjtL)ZIy#?` z{87Fcc+OqsX5S&f@nPUO?C1;)j&B!}#!o*q=xFSka9cjE+EBiq-p9v4k9~$VV8R^YV*b!wd8`RHm6K9ZFf&29{ zBH`A)E|u~j|HvY#OFzW;uj?HjRl?Dc#>67(Z!~yb>?HaL`SRnU zBIH9%`-|IN5WhdtHe+Q2^b7lWN+6E!0D=aW+j@k(DGScc@rci{vH||%ufjf(1^S;r z(BQUxqW%w*_)!0LVwM+@6BBOR_hqCn2>B+teEA3EL;h79m%0c7_+qL5b%l$FmC2yZ z#V$<0sY^elKxT`4d&dt__@0hWE#WACv@2iQ!lZogLmbBiUzvO@E`PM6exQ5{9mmL> zAHaL1e$I9Lb3T-9v=6Y)tAxWo4+GD!vO&@Z_IbEOhxQrvKaK!*Y4Hc`hi{)pM*L%4 zsF=jVcyA9bT)1tnVZz&%WY(gk*42Gbt#fuAGc)ct=UWz57FCX`EHHU=9fMh>3dY>! zW~T1?h&i?P+4Y&D=G!@)iRNx^pHwEvV3CYR2_GSMa^v2md6H8YD?>rSUXW3Cb|XZ? zCeAoo?%BaXG(@x;7`&c4qiqp}&<>PoAc$D+p3^atKX5ZvbLZ?H%$JR*wahWIQ|>or z$865rBZ(-%RO%gnYU~6e&VQ1?Nmm0w0FDF{KlqL8h)A!Qu!+q z;isEdGn?Iu%w*wk8TKFDiXA4j$^?X&casS>x7FO%I@?SV3OC!s7mcZR$UIpm?nj&4 z+A;^zU9vg0qqFrmDWTRjaeloMQLMtQ%%YRQsW zdmVPl+P~TNjsq`!^^)!zuAGSe-e8eR+_MQEXB-3vwlpIfCj0bdWa!^(Muxua(u|Dx zYevTW|63zt{+f|7|Nqv=n7?LZ%zs6xi_i$GmDk0H(Z9lVq&2c8*|LG{G}>R(KO91( z(qz_Hk)wSDM;>Jy<7VKi0+*z(Nh~{4R+_`D+39QU2NrXZaWhDNE1tF%A-P>jZL%t;+HlSt?nMwFz+2m=M6V zH2O*F%HQVPAhU}5N$Y`UJ`ejz>w_0qavxZET31?{&2=JvLb66Xuq@{jDwVM z>TffJQ-2r-3DZ|AzmnsBNaEq2%s5D;Nw#c=%iq#OH#v&DLi;u2AVGSY|I?BJ`EPAf zHkmb6OwZ$k9x6flFn=_rA-DOzEV0OcJK&P^%zt}@v;KBSxXu5s5|8{b4$@ctJ1Ly` zV;m$*Z}b01Vv)b?2sO!;4RQUTtq9YH^&{eMGyhUw9hfI**4i&la1b3@Q(yj)ZBa_I|oJ*R~ypPHx9@W!U z?`&?LEwjgCZB9vYGr=U z@_U_i_%D_@Xq%D8-nGYjhj0AVMUM=7<)v94Uh(9i10TM0BrX)YrPolEzx@*^pX^NW zf6_Zeg9pbA=h!R@15ONof}*VBuvi>h{{)JiKterYP?LcJ82u9{*1phjD4QU`l`1<9 zWqhXN8!G8%Ic_@+P4deI)IaQVj{JnLLC3*2aPa;Kl>P}6>5$~;IHTiG&0r)p#1k0k zIKYk=;t33N975hdf#SCx`H8**gu$HJbjWp<- z%F=(C)_?0{~u9@*&uNnDR&4l=! zIr11}t?QUEowa#$T3d`*#sdtj?DC8C4?kkcGYfvQ!RE{D*1q$;ZA;#MeDdZSy|U#2 z_dkBX;iDE_E<3+5u-^lqq5q_B>F*z?32*8D|M5;&TmaxA(|CYfHe6sw934<}bkQ>V z0URFWaEXKmSr5?jAmFVMb-XO-=&vt}ALzl@(YFINd1DuF|3a=wNH~pe^FK@Ck^hFW z_#w`JBY|Q1FnT zlrNMYGdv-;7ee2Wc<9g0@W_S>@Gtkv_T#c(aNN%DI4FOhKe@QbpOQsnw_}n%ln*mJ zVg8m=J~L2LX_CEc;PF#FJ5bX^EO}Y^WW&g}t06uQ<--h5S^2EL-4#yx?47P@{*=$& z>FRSU-^xzDy(Iri$?;LYdkgJLKHHOMLMA4#ekk9*5?hv@^4Wo!CY#voYvtR($(I?@ zWY$PYwr~QEA!$1N3=Qx4k`5*d+{S$8UKhNcVfS>HMkJ6-!K|F9(guza@jEP=cD+?yLM3aF-T;;__!E+?Kz!E5D9JIaW5r z=rcA^QdutK_4Bx=UW2Kbi=!VZ@O{zLAh2?F%z`;TLUhV~y$ z#I_~8T4|HKPjUIr4RS|bVgBt&`Y`{Fgxmhh1(N?DVe^vw?Lh0*jvuS=>m4_jpWZ&G z9~}S9j(2$so8Wf~`-v>D?`}lqSlNK%drsIN9PdGNZW-31|H_BLmLF)-&qrjAl?|fb z;7;-dh|Vp;I(|}UVS&sRIPw?0nu(-Eh|LW$D?G`tx|F@4EYSaP1#&!mQV9L@Q2*hR zLMJ5LPBd-lj_*X|nqy^yOtb{YcalU`GY7FPlh&wzPDGq+;zI8GzdYf#{1LAFQ;-xp zxe%9ss>JtI{%PP$Y_`KEg-%bneNu$iM`w6xv5EShB(fdpc@?S>a{(h_xGx3Rm)(VI2Ey<;=$ zBYQe+J=mEB`y7QxZKgQvuXxhK6D64c5Lp_(DNG}R(zuA`_SU(k+=FDYV>VuWf?L(n zI9nNRC)vj!+_El9-t32ybYwN*mj(c$Az@E7?>YWp3P3f-B>#9tV*U7ZC6%Y5Ao!uip(IY$m zHy`Zb12zAyZ;pqJ4kbmj`iAdUR1MO);6Hy>~{?D=t9`>>3eGHV>P@G z!JN;_RIa=J9}kW_`Q8VY~n&5 z&!gf39DIEfm&w|OkL6F~1;4Y~J36HkCQsT*2h{c0(490LYk9QRK920iVCEbyht1f0-0bZpZT9AD%n*G_E>&=~ z((jP^9a6tT`s5rEIw){Ra2UoR$zKLItX|=mQ7LmsTW=l_s;s z3JweTV?+q~qa#wrG2#Q>Bn#KrLivy%BRb$4BGL<#?@JN~zLCeU$@JfrZSai|=>?|0 zPvXFbc?_H6&&f9UCW!O`IcMfJ^%yq6(IChl{I@gb&Bab1(_v3-HIK2mftKQR+5XLq zxOSFj=IW#60$n}^WIkDA->N;i_>c`Aq{Dul^?JL!h@)kW%hGHg+&Z&+&csf>$#wdq zIg7gR`UTuNDXB)wJ0tL&Lz{Z!q;V4GKAK}kC|uN{_S)Rmmf*%q+0)$Z**&g(R>!z5 zd3CFNArawatd=a9UH{;Sr^fwq`C+WldA#0rfe{x;Q{FhDA zhxsp;@c-<+4a^^d!k$%&tYQ8uCfuGDeLWe6(|)9+L*1?{iyxq084#@;DGSP8#fP$u z@{ykMt!m=(#$K^}t0mmJMND*|{M8#N?FPypFZrV%Cgxc3vS!OMkPg0vEPi16DIdd8bzt(xb!jET$_8-M&xi68>2b@YAIR})HE`2x zWW^rj`#O$(Y;2!R;`SyAA0P~Rkj+Lw`dx${DUpa@UlyO+_jY`|2LRyc@Le?H$&8;J zA#dR6tYNg#Zo&Js)!OBA0bTqEgz-*tSNJSD5Gmu4b@?n=ml68~qPr*~f z=2bI{iBh^9hWE&a6T0olt2`1s(~V-{1vd4CW)!)(Z9#2O*O=Pexi!4M#=HPXJ|lra z?OGeYhgR>zfM&bgt&W#ciwsle&6F1#1tX}V%^JZ zi7(XhHAQmV^V(`=GR_Vp45_@a!xtaE_Qof_a^m|Nudw|21MliwZQz9Me*V)pR{Q70 z$K5${%X@KW!JVQ}D67BU-rsNU@3((){q}w29Gff)8o0FI9^SE#I$+xXqrZ&~igm!b zY}o(@jDG3i@{mz|CTpyb9`*NQSx|pzzdfu!bmYPYEUdrH5?-zRRN`Ke z1^I6-iyznlLBkIDw~(c;{I^WF&Hr7ANB&#M;)gi@tp)a#|27G?`V${+`ag5Rm>vVdu+&f%P3h^I{hq-4P;ZM8t zJ10E6V`Z0whwrxCwJ6$b;f@vLf3!#i`Q$<)l5cPY9}L7t0imDWO{!vrI|fjH)c+oW zLj8nytn8U^d&dag&x!K)Le@D}HpF*~>@CsN%t35NcdX!CkgOU3TsqK=JNEWXxGjHq zY3ot`en^>PWkXzkCeeMB-wbY(nsr?M@PyktR@RpCasG_((qa>LG;AOYkETMtk%-K( zvH|rE{p=we`WZ#g;NcxBqa{AnPk6`5n1tIqR`6&m${&k-bF6HL@Aw!e(P90B@3!3^ z+@-~z_}#V`p9#6OuVbWq)X#V%@&b;(S0q~G_ymt(6C8J}obBW{cf97sPOz72Px(1Yz9=W}p|syn9@mbSQsU!RBjut&UL9m^$(SrXb&0a~ zDNHdRKyICH6HIHZFTl%)cvFnIm0?D$)7%ZwczB{J;pRK1{cf#G zS{A%I#V+>?80?c8Gp;A$8}c7`=2aC{r}$8kG;-nl3zBk{#k$aI;)9T z>azdILcjh-NX>-yW$l~wH!|Vh^*>o?+i&ru(RF11lZ6;3;*&+w zjs3{Vh4{(3qa?mcXtw*GEJXk7fBMP7lifJVT<9jp$_BJA7-PBC@peS#mSK(d>6^lS zZ+B`(m@< zJ>A_M?eckcxh2K_AQmF}AC@x%|05cozry)x8p~xX-=FaFudg%s!b{%2cHyC4+iHz* zJ54y}ftEuj?0Uu#+Z}fM;3J1$A-g{1&j0?g+WxWH{;}HrvD%^H6PjcR`(piXf%C^o z`p0U;K#Y~(FKi_oOWx7MH36AG&aq_N6H_);$FWe{6H~@HmWTO{klV3PiR^z1oYc*} zN&SRlp|~fetp57n0%xyPF{kDS*sp)BI!<8dAH%sEdrwT>$O2<2M~iLtzXi_T(}{ax z!usof3!Hzg&U;&FK(HT-6)fw`xd$rg=4JEjMWA_yk{6=wc+^}-ZPA`+K^W( zXGq>xy8Msz^2R3Y)Ax_K{0!5F`D3g$+V_CU_l5o3ag5c5d|>4j zVSjc!9jguRsl`}rm_EFx7Gt%3z*sc$=UB9P@FXwxz*yNog%6f%Y1F?Nt1Yk`Yd98d z#%etQ!2SNE9jh%0K>j%YSC;%yKNzd^k|Y0MEcztDq5X$r(HN@@?LWMyHcz-Me{)y< zDZ=|I|5T*Uu#*iO>*ZY0X%gL6`KKp59E-+StshW7@=#WVZ>hsrZ6u%355{VtpLDD? z9E-+SZD^n2STx3JLvF{SkCObMAB@$8<^SJ#3*0GE{vatj9;@Y8^o5S&9z8#R!@jO_ z@?Qj)7kk8G(H9G?Yfn_`V+|eZow`0+_N%=^3DbhA$Wdp~e?{V^9M$q8a zKl3eemm}Uw-#=E}|CTtsUrz2s{>0xB*WEE&KD=ta8f)M0H`{%k!`{1nkiq7aZn$0A zzT3@4+FO!4+WTJxCvRox=xF1+=%kv8(QSFvOV>o(zcGW{%Te@4fX$3FDH2EV%g zo~=4=eDbEhPCM*~XODUQ_AT1JdQ#{9&u<{UV4^H=Ed7Jr{e#^7gWR9oAouIiiP%TZ zGjy`d4at=z*|Gr_3BA&-z~BiwDfWisCJSXvet>L)uV+Y;Sz|?x8`Z$qN2Hhk$7(58NSHnx#@;mH{U1|83-)`d7qmdznfhsxwGEu+;xtwNBM-2zCRUGZ+i57)U;iTy z<@Lj9(&18bebwIxh132a2R{K z#8(N;b~uf6RKoioc~~r0i2sw*XrJ`Ql#u^^57TIsApdY057TIVz%(B6 z=QLhAjW)QlweUSW&8mFmFK}zi8f}{_o@lKWa zYDS8@!fCwIzzb~nXC+4*AL36>xGn#1IX=|CnMTWt4C3<5BM+I+!}2kW)>rv<8qH51 zPUD?jAhU&Oo>q}}&1oPAMPfH>T120NyLQz29+6qxk_G(|Aui z`OP$1UhEOek7=~NkO@mI>?Ps4EEJmXZFT#NC%kUe zMo(#zH?DU6uY1=JXV(7redP&mPuiyGhmODJ%4fIT^Pi8da?h(@eE-BPB=&Aur1Mbe z77w?ZctNya@>90V+N{t6S=!sPvE$O-p1r2*15w0LNshU!Z9oskZ{e{|$gAdsinXP@ zJ)8LtPSS_@4@r2n@}ImtoB1!Bq!067F5&;#+q0QJTH$6{7~=X_Q9#J6mDdN@IigjB ztz;55nKf2O-zysB9M8&zG?_J4T%r+|g~n1!?C&7f54f z;wN>u4_3P0cCr+otZeV-(8M>^nR+ZQH{9 zS4_C|Ey0%)WFH3jmc`;*4w49*b1M_LzvMF7ZryXCjKxT{Ozvj5{{msQr;ON`DFHx{h>-$3v z-?fqm4{m*b$l<#;6b|1F-`|w`JoMd|U2V#I9{O(h{-y$pbOS4+Jl_r9A9CxvX+QA& z8&+~z+knwk_*U8ve1FKRm2E`!ePqG$HOV5IjR48u#FOK+lE%* zuPUT()dL{fw9N zPdL7vM3<%ii{slXe2L>bfM>a^Z9x8zZw*mCP3*#<}b{zW+SgSONUT;rMWE za<*{T&sam6JZ}4r7rXT16n=^0`z!o1#}7!jE&mEvzMQKPn#>w2_!sDpk2lzpr$u*w{AVZJ=6{yUf6h|!Z%xvN`HP)I^=JL>MUub#uN;%)Z~0=!+Z6sS$LA{iKF8Zj zIQ-w!j&~TIH};xTlWWVCw)&JsUETG$_6u2ZLHRK+c}K{L@bRsxjs+OCm7!mJHLHji zX+Qlpv8AQ0XJ*~J5Fb~^Ep`tiHrKQhI&j%LO$LrTI+4%#*4cBq<$8EVeQH;2Hj>E~ z4%-CFUSV`?kvuBWA|K>(vlNqUL|yi3sn6``thJfM_#Bw*WIl`KK3vNhnAF)S@7(Xk zR}kf!hq7C(t*e4JN42&L$M+ENfkI(%%&gWjlfG9ho@$sHXS z3^zhIx3|nO-(f5cZ(2uN&)hn{B!*&S1ff2z-Rv>9Hcw()osPlB70o9TJLlJ@PD3r( zkM`P6jCIL}z~pOTo!ukr-L{^v!(0p~)Y`jE;wjy&ayZO+O1(B0nM{!{7PNHBYoX-J zV;!BgQtW%Pq&`~PTj%!7HTk;lmo@ivcTAlog5}30!8pB#(ofPTD`3UpL5{A zOZ#6QtN!N3Oha| zBRg%a(DSJF+KjgPm`PK|$#_t$9X2ho&GY89Eov6SpI%JL{rho6rnH)emkJscp0`-_)-9h@P(Qj=A=8blAgML;Sn3qnu@}Z80s0 zH0}gifx6APVgKyle(vc0?&SU+T*s+yMaJ%p-%QYmV9G{>$wEFtJx)H}AwIyUAKvak ztd=a9@U5W>9zXP)OP*f-2k-pimZ{U8kpYo;vS929L9P#S^droV+^o$C?fBB>KqQ-` zj)UR)Ra~+3D&ls+wjN>VLM!fY)c&nWB!Aa^kM%0?Kl|o*T%sp|8hzB|JfV} z^G9E$Sr!KLV=)fE{8tnZa@&qdU)9vzN=)efLVvxYTlDWxx6qXzz|l^k{RcPWVBQYo zU5=Y^uo8Z<<7ONz;=dC4FOWFscXh*>%o;29)329plyAqunq>2lC@QkCl9$c@K*u*PNssg6V8<~ICYz1GyHHvj z-?D`FO8R+@+i|c)@<#cK9N#)gZ?A(+bKH)D`ROgc*m3v?*=z(}=Ph=8yNFZ&w+V-S zF%H(3{>?a8j-70X^>4<(GE&GA>VGFezI?I%?Kqg9KGeS*2TOV8jt}Ete*V-i^^dls zj8p%194yS=*S{SHOF8wQj)PhGsedyLRwNf$ET{f44i?H6>VF@FQ~&!ae6g#a{St2d z=iQEH!bAUJ$C)1!zJj1;a4*2WpnlkX4Hp)+-(mYTBH_0DS6%rdy}Yr>_U9ePM@4*~ z?D2sxEU@3v;CZnV6Se83)S>4*Q4yT}3$3j|IxHvH|Ch?|;oWSVoFG?Ncc9 zzxx-+Y?0Id+HtUArvZ}Q_rD@*RQ{mA|6&|0^uNml<2(m~XR>mE{)u;)Pn3A6szw+n z_UHRwjDz`{cL~z}VjQfDXA(I`7{Fqod{V&GB$~ezIjDwZ&#S)47!8n-Dsek%kGY*!^PA*^`%Wr=%4%V0c zj|9(LVr+|kQGe9`bQ4$bSpP>wJl20r;h8(W849QVTNFF#*#Daco)Iov(1(-vWix{uY*S-~JXUoc4EI3GbB}rT;lz;k3UK5+2&$i3+Fvouu%^ zu6}Tx=GQ;J{W%qJ8Hf$B|2a*f{qke|pC0j8|7R#XbH{h4 z!m0nyE1dd2tAzXdKU?9{|2ZYR*VF&G3a9?hOL(aN^A%40<2u`~U;3xTu6{0zIQ-8R z;(KW&0c!re?@GsKl<|8EiDiZYt6WwH?tWiFWf4uNP^7|4K*CcBj z$PaYrAD@@K!W{nlgr+inMxF#SI$SL1d65E%2 zS1X+IeKF!V|5lUxdyf$LZWMNnEMff*GWCnOe#n2VEMfV}1oitRg;W0P6wdlxtZ>RN zx{S)V^0hnpu1|O<-wg_ zcT2*pd<&g?Ur%@_->nL#eBV$w<@=_>Dc@}gxANg-ps>GhB|Mbxc7;>EZ!4Vg-Jx*G zcW1(_e7Fw=@_i@ap?r5Kobr8F;gs)gg;T!oCEUvQc_-iZ6CTR<1BFw*A1a*k{Yc@I z@1BHP`S6q}>hIo!hw}Yc;gs(_g;T!!6;AmcNcbRg{e7{>C;uxyFq{7T0k zl=v#4*|z*T#~)JoO^!dT@LL^!MB#Th{;0z76s-KOJf`sb9RI1pA94I=3V*`!#})p( z<3Cq8p0btyl_wM~&siA$q{9E`_)`jh*YT$n{(u(-|9fC*Jn%kF2aX8{#*%1 z`ZXMXUg3C37?YuW+`{nCF%MjX?R>KCh^7w$Cdm zobB_<3TOMgio)4GuUf+W_Ib4u?zhjYmvFy*{*=PmKCc0uHL6GYBzFF0KWU#af3v3W zuze24FV+J0(sO*2^EdeG2Xc;|t`l*NpK<*3(@FW^`2A;uSM#ETc>HW#@XY7o`00A! z1+K*7XX{5i9zVlz`02?ri5w*PHYuFrXB#S<<7XR{aOsmY=Fc})ILFV1mGE9k&+*eu z6wdLpO%ooDpKYdaj-PF=@Wm33`hlM1eFmGVlH`Kq}N71MLw+7Gr^r8Oo z%o2)Vi1oj1#HnA7pKqt|OyY5T+bf*<-$CKjKjsqUeUX5VX@8>>PW!`t^1l&c`x~Qh z+TYj`-s{=lIEB;x_D^_de+MX>_BUSPizOcQGa=&CKm8BtA+*0x|9GCUFa1vf&l=Sy zbs74f&qn3P`kx%}SpQQLPW>OGaO!`m!m0mhCEWKvxQ|QzHv;X0`ah(E_j>w2RN>VB z=Mo<3|1gD9|9GBM{x<^J56Hh*BB6hI-Z|j(KLcgYZ?3{=f9(km?XN@Ov_F(1{~IB;zhfg# z{nP(+B5~eGE_sFirwi!=9?lKc+@Y>Bl+J5Oi%m!mcnU&x0i6={=Thn+TR@|yjL_z`@2)& zw7>5pJhZ>N6i)m5uEJ@5cSoH1r~mn$@X-E3{eK_n^G5YbU5EbX2jH2{L;v%`sQlRf z{3znoAN7Ba!m0mz6;A#CSmD(FeI?x2|NRQ5{vRmey`KJmqHyZ}!GwqUe@Nlf|HBHW z{vU}r{m+Tc|2!%@)PLxI9s>{b8{WVBQ*bZD{^w^Ar~T3YJf4&v+TYKG_ho-ifMYx7S*TO^l3-$jp(&vQ&WB>CT@XY6-|9K@UKlVSrjd-m8R~1hE zzou~N|8<2^|8JCVU;l3^ocjM=3Gemv|9gc~|9?n$sQp1>t`&ys1$H{nPalgYGRgtMC_G z`R^s%KEEZ;5LbZyX1Hv)z~{SOb^Pz(87b~rvh#y)3&;5UKfv>XLw^7Hu75`9d3@|2 zzMqtD{WtrEA4HtzC;juklJdjz^F!f%ouB^(&wTmA^YbI{0w?}?NyOvxQ>rUSPo7CS z=(nnHo}U90&hv9%3HQ&>K?>*jxl9S~6^+hw@(orv&(9$V56@3NC&((~_!rO5WtH@c zUHQvJocgDKUS4=;f1&D1eLlripr1u^U4vYe%U`X-sP=4xvO@&kcYb89?|Jn+t{?}1B_5bOJ4;E=Z65oRb z{^v8oL;Z)(r>+a0H4aZw+vjWX9x$AL>w$X#9QMDm<9LqD59Dh&zCj6xe_vNP{Ckt( zO^qz*|E`x9l)s_EZ*+Vkh10)poNz1u7EZolhBt~g$B*ON!|_c@IOLc2@EZ9yP4c(? z`FbbcW(ueLn=731Z;|i;<~@3oT=`ojJS=}Jg|qyv70&XvNw_WlFjxMz2@lKPPT?$n zdxf)nyw6gs1S=D0pDj|p{IBe2xP$VC9PeQR->HN{zh^kUa|ypv*e$Z){MiLOm&FCx zC;Z1xsZ?QQxWd^!;5jkBeCE&g0q;YNx!*pFQaIa((Ip)6vwaw&aJCO) z6K>yMahf~6aSCVqu)o3=yYvS{ocd?~V7&0Y^gjXV^Fo1geIDo^_j&fE|A|rgvHo!% zXk7oOKkEOp3eVi};Xcu_^wj?pg;W0rm2hAGQx#7APb=Y&pZY&o;ne>j2@myusKTlL z&ncYxKP=$`Dv!vC^NcKLe-9V#2l}^7BogP>5hi`!*ah5wKh%*4A5eKw629&7pT3m* zk4n;q`PULYpz?3Yd#z=x{423SCi6nvjbO;aM&l1W%FX6WT`6bC8>5onFxBa(oJKkBsasEE)cvlG@FZ?CpsGn|y zf9QCR!apIX)2j~B;!Xf{HlJwx?9mjJXeqj2#o{BKkUDp44xG^uz$k-OCIG<&i>0O5oi0w z{>!Q0xu1X7e>qKfHQ-_Ubvk(Frw{utXMh(t>A##AarQ6Retlly)X!N8XZv-w!r6YE zQ^NiB>s*Di{W`CNL;q~Q&R00wuL}|$wqF-2obA^|3SaE(_u`0C|LnhfL3m&K7hm3| z{x1dZL;sgW<;VS(%Of7^{|bdu|5qxU`oBuy)c@5b+}HmX6;AzMQ^I}yU#oEH|4RuE z^?#khssF_ar~Z2rKA-~scZ&0W*9#BzZ?C^tzc+w;f&Cj^zuj2Eas2duUygX}|87dk z5B=X)z_UUC`ZxN&uSWTk)BoKZaoRuq-`Bu%KmXAG-6Fg%|Mzw9%ugTszgxizocOi>sP`LX|#zF=SlGT z7`Ufj&QD$H(*HC`AI?wxEK1M*CH>dq;9el7|N42vIX^-F^+ZyBI6v{E@X&t4`H82% zvqFIQ{(+~#3oQOCynp+dh;w|O{kLZoPWydM;k4i96;Av8MG5!q_m>K%{k~Abefxb; z;k4ghB|My;cuC>3-(M@7_WN?gsek&f-v|%wH`Mi>5o+}Ho_6;A#Cp@jSTe@o%i{~r?`>i@KFDu|M?4epkLd+qyPCUxEEso^KQgxfAl}^f#*dA=zsa|zx2Hb_P0dgv_Gkk zpng#QDE~C6v_VpDd=Cq&kev26KuJ&g!}qrQ`ltTse+CKfOaIFtea_O6SJ?gx2G4vR z>VF7$ffN1nJu=)S*8j3mdh*QG&vFW<{+Cxc^}j+1_w~P`!m0n2N_el-=sYLi$_l6c zS4nuN|5X)E{ja9*#jgC-6K=;BZx{aq`}&mdO2*oUt_GO%{~qU`@E)JgJ_ZK!A8Uf& z>!-K!bN*{Ba4(?${;=eIwB(BZ+uBL~_Wc^{f2@aDS1=5gng> z|2O^Tx>5e5bCh)ANplW4VbN;jbHUuxQ zoIlG3^M@NnyjocT`lo+9Sa@i^q5ko`)xPw9 zD0muODcC^gqWW z<%jmyCcH2En+u*5CB*)x9lXGa|LKT$Y=83;R`=kH4FeyK@zl((TWq%ig zXN3T<|M>!VffM_?B;v9CU8-=}-(?D?{avnb+TRr=+_%3g6;AuRs)YOYceTQ4e_u>^ zXn)rzoc4FE!fAhBia7O8|8t%2(EdXGFGl*jP+;tTdciZFhyLe!@B%0LzaiqW{%=$` z_5WpsQ~x(9ocjMt3HSB?RfSXkH-&t-8TzP|fbl%D?Wdf6Z8Z%@*P{_WdQdipQ=w>!YSKu-U5 zXT)jW^l#ru$`9@PF5!LI_jkdwLV(!6-3?yg#J;~5@z}npeP6;u`@Ub{wC@KLPW%2z#HoM!w+DrX_8aQ|A*9a>1;+mE zVeri7p?`Y>yugY6AB}jd|Hl+g{r^7pk{k@`a+TU+WxNm>2DxCKB zS_${i@4L+}HoR3a9?xE8)KW|E6&2|L+M8_5TlrQ~&=| zIQ9R2#OZ%HzWsslQ2(L-`4@OrD3Jbz{^vt*FObv!{5#^bKl-1KlJZ0UvqX4b_E#Cy zxBXSYJ^AAC?Ew*w?QfvMX@7$hPWxL%;k3WOCET~aAquDc4K3lm{Vl6-+8>_N_Unh^ z*QZIOpvv+Jr~R#vd7&VbFKuSy`|Ws6yf6K)0-pKlL;tfXc!3lD zBj2(Mc&z``6`r~J`IN$`e>}(Tm(TpE|20dvum80aPW`W4!h5Ag=Q;V-Q8@Mg>4b;= z=Q9eY{_z}sczibfVpslp2@kLD))yZ7muh9WT-#weM)KGIJTDX&U*9!F>EYkD7*MGk zDCv)u^cyDWL;to>lpg*I-$xoDdEom)8-rJxurdMm*(-d!aG+tbs+RBr9p6OZlN{ev z;gcQTEaBnzAvYJ^mwb3nL0|H1sc_1-mBK0C))B|~?SCI~8{w54GTMOp^S?i}ZIoX6 z7eW1Qr*PKq_6n!`J1Cs;@0f5aU%S*l^uJTWL-}@AIOW?#;goMzg;T!W5^m+|a`Nq- z@K8Ryha%L!<&WDKQsI;j@A)XJf66yH;Z{C8mk9eClkiZ!u?nYr;}lN$_E$LNJ0Rg!K0KEQ z`Nk(aly8EIYi-jt_=K8h2yy_@Xsk6&ozPLJuT9VHUj0tb3x#T zD;&?&fFGf7JeLA~q{5$Ye7eH%Tm;e|rEok~0A5o#?#lW*S4&I`0+!qc$Q{lL; z8oXY@7mI$YxULaCtAy_&e5m8IOE}W6;rJYd4|BW~Jd=W4VEeq2@EaxWXyKLILHQH6 z&&MEr(7y@KpEiZ_{F$q8o7UL;2<_oboMDIOSWYaLTtR;Z{Dj&&MS^l<#_W4SMvwglw;cTC;Ryf<|FDm>A*S=k&aJJ9aDxB@}mlV$S z`8tKOeO|0^w$Hr^XZw783HRIQ8%ns}KHpfv{r36G3TOL#6L?nG*8pj)4wkVCESMkq zittKa@Ob>=tKeD4F@AKH!~@-ol^2j6{3yvE=xZgsS9q)Aw?v%d$8(*0UkA^N0x*7p z^Mmi7yA?bOIr8WD@i(IUyjZSVri z(S`R%-w|<+@A3ZVI~ATurh+QpQ8>pBp+~=b=FjoN@0M_X{P1ptbNujoB^>(U_~G{z z&hf(^Bs?5H{Gq}*e)uDWFLw2FPsFKzjvwDEypk6RLjTntKmIY&2Ryt#{yy-`Pao?4 ze((Y(`hOte)DQLl6NOX%4=SAce@Nlf|HCER*Z(65r~V%;;lBPKQ#kei(}aim|Cz$6 z|HlRJ?uFR@JRNb`AN|iW;CYcjY=6%R z@5}z41JC^Qq5VA%Uf{(3ei8B5{(h-&+TRNbr~SRCaN6ImO1N)-FDab%_v;ew+uzFy zr~UmV;i3J#qHx;ZZxv4ado|+JKmE^Z!Yg^9pjiK}BYnU_|MLcT=BE$!|0Z~W6aD`# z;<5gJuW;)B4+^LL-%>dB|Hl&U>;F#*r~cnA;lBRgQ8@Mg=Y)s)|BJ$@|Gz4n`hPd! z11fUQOMa&KpP{0c_k>p}O<0*g|8c$i0{WZ6Z*=_c3Ag>Ti(UWgABLN(&5HfED;@u* z!mo4ueTCoZ_y;8%_5U5m|5d`F-yb^up~4??{NE)U?eo*Z(ZBr&Jok?;d_H;!c;<7f z-_J-MChKJihAo_bFG}8cJ{s>QttNb#%Ax_4{0-R$d_cnO`L~HMDGK<6kDp-|}}IADr-N<$YmTP(MS!b6H%7`~O41Gg6E>+V4le{*Zpz zBz@RFUoJ{d`(^vMJh&Igd4I>pQCcqW-b|EnvU{_#@^r+-|dg!}$+O@-4x;ytzg@lk&E&(~Hs{o^_b5B=k( z6;A*78HF!)^|NloseiVQ>j@9-H`M?7NS_x9jP<_(c;@p^|4rZpPV~QF#94prpKqja z>VIQ}Q~$#hPW^9E!hQX3s&MLmvl8AbHA?+&u5jvqi-d>z-%{b!|5gg8{CYR^gk-%)Gz(dXoXY% zV-!yPk5xGJKdyxP`rlvS)IZ)c?jIlJr~etRaO!_T!bANZsBr3kqQa^FNfD?2!F}!U zKc5vI>Ob^9lfkn>f%Gr*KU2WHKu-U2P{e6}^gmOR@S$oiBI6g2NJo9;||2g0VPW0azaq5TqKU(3` z|1k=u{@WBz{m(7ozW&=4PW^Y3a9{uP6i)pgoA6NooeHP^yA)3ScSoH5XQ*5p!vFLL z5A`4VpZVZfp+Nc<`kw{hULdFcSr~EJAN|jwr2NqSjuT$ZivnW%J03jqd1!wpfEPHi zzY`-K+uunFr~RF*aN1w4aN6G~CET~aQx#78JFSHK_IJ9%X@6%VJhZ@XY6-{VfJBaAJSG5s&TfdWF;e zZcsSw??#2w{=Qtoefzsf;k3W6lyKkvzN&EA-^~dR?eA*}r~TccaN6J3BToI(|J*7( zw7*dQ-$44jP++Y8Z-Qq&5A}Z=c!3lBe=Fj#{%=<}_5W>!Q~!4;och1Bg!}scj>4(` zyGppP|L-cC`oBBjq5i+8aO(g23a9>m5OMmSPdoqfL*b$RL;v$5@T^cE{R{oiJ>Xs- zr~kP(;NZ5ZmAV;F-@u`+ESqz={3+B;v9CJ*aTn-$M$g{XML3 z+TSB3+_%3+6;Atmtc3ga_fv(_{(hG5(Ec7*IPLG}3a9-&5pn9D{^v>Iq5XyWe+udI zLV>aVp9ar-9_s%Y@B%0Le>UQ={-0Ag_5ZxWssCRnocjM|3HSB?g2Ji)7fZOW|6eJb z`hO|mq5glZaO(eMg;W2(i8%ew#?Jq|B0SW8=zo3-o)rqDf1&?*72FHt^gpjfoc2fm z^LkQ#Xn$`AujWMovHiUXp7}hqzu$ouII+LqM?AK_KPa5`_m;wGe}7as?e9+|+_%5C z6;Atmr-b|V_h*IE{{E8i(Ek3aaN6Iy3a9;D6VQ~&=`IQ9Rb!m0m%mvCSIA1R#rUsA$-{mXQGaQr+z>c5)s zQ2zrIPW=y5IQ2g$;`Bc|I{&kb@KFDu{}~LP6$+$(q5l~I?geuCpP><_{n7s{o0K2g z-*UpMc~L-Yf6IesJ`e401@HnV_P1ihsUMC%uB33<-^vQ7{jH*K+TW@r+_%5g6i)kF zy@dPr_bG+b{?DE)c+<45B0yP!m0nw z6i)qb9&!4gX6Jvl5FYA3^gmmI2l@@akFyoH7h?ajb;N0Z^gr7q<%jmSt?<6=Z#(d; z5FmcP)b`*7PW;af5s&R}M}^b=c2YR)Z)b(m{&p$hzWw1lzrOsC51jV5TM75=Z+C^$ z{`N?CXn%Vuoc6bu!fAhdN1Xbn|Jg@)Xn&#p_eJ`=P+;tT_5;s+9{QgwDnIr=%@L3F zKV0F|{|JRs|05Mn{f{c)zWzrmocbSA!hQXZRXFuOF5#j6_g6Uee}KZNe|(49w_p07 zNzVUF5FYA3^gjoJ2l@^D&qQ!9#QtYe#A$!@Kc7v?5AAQV@V@MC3V2os5c{8lzzdxC zpQ#a#?QfdGX@3VRoc4E!!fAhpmT=$xKBsWn-(e-(x4**`PWw9|;i3HVJ;HssGjz z?(6?(g;W2>lyG1FZ3?IU=O#SVf4jn|{|<#y|MMbF|8ubOKgS9W^&k45PVhj#q5tUu z_d@J{x+6~eqyOni$`9>tzVN>6Zvl8#2oU?9h2RBF{Li9@$M$!e!fAiUE1dRsg2HKk zCzf#E{!UUj?eF9g?%Q9kaN6G~2@mb>RE5+2PE$DT@AQaM|MWj+2oLQq)c=`CpBD;@ z{m!@EVw`Da`0Rh7vkqTu1M0`=Y#P6 zm_d@}N^mdG|7|4?tswualKeyecXg6~=>NVL7if|CdX+Z~r$boc8~f67JjoR~1hCzd7Nd z{eMm2wEtTaPW%6Q#HoM!zgvZe_8sc~8%UoQ3XJ{VH^DQXhyL%jsQlRfeJkRz{%=<} z_5W>!Q~!4;och1Bg!}scj>4(`yGppP|L-cC`oBBjq5i+8aO(g23a9>mknn2dEb(nv z;D3H7Jk)>q{kVeOTeN-$xWq`+Zd5wBN@{xNpBdRXFYUXC>UX-^UeB z`~7*sL;HO~;k4f;6;AtoD&o{X{nyjNL;DT&{|wUSg#u&$^(=Vi^U!}i7nL9TujeBk z>;D%Dr~ZGbaO(dBg;W18mT+JHzfw5$|56F}_5W*yQ~xg~Jk?w=q3P&m(zeTh132%UBY`sqw}16pHVpNZ{384 z_P3tGX@Bc0oc6at#HoM!AAH9ow7*dQ8zOyPC@}Uv8-Zs&5B<-^QTeg|85VKsm-n}9 zqHyY;-?^g%Oi%r9rlhC-H!tD7{9XV4F{Kl-1Ylk!9R+eLU^_O~l|R+JF? zpWVOU-o|_cvc7y`@iYn1y20mQ4x>r zzoziao!>JQPWx|BIPHIC3HR;4u5jA_tPw=kN5cc^+*3k`#)OY zi(UO36LIRF{;y4VXuqNU=OTSxC@}Va?ckZuL;u$il^^@Rc@dBGf2_i(|4xNd|6K~F z{<}-Kum2u}Q~&czxUc^O3a9=TCOp*tB85}`$0?lpKR)4h{_)S^f6zXjAlwh=pY08c zSl03rBM$!}-@MLOa{MHdf7ZwX{txd5Tthhgjn3e=ds)v41}kJR?oV z_dcJb5B>XDQF{7s`uDTJy+BU?eon-Be$&67o0K1(-{%SM>-;_+JSzl<{rd&r1y20? zg%OX>?~4?kIsbLB!g+pwLE${VFDc>v`F*Lvd46A3!u|96a)tB!z9Qk_`F*9rd46A| z@Wrlvu8uhMPyhZ!;i3J8`o9M0^Fo2Kf4>$y^LgmszZ8`p`}gZ29_xRx!m0mWg;W36 zE1dejp@jSTzfs}T|CdX+um77APW^u+;i3M&s&MN6W`$G#UyC@euWuBU!GGN%Jk)>a zf4&Z$$>IY23;oZn;9el7|M^D5X@B%T-%QF6?e8|>ec9i)z_UVt*#F!PUf{(4d^_T? z{oSE(+TWcDr~Q3L;k3WIO1N)--&Hv6@9q-r+u!#TPW$_Q!bAJ}fx>BjKU6sF??(}* z{^@`25gyuKsQ-JBJ}(p)`=1|!XFd=8&wWw(vH!V0;<5f8P&oDf6NOX%4=SAcf2f4} z`hQsA)c+$T+}Ho33a9=bOL(aNpDLXC|Cz$6|HmUv|HJXUp9>H5ANrpszytk;<9knn zdm;8ePeq*eNB{G5QhsQE&j|0!{+_5XW?Q~!TZIQ9Ql3HSB?M}<@We=6a={@+$O z_5V)7L;e3*;ne?M6i)sBHRAL?)7Za|A)QzfU~12 z|Nm!`KV%D>tkfZ1Il<$rT=k>9Z!g+n{oWuR=V;6<<`q(vx``5>A3g`8) zd&0x(V-JP%`q)$9%Ut>F6>;jH{&AG>(EdXGk4F5Ouixi_VBw`BK= z@4*89QxG2NKYYFb@4@i>8~xW~F8lNC<;ouY8s@6;Ub+wU}m(|+-u z0ss6cf3Nc&$0(fkJ0szt{mxW4?RS>KX}_~0PW{t=%@H2jZ>WDf$J|W+$ALG||M5}& zvHnkpILnXohfY*D^?#DWssED|PW_*f!+rhFRXFv3Y7Y1PS5e{A|Gb2U`fpb__1~dz z>Ywd2UV`*LPdWcHU*d=Q5B*Okc%a{~{j>nw3$gzxN1XOY|8rWBe`tRTg*UUmF7QG_ zfY|?ZgEw&Ee|jPw+h0ZDw7*`3)Ba9ZIPDM5;rj9+f8YN46i)l=&*8rP4Je%UwS)mf${j(ncxMVhwbOHqWok3^TCM6`afIY z)PGIk)c-jOr~c2);lBRQQ#kd1eh&Bbe}TfO{|_ZR)c=JFr~WTeIQ9SGh|~YPO;k3VxE1dRsmBML%SLblw{;p9t?eE$g?%UsW3a9;DpYYKBZcsSw?-L5A{e3dx z)Ia^tjlx6w3-x~!;@27qjQ!6t@Pf}n|Fb;GKlVR2M?BX5rxZ^8-=c8p|5k-l|F`9E zU;no&ocjNC4)^tchr+4<&m=t5|D6h_{_j#a^?!H5ZU1aXH?Dh+@X){5@uyeBKMfP~ zS#U3K{Oec3ab4e=6CdUGmW%(nocJi8cO1V@;ltOm`QM+zk^V-Ge?H>$uUiR6|MUUy zTH^%ZAN}#MFMt<94*A%>d@xEs_OD-zIIl1I*Dodchu7Cb!kb-R4}%Bth1b_3;0^H; z|N7;K$Jf`R3g`9pn8JB|J+5$GUth`L{`K`$h4cD)B8Nji>|cIO;k>@Sp78McdQ#!M zzP_PwUSCf|ocgDK{ig8H{zCnK3-N0W1;+mMY4C#2L;XJ!i>HRr~Y47IQ9Sih|~Y<%>IUg7yS64{S5jh134l&f&iOt)p<--?|A8?GMj^_~jQrpY%S3)Be_vIQ38e zvw`qt`ri=oYYhd){%0fbg3m+!Zye3{Zh{%3^nQ2(L-*$zC=Z|HyU ztdJjK|1&b;v_JZv9g_S*|Ffg;X7;xecpzVBe>;PF0><{YOT=UUv#Y{sf4eE1_P4vj zX@7g~%-zbIC{zfM}w7 zp}^Sx8~|SMd8q#bqx@t29~ALe{|76a`aeYB)c>Ihr~VJi;lBRID4hB~Jcs-GFDRV) zZ%cTne>|t>Uq5mEGfv^u|M-O4@vTF|{~+B7!hQcj|8%7DPZPmwvbX^M;*Sp<5yhwf z;rP&z;9el-{DVmmr+v~t9hKxC+UL>2o7v}N@Ipg?xPLYUyn*HH!ubbNBOcr5G=&!= z(P5JAbcNGCk5M@7b4CvL?Q^EWX`i!l_;S%`uaj@K!fBtFXY7{`?e9Dn|5%07KOLv= zWiI~l5vTs?pH2`S+Fz*u6A{1GP+;tzP699ZJoHZ|NBPJ4KPBR^{^u&3`sX}JO2GKk ze^H4~{m;wczW&=4PW^Y}@a3NVOA4p{=O;Y$Pn`;<{ud~m`Y%VE{^wZde@+t~>Ob^9 z3&9I4UD#^aKI#JZ0y+H;=Art5_DBEIljI-TUqyH``|AZSG;)aj&*|U|ocNz=#A!cl zpZ6)8_Sdg)+TVb}X@84yxNm=p6;AtGlEZ!bTdHu{-x&!H?e7B$r~RF&aN6Hl5vTs? ze?BNYw7*dQXCr>Cp}^Sx)W8cq5B<+MQU0<2IXB|5{?Ai5^?$y?ss9TUPW^u)k`k%|d1O0~n=W=i_ z#Qx`sh|~V)e?FGvAKKrQ!kgLO$H5B?0b>7i6?g+D{^#n5$M$!P!fAikDxCIrox*8< z*XMBG{%%k>?e7yg+_%3^DxCIrW5PrGyGh}+zhw%i{Vk6;^-uqEv+&UVLj8XV@oNnQ z#{TCP@Pf}n|8r}Uf9!v5i+HU6+Z9gze_G+x{~Zda{y&q$ef{65aO(fA9PaD?ZiQ3- z_ar>j|7R6W{oku_>i=^IZ^=#<--8AB=kF69>OY)6em}UUU;3|BnZJPepHJe4{_BA# zKK&E>Z(jiS0y*1H4@R8!OaJx7B>&KUza+ew{XPU4WczmF-L_WO7a_wDy93a9;kHHZ85`-H-2zh6suXun@qIPLdIh0}h&5pn9D{_82> zq5X#X|0d$s8VZd4*SEk6J`erZ(^3Ah|9U3kvHqV`IQ9RW!m0n~6;A!Xki&ibzo>BP z|D_!6>;Kydr~bc_@KFEXRXFwkJ%v;MFGrmI=N3^J{LlA=hx!lw&kw*0vbaG1LjUta za4(S4|NJQ8v_JZvSCafg`+HS*GyD57c%dOc?0)~X@5UgIPLEj z3a9=3GKc&2_nN|Kf4|D%zWx1L;k3WsBs{dg*A-6tdqd&0zc(XJ{nP*aR(NQCq5gk| z__c-tWB>COc){nP|M`8Cf9!w$5b;?5Z!4Vo|D(dG|34|5`u}qd_x1l5g;W3Unfb~x1PdjfA5Pp^-uq^zVK%H-vIGz4F$&jXG8FU z&qM!%dA@%6$Np#Ih*LitKiov&)c>Xmr~WrnIQ74I4)^uHg~F--Epxc9f6Qa{&!6W< z{coM{Q2*N~ociBZ;ne^86K=oHbDr$S)Sy=RFKet!p#Qj8ehrglgu-uee7l5)^V7En zFUaCTi?ggGd+i$x> zoYxQi=dMZqq5s@Xc(dzgckn_(fY^Ux9++=G@%6K3#A#o=e)dv$K@x?2M=6}w&uE47 z`q?{&``6Dt3g`8Mc_#k(QT|>h-+l_`^|OD%!|Ue&h4cD3P~pp5{s%>z`ltUqSa@i^ zq5jQ%?3%CN@cjvgBK?BTL;rbLlz*)MF%f6^QU8Z4ocb>)oceE5IQ2g^hx_^;r*P_j zd=6hOB})BIP&oBJG2x;9k5D-Ek9h>4{n_}`|D=f1|G@vj{~RSe)PLxIjs`Et;sX5( z`;U{sy+BU?GbQ4*Kl-1kN&cbzO%vYC|4aujGz5tK&oST)oW=GxBjU0B%~Uw;Z$12TuDtE{FT}cf7)BeAN@}?$v?EeKH<&muOGb7$RYMW1KG}Hh2 z;7#;@L6m>&e?AoPSpOF)ocg~=;nY9+DZc$Ned_-sIo#L(#R{kXFUjG){x4NH_5aa? zhx)%v;ne@-3a9?BNO;)4`W-P!dtSNWFMA3 zQOwogHCbGU`;XUv7f9{*A$A#(WmDz;<7pEA+9ZDHKd+18L;g9E<2XrUeM$Cu@ZkK0 zneQ)67LN0~L3m3JpX&H06h7VYPbz$d<2NSU$~Q|m@!vEp;D>;0b=(lC4ZFjz!!}k-uhT}iZ;fTM9<3CaONXLH)UZ8cs=4}1Ek8sq_ zKNH@pe*U>hzqOt~TtELp;kFDuPL0@&#w}0ukRiyU$lRIo$&Db{*A&Z-|Gse zd~Yb6^1YdGDem%+&>BBYf(7m8=`Q^H&o%2Z&<>ue5{{WOL!>X>I$cP!xc{X)=)U*TQlKd z{k)dpb@wNIy|8{>Tj8vq*HJj@=XDj%`guKtvwnV`!dXABuW;7S8z`Lh^M(q4!PRdY zDV+85#tLWsyothDKX0mV*3X+Mob~hO3TOSiMGp7t=Ph%%Uq5e^!~ObsYlX9Z-Uhtj z+gCWgvaRs2e{b(^-zOOYHYe z*OJ7M{`MyQl%wAOJ~D?dmmJY91>YfuPZrL0&yEVWeksd#QaJX@@K3fgctI8yAV1!3 zGDY^|{C5Gbks?m`{nTBP_;&n_-%s5Q+zapz&kf0Hr%9^o$o}0E9)3S{58=(epSown zd4FJz?1%h&A^loI0E}Px&qt2}FN7TB&-(+T!M(uoJKi7IJK`K4=KXIX--N!o%_5g2FjI+@|nlu6)KuocibefpNk^`wR6y9`S1p1;+O$ zCx91x9^Rjv808=9|A>gk`ae?P)c+)fQ~yUPoccdHhx_`UtZ?cde#p0P%1`}IRXFuO zE#aa5rz@QLKStry|BQ&!|IC&B@IN!q<{LhIIr~c@FPEt7S?_`D3{!URi?GJkJVHwh>3^VC_@Bk{Kh%Hdf0lp;`VIZhQgAQC{^yK{)BfmxK9J-e+TWSNo7vx4;Dv?& zvH$rXcmpT?=j@2b_E%Fl?e83g)Bes?IPLGe9PZoS`3k4~U68|l`}>f>X@3_cJhZ=y z6i)m5u)=A7ABi~iPychV@X-E3{a=FkwT1#?|8psL!RMj>`Dm1X?0+tcc&z`+6;AzM zp>XQ|V+yDKugu}T{y(m8>i?=7?(6?*g;W36Bs|prwF;;HuTwbne|^I3``2+@4HLE9 zApiY<{w3sxUco=1aHI?V$%whGc@BsCPrCRw=Wz7TUy%JRlK-a^{&UA~QTRKK-wIxk#f2e~>YCDV#sdG2 za>#0=$TNI?;Pxm!&wn$CkMj96xEIK`b^H#6@96kv6u!ITcPf0e<9Fq7lrQyvcMiw+ z#5jqM^S=kY);Iytf6Hjug9ZGv;02#s`{($?y-E7RvXS2S#OD$oj!)btyxI5!?9AuT z-&Bzu3*`Ge(y#gQh5CB{ybyAn|8Xw<7n1nl`9GM%56}OL;9eM-4a+(tZH&)sF8jX} zaopeP6Mm5_@|Qi7aOi?Gtr~Y44IQ9Rl9PaD?*9xcpf0M&~{lBho>i>;|hx&h0;ne?c6;A#C zF5>h*|8f53E#aa5L;v%8@B+1iYdP%S{sG(zji{op5jpCEj{{E(L+TY(5PW$^u4)^Wvp9-h_{VRw2_V;gv z)BgUG@X-END4h0(O4=`9zCU%D?1X=Ai8%F7|1(5*Xn&#pha!HB+Cg67^N+*83qBA1 z&uUTrvHw{;;?ytoKV0F|{~8LX{?X3}%g4Tdp88)ahx__pTjA9IIyv0e|GEmN{?|)* zsQ>pVocdp1;ne>I3Ag>jb=S4_v7vB3;Q8*&gkeGZXe01i;|R9T))->Tbz|^C$WeX| zit)kzHc8UA{b#m6H;p*`tm;chu6o>3g`8)i^7+=^4T@w)Ia^>Zo)(R3-yn2f@b>P1H6g;_l)w7 z^}kodSw8fSqZCg4W1J$de5wDv6;A!{lf!-e@2ha?f4>~=>wkZRQ~w7fJk4KQxEGBI5%`3CH-rVTQNXlc4{(S@ys`j#2n6jvt%Wh6`4@8XNBOop-j>5B3-1vQyBMqRrH*5q$`ADaA8~xV!f$YVg2F%R_(X+&&G91? z{sYI4RQMkpp9EfLoB`?=JU_PPdiMFTqrhto4*mH3|D&V$;QsStlTH4u^#suVLitaY zJfPnx!kaxmhHx1-{O$ZvK0kJB6d&Vve)%4!aLyk+Ug4Dg1cg)n6BBOb>k<88e)>rX59K>q z;gs(bg;Tz{3a5OhCfv%$`RT=khw{x+IOS_sIOW4wYiPeVeacr#xRsCd)8{8Vl&@3a zly8B;DPLLPl<%~JTlqLYePO~w`MMNN`MMQO`Fa#i`6>yw@^OB8Z^A?QPFFbPt16uG z^(mb4^(WlQ$NA|42@mC4q;Sf&SmBg!iNY!0(u7<2I6wW2gopBdK;e|{OodavvlLGG zKA7-ue)`#lTi=Z}{I~!7SWV%apMH+QIY0eeg>!!Tc?#$J^z#+Y`RNxZob%H^q;Sqp zzfj>Xi2s#8a~}uo7zUOP=cj*IiO>1zA5l2xr(dja&QHHY;hdj-slquw{i8X2nY17I z{McnV+@GI*c@9VXO@_i&vg`_lbAI~AzzZzB^!c$Xg*U68KW@@*ttSxI&sQm&*U!}o z=k;@q!g>8%n{a!5_qh7`x`c<<_w@>=d^aeZ@_j<#l<$)XxAL)mzA@pUd^aha@-0(1 z<-1Mcl<)S0TlrW&e>&lze0M0E@_k0(lC{Dc`*cr+lAFxRsCf^L+^q<-1?ul<)Hjr+g16obr7k z;Z{D@&krU%l<$iQr+i;hIOTgt;gs*;gopL>BZk-AUs6ARS>ddoA5}Q(=f@Pz`uTB% zvwr@H!dX9mRpG3kpHMjK=dUUJ1y?_RUE!>spHw*O=Wi&S_488-XZ`$5g|mMCmcm&- zKb^z<`uUk0?$^)H=5W7$eoo=6pPvUWH0+Dx<6Fu21;*!J5FXag;rPXi;9h)=KXLxT zOWgAyn(ZLeDwPfkH<%Upzwku zit(8rDxBk^KTc_5YiQ$NGO=;ne>d3a9?x zR5szW#r&aO(dL2@m!Ew!*3ZKPsI1|5L;{e!8n0KmD`tQ2(L- z`3rcU-*Ei&9q_CbD-+`J$-kQXTOEZj2*)S?rf}Bpe^)r`_kScj96$Z1@MiM;D~TV< z_iu$$zW*qk@~wz?Jbs$VICoh7w*AEM(-t!h-inhjA?}|IQ8?RALlsW>hbf%$uanA*vZv%x>z6}*l`8HBG<=Z&nRzCL6Hc5CW-=+$ue3*yOto$}tIOW?S;Z{EO z&$di>DBo5Jr+iy0oaMKT!YSXj3AggGfA;=_hw`;5obruOIOW?;;gk>aFv9Y;^09w5 zGU1_oJ1Cs;?Wl0dx0Avt-_8jS`)9itPVZ;y4}bi0SB0~GwwuD)Kf`@uX)4tN#~;~0 z+e6{(pY5q|_RscGIQwU#6wdzHXobJv`e%D9oc*(X6wdzHz6xjmY(Iswf40BE**`l# z;q0Fsn8TNO*pB>59OPwaLPAJ z;goN-!YSXJgj@MoKVzOto_;2aeGZdL>o|o|zT*{6`A$$cAzmpYC z`A$(d<(sQ;%6DqQt$eJXiwO_qo2PKfhj~PK%PrzxEE^FoEQe(q8@>*sETvwr40ES3Pz{{?sc6(v6F=U#=gem-5{ zte>k2XZ_r#aMsWL3TOR1ki-4@c~K7c>*vKe+^?UPD4g~4Qt$#x7q;Az9VBBHSTKHi zhVZa{4xeBA0C*7J&c8cK;=})(3GM~X51j7!SrO;>$$a5>fB6TK{KN5+vy=S8@spZK zzqKv_$4BTN&k-J8zv1}AxeDj?eV)R3eV?E3aQx%~;aQXMoew4PL-{ULIOV%Y;gs*g z5oi1CWVya>5y?IxJk-DSpBz8AIEo*SpIoAF`p-)hPWeBoaLRvK!mWHgB0uJzU7qmJ zzh9wn%J(saQ@$$|PWe8ba4R3%XICXWl<#VVQ@(2yPWi4?IOV%8;Z{Dj&#q5+DBleV zr+lAKIOY4K!YSX43AggGeRfmAL;02|oboMKIOV%p;gs)F3AggGeRfO2L-}r1IOV%d z;gs)og;TyyC)~=%_Sqc?59Rxe!YSXK3a5N`DV*}%op383+h_MAJe2RV3a5PcDxC6t zPT`dAzJ!PEv-=GfN8RXAdcy z?X!m!{(@_tJ)&^7&%Ug1w$C0_INN8BDV*)I#}&@@*;f?K_Ssi+xZgf|B8U6!v#;fF zzkT*~g|mJ3BzS?=mCir=hVW+f^HV1M)_MYQ{rpXZ^ZNOg!g>8Xt#DpH&m`Pl-#xB= zem3FZ_5GZ}Dc|!7r+hCcobtVxa4R3{=a&*5%J*%BQ@-ygobr8F;gs)t3AggGettRO zp?u$0IOY3+!YSVm6;AnnlyEB_>*rSz9?JKs!YSX66;AnnqHxOh(}Y|3SU>+P;h}s# zS2*SSg~BP{FBMMtUQ4)@kM;Af5+2I;YlTz3-zc2&y{>S|_eR34e5{|}On4~YZxv4Y zey4EC_m;vb-|rJ1*3W-1yzc&_uV*>y=eHHk`uUFvXZ`#qg|mMCv%**v2Job~hH6#jy%pZ~6K*3bV?IP2$sDxCH6zZA~;`QHj>{rn$=vwmKY!~Oa>lW~Oj z{*zxnx8!iYejcK5*3U!13%-2~$&Qr!Bi*te<0r%9e^#s250Lp|!TYOLGx2?H=cn-f zRjY%06+GLqy$`&BdD{3NJ{a!zA4e z70&rj8!4RgpEl0n{`{v+6wdiio96K4qEXI&+f3n{|Fn6+!}(8JD4g@3wp92sS3a0$ z>6btC&-rg#3lHrt)c-b!Uu!5Zp8vKjc){o4{I~Z<`N#Tijd-m85eldNw^KOvzrDh# z|B*S|*Z&R*r~Y@$;lBQNQaJU$bHYRY@1k((AM@CJ{lfo1e(Ha>gj@f2p6rMJ*|1+tZ{Ua^L^$6><8%kI8=IKT7_G_80oU(clGHT%doW|Jxhf3*_{F z`$U}fPye@Xl7DFb`w4Gm|NDa%8Un=r?*Q-yPW<125s&R3hy7ZM)Yf1AQ-|6>(S`yUr^>Yx5^yztQeLj6xb z{8~eSvHzP0UhsM7|Bi_AkNw|~5vP9nevC;9r~YvtC(k~p|DzR7{ZG!}zW%2uocf=d z!+rfvQ#kdH`%Izyq5h9iIQ2h6;ne@kgj@gj3E2<-GfVzA^MA7uzlr~wW74nH4Ipm+ z9UF1_zdL0=@;^@ghxQlxzvICR_2i|j!uJE60PY2H`o9w+PWz|-J1NOOwEvTZH?#j! zzzYolV*fW6yn#jfu>E&x#AEv}D!d?x!vD=vIPJe(;k5sb9PZnHN#V4A+z0i~kMh(1 zbt;_pzaZhE{g)L^`#(+L%Ut;^j5zgA|JNlvw7*dQ=qEMPe-C(}q2O5ml_>vM|Gg1s z`O*KKu5jwVs&MMRPvO*me-8KcKcH~xe^Cx!E+tC+FIG79za-(I{?Shi?aOlN{|tpw z{~t)W^?wh@e)yj=<$p8(cNXF|@qZsQ>DTH85c|KgBToPKHQA5+Yw|y|ztI1k174^n zFJ%$>zjML8Ku-UMcCH_2|MY+7C;5l=e}V93_WvR9LL-OR{x1Y?V39ube-}kOw*L<+ zyx^|yk0_k>f3d=8|Ci)&-~KOEIPL$VIo!AZ%M?!gzdYfg{a>MQ+CTace)+P0vdopw zl@X`@>Hj`1JhZ=1|5qV?t)alU{dYBZ!RKN7@0uw8SpU~XJl6kp3a9?BS2*>5gTkqQ zw1dL(3%}3vNrhAYH|B6(|2HX|`d^mtQ2)ynPW|7kaO(e43Ag_5IoS{YbBp|M=KpR* z{3ibIHj{p>ZUC|WyFKA{{?)6pf0)GjwEXu2=U@H8@jD_8|GCSMEc?6c$Na0$fY%x+ z!2kL0|3W)6_MiUyzwR>Wx7HJY{LtTI$piA;Exg(Mt9umA`vadGY zOA4p_4=J4TKb&wYUytY)^RFIBczA#4%L=D_k1CwweBV?!<@;8`t$e({`*gxX`JPcY z<$G4)ln;KiS@}Jma4R40@4k@mP`(!xPWfI^IOY4c!dZUbNw}4d_jkXW@KC<*DV*}X ztZ>TreT7rLA0*t$$NRfKOn4~Yj}%V%UQsyZLp{|@zdufRcz^dNhFjl_HT<{#{Mt_y z&ilJRQ#kMM{#@a_zl(ZQs>ym_{=C2YONI0P?rRF?{oP+FocDKst?(Db|H@zX8-?@! z?&}KY{oOYd&ilJ>DxCLsf2(lb-~FA!d4Kn<9KLL5`lEdRP&noLr@|@UzZ6dS{+)0uAM5A;Bs}y#D-=%oviIemALVONIOQ9Xa4R3{ z=b;G?dvr+k|x+{(xLd9#Fv@@=kg z%D08WDc_a~r+ix_JglF$HoWfslKOcYg|mL%R^hCl->-1i&#ek){X9b9te>}2IP2%_ z70&v3q{3ft_45u2XZ^gR!dXA>q;S^HJ1d;^^DYW!{k*HfSwHWV!~Obs_Z;rm&wJ!> zzkc3R;jEwc0x$UXWyfFO_c8u5O8z$+e;IA!*XjwN{f6;L&Og{2+^gWh{rLy`M4aQ# z@O#LAU-|Dvm$bt1ll{O8_3RDD_z348><{jRc>MW*h;#grv#{(J~{1IyWkhYf1IfBWv+aVh&c7n@#iCjhxQlhe-h%?8VZcZpN|4B_&gkc zK03-j*8k*)$NHb5aO!`m!m0mh3a9?3=Wt*D$0(fopOM3T{m)c5^*<}&q5fwpocf=m zaO(fqgj@fIb_4v+aq_>J|2rP>3$?m}WB+%8Nk8Pi|2r|_^na+=kpD^YKeWHl|D6n8 zki`Z1H~PO*z`a1u`)_k2PWz|-J2lBawEv>;X7)c1ywDIJ_J8f*4V?JDj)=$hUs5>j zf4;(L|D6h_{V&MjzWtXKPWwMChx_)wP~o)yu7rp7->q=ke~-dx|CNYS|MY*o!bAHD z^?y3z*BT0p{a+Ql;PcS`^+ox|{;xmcvHk}XPW>-ZIQ73+;ne?<9PaCXsluuMGjh1E z{|_jf`ad(_q5jWOIQ9QQg;W1$C*1l!vdx4z(@4|@F{^|cNO7aiw|HHzY+5bnt3k?Bc z|93HX11J9Pl8DFlf2qQ0{~uL2?f)``)BZ2d;lBM}p>W#&$8xxD|5qxU_W$vOhxUJ! z!fF3kE1dR!O~k2x`oC+1hxQlh|2o94H53^8zw5yZJ`erh4N?BF|NBJ5WBq?p;ne?) z3a9>WQaJU$EQkC0U#@WK|K=R->;F>o zGyiu7;y3YspE2pz>IM+|zdIvN|A%%d^1n;|hxQlxzq`Q;_2e`9H~PPOz`a0D|M%I5 z)BfrI?oIL!?f-Mao7w+;;Dv?&vH!atynz${_xXs&_WyvwY5!kPIPL#Ih134On8SVh z|B}LK{}1JG-~Jy~IPL$DgopP3WrfrJA5}Q*|FMWu|MY*43lHrt)c;oyzt&J-?Ek(B zUhsM7|DK5QkNw}*A|C7i>k6m-pHw*Y{|$vx|4-#`U;p1!IQ9Rn9PaD?X@yh&&m=t5 z|Fa6G{-0Ag_5Xart^Y&64*ur_`QOa{y@>ct{NGC^{aW1sV*mH;h)*w8`^)WJrI}0n z`b*u}^y&T8Lnm~U`zzH6OZrPaedS8en5=v5#Bx_@(snnE;bQSw0`pn)^sUz#_uk^OH<9F6R(A8D$>6}vOC}maI z7&|b3eyJM$oLs5&&M5YDma-+;(yY{7?(Z*E=ajlC?dATZ=GZPdLSkpV)zac(wL9zW zDlVPY)3&&{u#^q-m1g(!wHLce9ka^arK~v6Uy;;0D%~?7%#?D^l;Vm>HKO@675IIi;7(XrA&_Ms`Qq!%0R!}kP_)E z_4FG-7njPN3;IhP=0~~bSo0Hyx-BWxYH3o>{Bn<+8j85m*YEwDQ4xWp+@@7KN=6_n zcXwq`>DY4rf?3sKPv88C6ae>(8<4{8ZtTaY)XTe32$Lkca*mZGwxxTGFoVQJ~8Oje_@ z+8e8Vu-X@^{jk~}s{=Bzk?ztc`){=Ux3~SbkNvl={kNa}x4->&Kqh5`c;??|`)_ai zZy)<_U;A%A`)_~y?*J)pqnGZvM&y~j#rBfyn>x^Keji<0+Gl^Zb@eVN+Mnf~`dQfm zDxcx(Xr^o(Z_5UoC)iDD@VM}&JCHOJMT&t+H0~K+u9oa2(^)Mp662Uz8K^?M;u4XM zS8ktNP*C`U@EXa^kZbUa(mvy}sxu(jbm_<$m*E_*NY_yw=xhA$sPqi<&oDc!&5AY2#oaxZ(#s|;of0n0_EI;m1}X1S z--0P}ja9|^CiQfbmdKIVH&u+d*fnkb{Jv6uHf5lzzYNXDY0AYWN4uj$LyILFIFCNL z^owG$#=#hmgk<2Z@Zb6^2ia z;^7|IF}tsXbmOyiyN!kQWpZ_P_ROj@wB0>-R%uE9Koy4Qw#Idpd&ey(ilANL&RGkp zl0l`bqp^GTob*Usj&0&*+xz<(c2iH?*tU+xmc@URidCrupf&Ni)>P{fw{=$r;1hZm z2o{~kz#cAs&De-L+8R_=thQ%jx_zi=oF!JpIHoNsRcFD$^2hkHTx(Lz$a#((sP^@b zGg-PHeHqWn)?-Z29GSJ_Q0q0@mr7k{qgG43rJ^`mIVEx8QjJvR73ayBiVw!M>tt!S zl|-pm%&@=IwxraT(ZJmiMvHD+t}p8zXU}na;FV;vl+Ew$%S^pdKQrSyCYq|mnD7i! z-StaN+jpE)F7oeqxgN{i#{190)mg19wik>!jlOJPk<;{)V&6hglapK)VxxVTwZ`$q z{vxgvnC*PAqSt>|Vt5mx>taF{z11sr|@@JJZcB%7Yrq*$VC{D$c&BThhKex}?lqhO?scH)m4VG$8 zvCACQ$Efflym$5)(K*6rPFb)OHFiKx0Uw(;vz8(```FjQ#Njg_1C8lh)0sE zps&4J>FP3i$f~98Vy|5vZ~uv^v2TKFH}pmqx2tpL8RQh*Ca$fqOMUH%CZ(Cjt14vX z;!1XPl|66KE<*BmNv?JICEng>s9vg)Ok=N7^4c+`cA@5?gUnCJ(q`&SX}fh5rM46w zHQp*r3`(4j@mdplO4ZJ#lPi6F(|YRh(7-&p%u<$$z462PN2`){D}Nsve6D$A&)HPq zec7VQl2R8+)}Fs99jUa7og#}Lcl^?xVt2V+3>=QUQmxC;m(8k{J3CD?9PXejEq}3I zX{4I}Qh7@STv}4@XL8kJ21-@i5EtJfO^-6{YUaQ^8s@+}cOjd-ZreB`+jj`Ar!j2d z!wvVAq)Q@+l_b^ao>!iXW;CyB@y6wfy)?~!>3sm#YbLo0%JT+nf5WszamsR1V%Nsr z=ndRX`%}u_W+J6gEVF6c#n!OsYL3WOT2ilzWE=IgoU?QX?6y^yWInGVYBts4f?`Ky z@z`>)FI(JjgHlgGn{)zwrnTnk;A6`jqGvSU+zxt2(Tj1Oj3xS$2DtPzN~oQT>~fhq zmoFEw=);x#3?q;F+H6i!S}u%)UAn8m7Ox;kEh!ar(m(-jaQ2NLH)5^dUnt`PWS1 zhw`tL@Rn>}Nq>=)AIfKKS=wY_h~>vIG55V=0V3G?;=0I}5qZe;=3sX5h7&jckq$^WPl%3O*0>-@?QRxjzMD z%Y?UNhsnOFvOu?6$>N8&e76?ZtbDggcuRJi?2}iZne?}n|9*(m$92{${nm(^`t;q7 z*_p^A>(#&*>3H-`lrcW3?kze(df(ILohEMGuyK{1{-X2-jSsV)Y~AcfUwfX=clBxg0ZiGCzQ$raDP>;#!3#^Q$uOvh4bREbx@6C$pZIEs4~V z4Gmfnt&&FU>5%?KvLO8tviJcvQ*kqh>2D`6j31`IeZsB$*T{aPKT;My#Od!Kuvz*$ zCfuffo9svWJIUgQIQ^XkHcNk(gtwUU|AOp?{&tnc4`?YoAv>Ov1vSoYK9p_fZ;q7T z%d(AD#O{W-nl)CuS^b)9BmF(hzE)Y=K>lm_3BIQ+;lo(=WhAdVzL&z^bbM68t$e?e z{g7|8ELqlS)>tur%D1=K*9v3;IpsrhyP16ZDxC7+8VciE`DCY&Z-0|(t65{k{3)Nb z*rWKid???63TOEpq;Sf2aKf#8?{o4UB0OtSeupOUL;27u3eP{(?-+$szQYr4<-=qM z=(iwCGx^$t=H<`w8>?`Z-#CR+zVQhkVqW&Jm&gbEo*;`KaQ!To>!;1}i9VEVTz}Jr zog@ov`-p@OF)yiDA{_n!e%cSPAK$-C64=Z?9F=gJ{v|H`qy5Cqv0?g?llYy@h{Gw^*j&Z`L8KM1Sp@A0cxa(ALf6Gpl12c1#d)8@;^1<_WZYW`4* zhv`=m-jd-#P`u0@^7qQ(hgkm81vZl(ozRfWNQ$I=ze~T*Puv_E%HN;F59J?7xRoCd zQ$qelviKpEf3d(&zA*hI3Age;>(XE9CvJ`n$Mb}T*Qb4%7xOJ#*+4SvY`AwEIcm%eS{t1_(u{xG&^3{0>>{-_^_aSE=l-m z#(%JUE(Q03Og1#>Q$HUCt2GY5WYb>B`-8Hed@gGsvxV~Y{nO>LH$4C0LHS&f@YRj} zFLdYkF{E0<$_7b4IKL}pcT2%RY|E%5^5^+|-0Tavum7tOZu4K}^1m8UYgpM3=YNgt zZkGSG;4UuyK|VkK>k@A53+<9&vRp5VA5i{xi);@&`ECHLHI6{}LqFe;1^W3!1DP$B z5AFApvNzPv8i9UpO!#o4pYOZ;Z$hdytZb0<1N|(M-7N*nux`oL4D_?y>|o{%!@YH4cj9M?b%r{I`QQqMP&c<^OcT zhnw-2oh5(7y906Cu(E-ZxepL7f7xdU>b%9A-#EwbjQD#RDV{1*&^par6uG?}{4lpa zyXPKTE%vrm<(6lM8#XKn&%qujLqs*^qJ+pfyzD3h|##bp+>W;TTp)X^9w(l+&(5QB_w&QN8#`U*jUCLrv4`0=_L#|1MXOTY9uTF= z96_AptYWpZ)Gt#bvBTjRVgTOF1mid63LN^lA+YonLu^0F1@zceeBy(tt-8f`^ z%aN00nzA{}ZgTe=GY@x~Nd-5h&CH$dxpqfi)&LL`xkz;6kd2oK2XcG9XTl;(Yn2#1 zCMis;>XiAgGP|fxCIR7AcCoAL2r+M%Z@5=xp9M$B0XSH8V>b0j-aTOn3ARPmChG5= z*R>RLyQX4BF(xkdFQ{~wA8pmn0nC~lC->`t_#0}sNperJBPU@|op<=eu1eAWJ+mLv z`n&_iRw`ZIPn-_T+)Nh4WngCp!Nq(Bs}(C|{^XAv&0q7%m(O|g^y}_C`S*9A`+thK zV!A*X4l~U<9G%t7+N{v*T-gom_sNkfyMeuf90Ru~SxSmES=)eSD{jzYxN;3ya7@Ts zGLdbiH?W!h>Ph@C{ox7!pWVP_`fDcf!}Qlm`2Xw%Hq%Gd@6{?&7Ge79CcGt^EE)@L zV9PNK(BCpCUpYp$vJATN1GyQl5U@TVjlyi&__n*6Wg93Q-4R6F(C`}8CNO<82f;V8 zyX$LmHWxOo6T3nFdHIR>n<)Hg$I(3U1LMCUI}v{~z&5OG0Ed0QEk9vJk}z3j+5a{JRo=3*l&%Y$^L&YmI|Me?hZqEAWEP?XVx4y<3Afu%tdTn;;Vm(5#1T zY?E-?ZKM5cD||#&leG=#w)xlB`(<~?Te2NQ_Wj)XwF;NbdVu}m9f(KB&LOgQge-Y{ zmgCzcyd`^13yY`T9`E$2@YO-Ym>=XPc z$M=%maruG2?)WH$|JCu);Dws3ZQ%8>t{4a8-&>YAeaOFyXJ~tP(KGI++P2eIr$FC;jMCgEE6t&*};a($_11U_-7qI zMD~Z>l9udBvEN69L;gbtjs9Tg+|6Z%F#^?S~^~p%rTr5Fh3L zym08RAd5&WYa7U4bi7S==kaelK33u1b$ndHt$pGhWi7(S%i;&x?@t_`09a@oLHql) zOMhYmnJw^Fr2PLV9PNuE%-&YB#){|ncNhOiLt4!mEAoFjKFN?)v&IVPqx}Bu_)&FY zHz*(85sLCXI)~%>+fg{qU$%3vuY+CuDLL_ReNA@U-u9{0kFxy}J_uu5z3+BD5}M9^ z{W7gt+T>{IN(Z7OQ;Qor+!W?%?d@GMza9-^G)&9w_6S6_j|x@LpO|B2qaqzMHx{#r zOS3U8+N3-m-BUR#++AEM9hP=!4!dsc47;NwN41war0a(#aO}y-L6eJ1WzsYrzu?YN zbvmY2W2UjR=cTKI=bU5`w2^XbvA zP3r8aR7_#H&Nm>)ICB@Ez zJVhuEhIX5D&3tv~*T}P(^0-W~F{|3!XXn+MeiXBjxzF~2us(Dg)4h;DWTbA)Q>*@t z26sY29391*})B_`(NYcw^qBC%$#! zPFwW+;g*i=ww1kqmSr_y3Fu&*YPMum{IB{kVxWFF`pSE5R4vItoZXG<1V}H z*Sr31$2YdQdcE~F{}tMgxD5$aA;7Jn-)nx<%-XD=wn4Yna0~wz-I{+{!mUxKP$2ZT zOxzA!ANFhGM#nj>jT@C6H*U?#fa!n0ac$h_a>uoCqh*f6t@(lJ-zPhft#xaSBgnt$ zc%ECs`Tx*yb2+qy@nPS;mtAm6+PKj$$sAl8H`+}2|I2YBR$FMUjL2%Twt?eDyUR~B z8{RKV$Xl}QMRs{G#GGHNaM`Q}xK)fBO^}`9E+lR~pW*m+3Af`$bA`jLLr&SOhuE!; zG`tpYzuBXW8=dab*T#)lKH9hu%V*~#e>-k;wo8APx@2}EmVehIe%Nf&#*MC*^kH9+ z!>_hr-)NTH<@g>se6sK_3YR~1+~`TiwQ-|gJ3dND|1XY@1~1fPZ3E?7TZ{wpYvV>c zIj)Tx9qjnNl16;~%jNv|ZhACvV?I~n;@bhxiXZAn8#lVt$)}AQ-6&lC z)N!M`9nTv#dPEq;bs#^+jijjSA+|4V+z57q>wAnWe)*t1FgR+!67U*XY_1KC8sJW` zG++PkjT!_E+O`gPW0v&Zi(U5laJijo#zJtVjKFHeiig%XbC(k)&i&KW!r{ApX@iTl zLR;koS$I96ja!i4aexn7SsQn4iL|n=JH&tw94d={4dNO`9frCA*C>t&c}oVrSX@ch zo#|^`cc%YtyY5V1YvVHgwQ}VDpFG^l^x@~)WMPQQC$H;%q#Qg`7R1%M?o40nx>NqR z>kc33UR7dD?%j^72KI_X%?VbqUN77A{=;rvE1P@Q8v8skdD~mptX{s!=-bvi^FMpe zx#gr?zW2c1RrGhQb02(ubMQ&@!6(tBp=kyr%s5lf;0$lHqeB)t)9^`nj5GQCJze3F zmVF-kec2XmU)rv=*Czki|A5bTE&cl9sqgHw>uYDWZgA;$#-DfT=l?i<@OnmBNkHW~ zcs&nZ&;Pft=k>Eix4v=H>Nh@d$%G-3cD-zk31{xwao06FZt%zjckVOy6J4`@I|m*2 zr;I%h*3X02^WgQos;+0$7b|2U4cfwJsB8CuFaZP|DclG00|!hnfdU-&f&4%|M|Of^ zz|;@qC&^B544C?X170QB3Et{M*(P5k+u-Pw_<{U<*$KX#4`mx16J0Q1j?N+muKZje z-|{T0-5`4reTQ)F0)5m~m7~kg4^mk6U9k9GZ z_9Opvz|`_DIF3%4AKp{@Or~rUWt>3X!YH#A>~jwF=Nl@RmNB-{FR$^%O|%8&u8y`Y znIeGs-?BqyPgLbqYE`^;$Ng$sg7-ghjfvIa0E^+Kkc}=_vRhL^zW5@Ewbd@dqe)5 zl8|@r4g4V&A6-2^F#WH~PNZ+Dl0xGMaFoxFWEbR5s}g&DzjQpUN-Tfd@w6&&a|#{L zt4fwj{%eYG$iGzTN${+k^il@out#Fv)_8u_Hj6{T;l?*|;W_ul;UEq}ssj4{h*Jz`UtN))1hkkMIEvq$ntpEK5HPgSj_g3)Zhx)ho-WojCzrFX?;4DAt|6oDk z`PuTN{tr<&^`G8*v+--Ld=ATr@9Tez!m0nmbNF&8QR=^-aO%G;;i3M=DxCTsr*P_j ze8j2$cjWw`{|UmI>3<^P*Km*x@vA)0WN&u;9|`W_;$N(P)TKU;^?#JYssE!DPW_9o z%uS#ApOV9U{iDkf%jaMJ({lK7Pyf>uPW>N~@KFC~Zie}X*FWx`Z0QHHKLI z&lcWH|8o$(hJ$Q~^?$7FZl?d^z+GJYi}ine#AE%Rpm6H{M1@oT=<@mbGyR(E9474K z9PaD?6ovEpM>{YteO~{kDxCT+COp*tJcaZ6Z&x_=-x2Y)fsS&;eGlb5b<0d-liHN> zl2X+?;X5XqHqhTY&>!u#Q!~v@e2)WD8H*4DKV)0p{a*h7QTJRs4ZvVY$CL#t-`+d_C>p>uCpHPrGVvZ=z4PTxw~wRZ(Y|KCk>|AV*sU zT__?|Wbs3s z{&oVJrN4c`ZTeTsexyHA7C*%4?;x;Q`lipD)#^#0d{I8P$b$6k@M#?jwRJYj$M$(^ z^#i~$=EL%_eO{m2=hW|)7-*BD&+7+?A3UdyKCd6}96H)8>~rt#L)iw0{OEH-e)M_$ zz&<vLN^k4X%qKdK(nZp7td`@FUKQE~a$KCjPh`p-xVq>nzY zAL8_FpSM;&Bu*cF-cbKGeT*3){r&4P?M9rw>GKBm5$f0Wd297lXg_br9;A;xuOH&{ zZJ)PRKO~ml_IZ77<^P++K>FzO`XNr=_IYddL*n$u2+1oSyk`OFA6}1XH{$dQvOA0) zmQP#4t^6Ch^wH<_L!ACNfz8q%pKzQ02$#O;^LiP?>6<=p6aAV#Z@_K(d${z`=k-IJ zzU}kY>W6^){=xQneQwh~#HEiuuOH&{Ckt#=KDN(Wt0zJG#J6UlU-WtX5T|eZytVov zvHa78g!xxVdf+vly-4~f&aeO{m2^lL7C^m+Xd zr*HebwfZ4(`g4VZFRecJ#s*98e?d}{HinQ?N66CAQ)0KAMULG6og0I>!`o}OI|ZT2|LPt;~Ky4Nl9~j zr1kV9c3fvn=E}&1sgwS2R?c=%a+PrG9M&M}9c^2%D%9zA0BJ?=PY z|C7+(xJ4E*ufcx4Ok)}RpqA}NtS|Q9hu9BqAh4Mq-Z0^VAJoFVSG3R358MicTf@o* zDc_(UX!`k&lcKD{eqh?qA8KARi+&)|H~svYA3uD}G5UKg1)qnnIc^1SVA)!cG0@Ks?YAXE z`lx@AKKl87i0wb^=ZE#|t`a#;|25J78L}Vg+kSqlY}tVHm&>`GFF%LLvb)*cYSvhh ze@M2$Z9l(Nwrn83NPdE&pPyx|W{nlvS+Kv4$TswYe!d?heqeuTKR>iT^z;1y{rUPq zKi?0re$dYk%O})N+RwN0Un}t-zqz;VWf04s_VYve(a-loEI<1Beu(8iNMJMh<9_~o zYG<`etHHdy6&sC@&zW7eLDkqPAAObAOrV`1ud|(BoR=Yv{QxUo&2xr)TwFeiji}~5 z!}VYC3SxvRRvTr{p0(s#w{9|X!EJ>foqONE-zi>w;Ro-&t1#utXHNd-cfY#r{>P%5 zhezn;Z?M@g*lZa54yU+oxTVeIdT1%sWNkxSt!*K@L$}fV=_j~tG#M}~glfYy8{|I& z+&+efIlPNzLzsS8Euq;Ea+^MeHITk(HpqX5IDOM>$ZEurR+xUPki7KK?MC_|Wbs3s z{=2z7fbtoT1?i9U6PN8ceKZ?F`9k^AW`ixC^CceAUlq3pApeyveKZ^V5X+BdLo@kz zPq>x;df5;8)7t}~{iL@C!t%+xJplQayY$m$Lzq6A4b9|7vmxYG{@YyotK#+ma3PZJ&m7>7nJ)wI&$(?=_kZC(FF)L|))()+@8)k#`OWUn?67=p;g}zy zqx=D*)xnnb;B$ctr5jEvwV~9CvfvB{rzH;F zt{9w_xN5y2rdzBEZ}?yEHZ$cF?efxf^A`2FGpC7*@pg#VZY*=tZ0DC>dw!j3_HOy= z-PO-_OS<xN`q+dh%q+^-(@k@^Nrem4m zEi`Q`leZvO)mY|*B0J7^L%+HBDD4$g|mid@Ve^rcSqWm$IhVsuD%M8jNW0`)4%O7KzegOCFKOM^q z%OA&vV_jkSkBRtyq0Qls^x%s%)v?8D#*JC!UU$pY+hgw0&KsCNpZhZZMw9 zWM*7FUhu0CG2U%rqF7CjYP0O*fBbg$b^m(#T{r*sjjmt(Ys>HaYl}Oc{@$$B_qsd# z*$K~fUUeh1G)9^}gRP&z*3V$;C#$XM@uit^y{)R&55|^QyRVAzrHdu~8=d?)t)Jjd z^t-u}d%L8~J6UP#C%hAvwtm7pO?j;!)LvhgJWzX?)=y1-xDdDA%mlCkDg0wNfd~`8 z{6LP@1IE|V)=x|JZQ1{tEYSaMviKpsle4?Puyza253Qe&+w}h``;mUy`U%S~y^|ZJ zkJe9K`s+wVf%MV(@k1ySfMyz_PYR4rtwjZ|}I702Xn4r+!c2 z(64Fz)cp8i>)hPQE%-dtFD8IVQuP4+9wWMiezD(90ITEw!Y7JG;$itxwK1S!C$QVk z#MwJd=Hc)0c=o;0i!XYcagQ$i_IA3#SKPZAUus`yj=>}_{BUdrS{C&LOcTPi8`|+D zd3{Qq~j<^;Khaq*)D^+(xfqwZMRw`_FLnNF(INkQ z{`;l=-@N|V-djvs=gsz|j|~6SBSX$u@6~%>?T|xn6@NMCG6(y3gMGYJ-^W|kBitv- z^}MQF=0ZvPLoWUQw#(!Q{WUIqH0AsdyX1G%$6GF~!`md$VX~wn-1cQF7=Z;heLVTk z0Qnx3A5Y1GK1ABb3;PghA1~}fq*!{;tCg`KS=<-iTxK|5CSkpe< z>cPuG(h=^}vsWc;Lbc8!he~gm;ZZ3V?+4e(x zeH8?T@`dTQCEUt?pi6(OpSU?Tlz&_jKTLmo!fpB!T>2AMlK#Xbewh9d32({p5Z(-z z{*fmAR-<+QC@cd=GBZ_Z1&wqx(nLoxl^YUNn z&fmVwqtzURReb(%O7`&^U`PeAFptpKe{h@@tHsB>5$v} z`Lc_X5+0WS$qHxwrzo8HV>~!7|LffOpPKM6|DwW~|2%~=|MrOgx4TRj_;R=0%plm< zN?)J*{l6J6lMyVL*e#R3r&sW8fUa^+Y1;hxeP%v**FblV`(Xy(%)pq*Y)Y|LM!!S? z`AWGQB>zIs8j+?e(7xi*0CMydaC1 z)8J6t;8UQ3GpD5OfOh@nxF!lUS=+#SLwt$f7P32RcZK&BwoJIa_hH+EZf<&;OWYi5 zU#@}r4Eb*jRKv;!saJ!3!#1+JrQjg8<=)1RB?jf&*6a(pv<2$-KHi^jn?L5BBmY)J ztzl(Doc{>f-7J4Q6vx4$ zuguH;LfMb}O~10{#}CUN{mN$NkA7vCerO-)SBBj7Yp<65!(`cA7C)eTmP?7;BRj#< zexOUv-;Dyxf_{?zMbh&d@lFGG14x3Tx zEfxF6m*jq${E}N$?NZxz40M%n?4pu6D^ta7m90PFnU{}P|Fq4QoU`S#>%FzswolFc zUGezQPaJ>EPd;8cy7Q(lx5~j74neUD-fbGZ+cbE$Y1LJ6sNPoP(CISidZSB(YZ+Bs zJiP!_;3C-#7l|s)5AVqZ+Rli7BVD{wx!Tu1v(!~;@0SNjyXW?albl*yRPK~F;a7Sl zEE4~SkD1Ba<~nCBsLIEwEAq4|g6Wj6SnTgHyTppIF?9TV~vGj3O0$w$hV z{^~19e|WTkR&e|Ql;fXgUb4Nhl$w`5ss{Sa9Da^dZ=2m0GUmX;ijHW&DY z3h#7$BZZ@9f%q`jFn#+}>q5sjk^g>x{BY~%%1*@J)Q7T7e!1hDffs66n?Qb}{6c*6 z?EC~W2lD%6Cpda`ejtBTc7ku^L)j*O&T-ST%WCzbz;S-BI1W4U1311; z`nv4I^|P&kt!9lC_4gOqM*g;081aUE?A<_Si~LiL$9D`-zK2Ts{G^hZ73!sd z@*I09_cx>#@E3&rQWp5u1M0+XAbrHA|2et4bO4f08j7qHu`uwm0*F7llu9P+oBy^R&(gZDZvnxMH^qy}!3+j0_8O zm5SAgUByncn8(W7Uhu`Lo(>t9uT*6$TgJKNr2*Y@d#jbxq`584>nX+lYI%wIGF126 zBZ~c{iRFIxYvQyy7>aPeCiPV$;>-my03qWGy?EzK_uRH#8Kl50R*WsQ5A@Z)L1lgy zyC#=yh$k zZI`55We#zVys#$viC5pWR_3=Zk`yvYVL_#{T9lmIgCDJZHuv$RUUNF*2D;?lNavJd zpS-Sn?%1;Fpv;hdOQ|Zm%{*Sy)3LiSRZR*BUj&;~tag_A-H!TiDK^Y-uK%8}6sLOR z_!+WplTUXoo-(tojoagwO6io_<>fqbw*@K`Uv-WJkFt2mTDoTr0UamcOwdaKxukzk${>|=LX z{H6!>KT06-&ubM!|M-wLcwVa*_BY$5Z(7A|$ixPu4?fp%(<;v4_^6Eh*;a85$46nn zO{+MEU+lPP73c6zIBr_S5r0eMdq6mPC1@3AS*uxN1^q0S^Z%A`oWE@qw*r|!j*pIj z+g5R_g|a4p&T+Jg^U_Dl8u8I84!O+p68Z2UQ^;pq#jQBV1g1~;vNg2In+e4@gScl-#2cR7A!#NX3k zId0#fNjY;tQ9kH`7X6IU=>swqrq8rPT`O{0uWJMnPU|h6K2VCO?O&L;jN$GfIvag% zVvhZV=Bdq3=H^JYOXRoxn$2YM^%$?MYe(^CRf|1+^5lOvV%j5TRm+{7G8oI>6RVQZ z;!1Vl?A{LPTc9i9iHmc?r){TKEA6GeKDPbM_iu|iKaUxZ)_y;l$us*ay;F-*Wovx7 ze}QRq%eLwKu!(Nk&Bx8CH_C;ZUDB$ypYN3&v-?W+L6dQnO0{E}w2iAWyGVfDi!Mif zr=3-_xDHJe^EUahWhu#g-FUlA7mN-6nWg@IIbB4XRV>zjo$gN1d{72U{d3EYH*8JM61v{aI!PdrL%YLwBKiINg zH7)!1R5Rdu?!s!tiu+Ic#Xm0|`?+)PTXg%E_ulN&GjV_7A*qel0+t{xmfEJQa%*On zS)t}#+1=08<;a!YuR@OlHSqddd>|7UkUnLc_4X#FstWrn+-ET44+gxt2gw7Z|sA6o9iUCS!(eib-c zOwbQnmwrI}Il^(L91QoXvaHptv0}?{rfehrhGt)@tZg8lEkD6Gk|n$!Wn0$AI-cII zvix|*H%a2#@zN6=M-R#mkbk+zkID`CZ{|bUCa*ZI-LLw9<69{4FL6BYe${otJ}t}1 zvY_6~YFOET^6~WpJMaVfeX;CN1{-M*2{;$|p1GF*;~(UB+B3KD4|6>2nOolG zxapbaq(8y&Q69r4^PlASXoXL4d~byx<9K|(3idl$^v{t4(=#tL62bL(ulTNBi4Wgs zd*(j3*AM+Cdgh`34gDv2<{`KDgO*DA@|T&Oc|kT@K>oN_ce%^o_RL8UC(Iu`^DzA| z|3eaP{qwbwKJ4SrM$%@BBTu(FeptkjKkDcE9Umh+9(e+P$nnFI_%{FN9WN;S$Bwt< zaNI9{M>y*5v4*$SkAi&5MZYc5*1-AMo_WfLIzHaS^ttult2v(b%q_?00Mbu;=2pME z3KtQxBanUpD;uC+jI0!dqkcQ`|6}h>;Ib;d|MA;mUzZk4Q!3NPrNlJFrJ_Z46?e)d zEHh9MCz13p|YZ#b}ARl7Ah+<%ilS7&ilD@FYxd{ z&?oAzEdexhL*F7rSCLq7EHXXd!f|NIa6xHG`# z(Td97B>K}>aO5lfZx;Orn)%j0)}P1E6v-dNS)ulPw*P}7f3TV5_AqdH&VNSoqaFDJ z%*SJYYZXe@$%%3F)pEM>c06CCM^W^gPF<^CAD5C~UQ?%~W`w0A@HOl$eN*U_tsxpf zSJSs8#hcIg)ZGrxHL+QV=k|y8%qwCN?M^Y?_84pk{dxxv9Mwg+dPFE!=!584AbnYg zo&xeSNO^+Ck3T&Z`SF2)Mtopbirpx7H{!d}aaTI-O2=L4xEmdJqvLLL+>MUA({Xn? z?oP+uyOUhHrBJbGHWIgyczEC3sJP@*b^C>$)~aWNCPCTimW4ca^$4r*Nuz#e#_Z7X zad?Jm9x7W#&`kl}{@1*<5k^0nGVLtSUg`1h7}}=8>MyxbF`gdns)w|yQQX5r<8?Hg zpDfeeg&}El2gbTla)-e;NyrYBv*rZ8(mqZ;Z z_hCm)=YK7Y|4UAYP9NLi>@U9fefhxONBG^=Zg$J+3>|sMJIb+Wb?`J+;aIR_w;4^;Woc{F+?^( z;FA$QCgMd7k45uhC=9ubsl^H|HZQWWObYpT&=L1f`HLZSGh?3Qm%kWN^*>1YT)&H= zezgtx8wh6ktvO!{oX?A`-Gp&|8!eAX&gaF_r$n=VsEZ*NQ7T}u@I4)J`F1AkGXL{G zhx(O`mBO zUVr${S2b^cX>;xzia6UhSZ$vbgrv)8J z;(sbo=i8papT=;g%H#ihrN@I4ziH$;^uYPF$~1q|$X8-7xb@BO;s;RNy^_l>>Eja$1h6}!GUH73VPG|xD)@QU^bi5K=a5j zKBAO)%|ev=Nx@R0nHSAGB6zg$u79?hiA0IOS;Ctqc#+_RgtIB06MVT;#22b;f(_so z{4v6~>3u&PZpzOT1*Q?kWIw@SU-0)AJXh?VPrPi#0fNVJWfV|v)-U&(@|Oz^{pSeo zVkIa*{#?Ne1>Zw?T-7|t;mRmL{*DN~B%`0R3w{^Ttp85IqxnuLg*=KZa+lz^;|%?G z3!cw+PANdX-p4??rr>-|O$ ziRES+F@nz_nt{=RmkJI$j}bgu7B}w^FOQ?Kf+zC)M*;Gqw@fzW=Lin@*9jgdiyX+m zUhrbUF;0gFo-2zU$Uoe))RbQ$IOP8#c$zGNApcjv{avP-2ET~yN91pU`?XOx>~=)( zLcvk*BMa~4ZonePfPX$Jcvf2_2lYNCcwjq)7g54?TMIcCD;)BNt~U4BONFjIb-;IkQPJ(Jgc+9Vds<)UzqX>1c#kd1rP0__#r<{@KV8HhY5n`1lr{+!RueesA2GW$B)ukg5#GI(C1#k^ZAZ71?aOc;Tlt) zGQlTN9_zDT@WgAG+w$83f(Q0g_!6p@PeJ#MnrF%>3|2Vowovfs5QW2T*@7Pt9C|Ji zJTFx7L(je0jm#B7so?1MeS&9(+2!vS+!d~H$Uh)>vEY#3xJ4IJzF&mmUqA`l;atIU z1izCoK7}?B+!aX&6o!%=&ZD%c;F-Nl*fYo){|F`A-fw@|WXjKbK;e-8o!~*s6#kg-e=m56;6;S<`Q-=5S+4j|Z-Y69 zO!=jPV;nUUJd-Cp3b218!Gl&RJdYCYz%wC7aJ2U0AQxQ*#MzP?Nh-SNO z6+C)1=NbkNkERqme{4=$MzP@F?;?2ggUoG>mq5YI{XYoD`8vO-qqzdlddOrqFrU99 zctDQA3n^jyZx*~v@W4~mE3jJxcRi~3(cZ0s7YmN|Cb#cx*6YU|MFD<3Uho{j(T^#D zN3B)-=*LvS{U292(fJm=WSFt>it&m#1|BfdRM(X(yTW}aGc*)3m)*I z;(w14?ym<0H#R98^4AESFF54ix2(jJUnV%@FBCkJ1yDe{vIP%#N#T&cNbnNDAwQwn z52k$o&59rE-bBHd3tmRq=Tl4)JZp>MzmpQ4H~MwFu>~XbxAK3(Gv50Po-6oB%HtFA z0Pw%e+=k(%$S2-`f@cYyKp3A$2MJy#cnM)_&-SjVX1zt*=zs#odw}4v+Z7JK>L7Ui z0)-b*!t?f}f)@)8`<%0Li7DT2hvFYk$>|jR1a}J#`=9o4&_&D{xRd`|`kXF!f#8Xh z#{;6C-~qdsTh0I6A!i6)DtIVitjPa?e>WXaxRWB=|F%(nE%`WC@Cih-p2>o{{=>P} zdUd?urGjJLcq(?cDJSi}ivKQ3SkBXemkAEPdPeZvLd6feJu7&L;Ez!@_tyu%#kFG2 ztXKKJ;kjP^P;kH36pryyEO@ElsP`kmb6!{csCVMD0WL<01&96_g2(Jp{Lz$fM@%o*?o|2GWCnI?Fy;OO`1g2%k6_@Uy+}@`AD8VtVuMoUQ z@DeJ{Ludk!Ak_sJXKvcl?Wd5 zzT!u{UkdK`fxX@v|Hy00NR;5H_a?!M1&2S36x{uxl2b|vkH?z@Pb^kA+SRJKUOPr| z1jjt@5pig+qpGq!uoU- zJYVp~2;=_kCU~qoK}37I3+{gkRY(Etz2U7iQ+~AIkRKy>vEcBZ5rXHOs^mcaje^IV zW|!ae%RQ$2Y{4;4o+r5Lbj1(-n+aYhIQtLJ1I-1`sb`n}dynI${9?hU5ii^4sNk{u zFrNba;Sa(6=vQ4Fp#L$!3k8RLR&AZ!(PXTz_%R+=3!Wx8^WrD*#ZT?KSjIxd8jTHYhqPe|o1$Xg&j1<7%PVhp( zdAY;(yclxMQv7Ide9mH1ev#nluW^FMo^6+(Ab9a366GsEV#eF;)ncC1TPRAe*UT8%lQ`p6rlfCXU;U` z7YPpizZN`(U+|+4KnX9z_6qL4P~n(QX1@QaDaUA`aLk{x1UL8Fr1G%my@ChvFAyj| zpV@+^366I4Sb2UI=JRi<_;EhET=0Cs(Z5#+p4dw9V_kHm;3cgU4t;_IU*5*9&sBmK z2|ki^;Pu}9yL+1Y1h!TDn9r98UL-j5St_`@o#Ia;8SN-OAb6SJGby_v;mZWiyhQOs z&*g##wpTdpmVeU$Q=de^F+aQ{c$wfhZ*CU6kUN$FQ;{AlkrO=p|@#e%~ht`$6{qvA*Z_7vRcWY;HH@O;6c&%{=bnDWa6$MtE3 z;EDXp5(<$2eAmxSem~x~mBIpwtp7&Aa|DO}F9;spMez?M-Ubw36g*dO*lm;Gv4M&o zdbXSUb5|;6EEgR8aouN!dF`*mru+iIF+aR6cyxCq zA9mOy_z}U2sBWIO-w?d8hh6{R{H$)QpK-auA10FR79x1A;Ltx*@R%zU|4g~=3lqE~ zNa1K#xZunAmpT++w=pY<%zBFipGJ9H?^wZOu2%d!9xtXCFL=J-n3swVH|$Q?M$k2i zANKi3@It|P9m00_Sn%v??fQHIe!*eSq*-fB`Dy%1A_@;vWIb;c+&@_1u+MFR7YdH^ zPO{*|VTvF2883KtxWZwdW&zE6aD9b>qg~AfkBLzH(9>UVBU0fw@0>4qk>HU3#NeJx z8ufcAe#p-ie7WF||D@ody%j(F>M6nf`Y0Uo{TdaR@}mTY{KkS83l90`3hs_la?oE* zAg8Zg{_+2OZpwEHj`M}_io#v}6hHdq6v2xG$2@$h;4uRfKlyGG4FvC(!}R|3vUi!7=WJ zZR>dz^B)l${X1OntRZ%NZV)_>AMjErrpV(lM)3N>6b^lczg2KG^MwkI>%-5qvz+Y=>(EPmED=;8*=#nP~F+ zk5Kq5;qNbaj^N-QAb9kRc6|m4UjHVAL!bYq^}Lou8li&YJX1#wZ+m9uquktimz>{3&>JyuzW+U*H!U?Rsa^ykM%v2pp&Q;Xm&Ro+CK){N##; zAcqfcL`n~ zIOOjZJd?jgMFDpBGVUEyexBg)&#wdzOt#DaTJU1QOGp;a1A7I}A8(hRbN{$d$~MXb zhx~^HPfM}Oe?)NqRD~B&S(g8(;H82?|L0qE3TOGQG{q138wJl19R2lz;L#HlKkW0O z;PulL4*8is^fcv%3J!mpB6yMDkbj5Z?ukkcu4|?Weq@rp-a7@)n{2Q5slKz!dP@aI zy-y3CdAs6=Up*suP^Mk}vx1iij&|L2>({3IfGLU}^Yci-3j{~IZWcW44#hu`Y|iJ$ zQGyopRM+Vg`wG7NZpDvw^%Fem9)+h7Z##x}_|hfY)c@SlN#9}yh- ze6r}*ND^lRPFMWXh-Q606+B!QHd$@|Ox8bgy0hZQFk}<);abby~9EezO%n~DNs|KIh=y(uy3&r|&HpF+Wx3l4j}DtPF8#gF?fuLoZSs?tWf*UIo4*oR3^909zh6#e#UuoAfUGM_Iq33ta7Mb-P5qz4| z`@P`qRZ0%}{RhDVR@>#530@*NXZd=aXiFXXYw7==bJ=yPi~d5%Jce=npx9Lw>)(^#)S55%84a zhyMKq&leo>2M8YfwBm>U0|obgM&Xcu#Tmy<`O$*IudWolSa8S>65Rc)UH(;q2d%Tq zzjIX3Al5%kaP;q8f|m)7{=Hl9ob`73_Xr-7XO}-}-0Oo`ezxFKh-UlWBDmjkia(k# zer_Hsc&y-e64sPr*@r)xa!Le;oqrTOZG(~nJ%1A1^}NE%DDfjXKMU^ng2G|{!-5wI z4*U0bFNIa38=HzB_P<>4EWvpm=5cq0;IW(R@~;%!KVRXHzr0?j>sWlW;IRJ+!HWb( zyH*Nr?zBMVp#LhtgErgcADVcDDL+kctTVqAy#5x&5Bc8-o-a5rU-*9e_kxGMtoTvy z4}u>N9PL{5+Yz(gz-@|u8p+^(UoCjP;PBfA1&`gX_;H?H133i>hx}_FfA4w{XCw*^ zf9NUr5y2rpSn!-3N)Gf75jy1b6?}UT^YKP0f1q1;=<9FL+R);>Wn?AKX*%3qFB#W;+iMJn&V;kMqJn!H)=@ zMcIvs|K@rFOgZk?6+i4bN^rkD3P*cy5jt zF8@!#%LGS%{UvzrTXy-E{`$HpzeI5KS4Y9qiWEP_X(z#>-c~sJ>oVZ)DIE277TkE> zUhiGGxA2n02oii6(QN;_1uqaBcDqOL#1HK9-GaM5w96kD{+1~}MsUmzg9I-Y9OHMe z;913X`O$)heq@)w@yee}`I&;FUtSR0_*n5n{}%<%6&&{2BzWv6cKJUa8a<5dvs`fW z%VEI-K2`iUzyBh5so>nMb141_IiD$h)cc#@(VyGvojvf;;aqQ);M0iae#sKt?+e9` zcFhqyUvS8uD|lLoUH-1G51I0F1;=>VEqKtEiXZ**AHhon$9;)c1drtf8U@t*U%~zN z+3WqG>+~C#FIsT;Lz&=3f}`Fa1$Xba%l}F6paXXKPo&O?Vfkr-qrY+mH%b*h`s+!- z3j{}hJq0-j?e#t_c)&OIde6P;*a)sSR&e-X6TwRbM}IXHJo}K6gZbw?$obYT|LSLN zzmerH7aa1h5#05i;)nce1uqmF{nAr#_xE=B?%j8r^793sMs=~jO%puy2gT3xPkV~f z1^4HL2?fmO6Q<3-iI0~H{vgpTCtdKM9~D3BKT+@_g2Vn9g6ICE_@VzK!DD|`IOgZ@ zo*$`t1&3cn2=0H_E+>NgQ+}!7kl$GF#3Oe3=L+usyTT#AiQq+oqg~CfdFN))1 z&-sD}{b84Xf#79=L;i2UKbi6ajwyaz-yIRWP;l7icfm9NRQ%j{zCUwR@M6Ka*?xro zA$ZYoyFSMR&oXGiLIL^&cROtAQy};x%40ta5j=>$yhj20gbH3NIMx-D@)JifUmAbO zj>0sGEN8OdM+Ar6ZWlaP4K z_z}U;@9Bc)(HCtwzz*l-?Kb6?3XXZcnc$iA6+iTEF1V|KU4MVU%LIq~o-3Qga(w{} z75{@ovweaEFBBYh4iP-Fk>XDy-gXp21uqpG>-I3g)6P=-Xm7aS0rb%%4$$YFHo38U z94q);M6*8c3SJ`korE=|_&)g0QF1Z}3!wPxo@ZkzF^UC;-F_21(NFQiZbt<7YpihY zFYfo>AxCiNS@PwfSjsm1&Q<)Ah-N*%6g*3Co^ScO>?^@zn<)Nd8U`H*-yd@{juNA& zsluV>0l{O>v+GkTcmVJ8MgjU91i#>DSNDF8jAp+2{3S^W@XsECXA2Jhyj<`Yf5ngf zxIMd)bqw{3yX8f1Th(f^Vg|*$(Rk&%VGeKM!&)w9CK0i7|%tb_Hf+t>Nm!ImIY|76O9P5oV!2??=e)#_c!Ak@mO1d?mm@arwE5(m` zCkkFBIQlE?%++SS0WQT4Kc66YuHa}_y5P~R9r6XQ&pZ23fc(Z=TF3KosNhLNvwxl| zc%I;BSLet;lRvhtk^?(;5xi7z=o2V-c00R1T?LQ2*sf3ixi^^d-GakU1_)mN62%Ys z0|n0$9P6t=kkj5SziDQ>aopZ~!7+}`6Fe%wF29-JWr7z`*?JV43trH{E@yv5_y@ZbAb;-SFHQNe zg2SKZ30@*N{B6GA*y>kSng?HVh1f#9%Pyx@sfDmld@i~VXG zmJ5z?bWm_tgyN4T9)98X8^O~AhyG)3dfJpzCOGDmlRjL=&YKgMq(!HWckpPVUp zW~}1pamVx6S%OE$DIDWy`u;tp{4Bw-o|z%I-)O}T`7;I27aaXKOYpQYcKNrTpE`;4 z&lMc{X9^xPR`Cxd`uJ0Eb6*)^ z%8wBo{?kP8Qo*?&d7L&Cynw%GPvICPew3aEe7(KiW`bwt+3VeR)6HhRd4gkp*e`g{ zbBdqG5!ZV_@FRl5Zl#d3!7hKtmNopy$S4&YcH1d<;`53hcH1Sm|3-yF{%*mG1V_K5 zWG7B#`So8={1~UHf@ca2`P+uIKLehn^P-p18%XXA8ky zTkU#gjwri_?GPh4?(a|(oE%->1 z!S@OIQ@#}LDHFU0$?ryZD~d!KB~#YZfAuX}(6nUm;HPUe&vW28L!;S$f!EjQ1{%%J zmci3VqtDdnvo!i_jXp=C**1{F&oe=DTR}I`Xr9A>^ZW<8nMOC)Xn&1nKLS6W13~k7 z4|EHSzDT3_9S88RtwEb7^0hH6*}?K_pj`E zTV9`47j)g{ntn%bg}%{l_U=|0XAa1{H*m@NxU3ZlEf~1_lqM}7?fd*~V@?nK_2UGE zKHM<(wzKP(^?Pj8`{~7D-GUXmckzXD|N3NO$eICpEjr)U*UKS4udw-n=@cm%qxHHf99zR6naPBrXe%G zTi)l<#rF>$zhYerg+^o?>|Au`k^U>v=R6wIWdA&cW^CNLB<9hEeP&#;ulMe>uTm6h zIwt+&A&9`=PM?%cd#QGrltP=Y+%kGnQZnr`dP{sJZ43$~^(!454M-ZD9+y5v6>yD> z9~U<%Im49>LHt>h4QKYAzrNqxS?3kSe9~NO_~IAY^^<$PJ}`S~PWYmt#od%nrzR$z z(fxu6VKd+8&}{L;N9QVZ?Q84rD2WN__rTT;cMZC=L`Kh+23Ne8x}>b{^x~!~-~0aO zNX7eFu1hN2#y%IuO3?@W$I^FMrB=C5}eg6 z@gc?AVdc%UPTBf$-@Kl8pV54LasTS zsi7C%(6M0UYQ_8HsG>F9FZyF(&cSseM-)1EW3Ti^mn`dh?*+?uhs>Y*he8|N z-7jur?&tkx&l#2c^!f>b3VkX&sd<~Ydc7Zbw8z!oKYZ;Wg^n5>{^7zU9}J$>E$M~D zuitV|p>LeKwe`2#+w`CP<|TtV?Mm3L&<{&4yYQ;-&Wuo99@ocbEKz9N zfeQ}}>6jC`=(TqqzjpuQQxsbK_3PI^GVH5}$B%ZL_w1&L6BPQBYjRoJsTcO0vvl0v z4?jzqtkBE1^h~|&zbzwPN?G1_QLl*R3cX`M|Iw*4mxn+7Ucjk+i-vuz&_*{t8hpd= z-9r~O{-DVd+gi6$Xsdk>Z~o}r4t?);o!Ncjc?W)1=+md4cHrKCZi5!QaO205mfXEd zp&S3~x?=MeZ}fWdo{-$azGE*_=+384>-$y6>VDI9Og{UWo?jeQ=%<%V3@G|f#K6@b z?_N5vo@e5&8JcT^)akKKBZRo;NTt^MZj117=OXa7?>Pp14+_r^VGj zcJA~U17^)z{=}bWv^lKM`oFkKM?HFWWbTK1?}+xhYnDP^^xN5e)#khUZ;tGE;qcXa zURLOw2{SMJ>8j?v@?U)*?cJaN+9ZI(Xm|YLuUO;HN?C()}r$U!) zJEz};jUVg#Lf1!ceCw988!L41wXf`SeVN^B`LaG!KMq|aKKa+U8(*H?=k0zE{@mcL zH>OUYy)!t3jC^wU^SgTWTYd2@C6RrLWLzY*NccFd^Ar77CH%Va&s&Gytau9(rfyny zY0KUl4n_nf9-6d8q3J(g{r1c6=MKI%Zs4yEPF^i`IP})F9l!nH_rXgqKlDxK|7N5s z-iFC`(ct^Oy=L8YasITm%S5y1W__MEQKz;t|;?~9{)FZ!T;5}KmV4roeI7Bl)|;k z2aWHu<;mCX9{>K>KNY(D>pOof{lY(Tdi|F!nHjubq(YCk-5$5}g3AXz(s$fXFTZfc zIE5Au+z@|jkDDWxWS;%d_b?(H}4 zmuZtT!&7DcZS-W;?HwMQ(`)05*AIN~U6!EVfAsF+F;BM$%YFULZZWG$#rwVuzrM$X zZ(cWG#)ebhy6?~5_9(eW?|OFb-W4(ZUpTAa{CaD*PE>Q>tlLM=9eU~OedbIEkGbHJ zMRGyXc=U}Qe3SEVfA_g93a?*e{H1scwmw@pcTK;r$G2V7>-?ULCM&e(k~N*a&8Z(X zE&2O_nOC$I@B6g#wsV*Nc4^-iBg*a`*sqCr)J*{!TzmZo^j`AE;~xze_@kit4gPc0 z*{9@0<$bm>`;+Tu$ZYh%?H_I2KI@J?S(k@A`S3cwhgBXFt8| zzE#qSfSdb#)?m?q`!Ysm2P}EueTABiY5mIyr8^qI{HtXPtC9*K4vB7aLTvb9+iO*+ z2O?%S8xfqBo*4Z2s+lC$9rAwW!Jd>C+`eml^Z48up*{cO3hdco`~y@j}m^gqXp~=fhJK==slOcpDS`<2;TEGYl8e447pYqze_~A!QZ> zV4U)Gk6BLHKNRicYZuy{J}HH^CyR{Bh$Ecxstj!RQ2KIM_#1onkS#ocF!~vtK(9g#A(AkR^(@1H_!nb&?s4c&Ck*pQ` zpqm2ZbE^E=9Rkc`kU3q^RsVPDU3Cd-A0+Gp#AUF@57XEOi2Z}_`Si_*AMY9vH#(l4 z!qxVCf<20;8n+dF^AEf?Pvt5I@Q<8O%G^%BO4&hEb^+1V9#2%pfS%|pPQCfZtA$a) zh}1MkAG1Wu7g`gId5`anA#fdh8pn7>-74Q5!hJC~Eh8y4#TBM7-~T(?<4Z~Cf&HDh z4EAnf8v8r3->`2FPo5NC+x~(*r?@^Vc=s3B4exz%IlR+l$uKGShMB&x=ky3hSFUIm z-tfZ~;Y1?eWcKAB^o0&p%`2-`UJx>U+9@Hg?A~pzu~1I03z&<*RdqD4IQ7=+uZ)IX z*q@92fY&2Kl9PD%R~K(6TigDCJ;JCOw-tT!2mHQ(${Bb!hUxNw<>@kWcF?(oV)gt% z&G*)RWLyvS6k{6ujxmkB$=HT$Gu{R_Ej7K?*K^o2jjC{4QEw}uX4@?rpr7%69CP3| zB21SLR#}yo#kP~+tP6O>DfER7JSTaZhbxv+9(BsCYMk0_;(dO1QFUwUXq-CrF5j~9 z2>cNH(=iA3m}46I&@qj@>evtYS8Z)dqvQAmfZ86*B+|fMdPKUd==2fzlfvN( z`g+mx8yFH|1;{~p|`4IdUAQb?i-qvHZdYD zWpX^dy;a+DJ@ytwe{h}7d6OWYgHs;+y;C0Q;+H9W7A%ZT`8?-UET8WOb03#Q8pdpj zW{`(p1(e6JdOpAsob@ZQ_)m4Bae!)=q8@v3@A{%@e6P@6w(gG9_@Z|eW#3k=346FQ zjeTC3#$K@OXZ-HUc)H~~FfNUk)wS;1Tp#wTW!ef(JMuB2=l-;T-_vk8?9s$Dey_>2 z7I-eyqh#ff??tiyAx|q(H3|LEw>Xk3yL>4MKf*rKTn2kcGmU+w|4Bc>Uf5K<+lrPS6{W7V z`H^l*d}or%RS@7u?oD*>hN36b$d8~W>gTk!{HP797QM?$hne<#YG%Z`*&QNU&6*#6eg4F7;y}KmnD;~I3IEaGvqedaPaON2 zDw%p4z26t0q4ux8ZvbC{y|70_TQbTpeuc4DNvT3;p+oEw4wuzzjH-0bbh9JUaxL&_B+d{t$BlO@#p3V-{{vjY%euVo#!s+ znDE{br{3PVRWAJZ(S`T&)MSRW8vU5iJST9JM~ro{K6%8d*G*MPv}`cuoO(e#4y;IA z67bzd9NSZriP}NGbfoi2;f@x6-Et-I)M#FSp73){z4-^8F>=bfqnxfIu+{|X>l5JY zgWlFB{0!&7IyWs#_U1pk|AE=M?5b#Id#d8+eE7|948FHs@nC zuUP9}#iG`;2e#br+W+7~uKoG>uKigHwbH(k&UX1y3Vt&wdYH#=ZrA9^LbKnnPY;hz z&qx{*mpo)j%9z?-i)2{!x~VFOHa~Hn^TRzMh{WSLpWu7!jNuzTOk@93rnMk*7W)t6 zzqE^XJBToh#o@%K;aaIGNazp0s_Hz|@RgfF5LpkD)2jj2j=){}kB)WbDSvX7MVoZ) z%4w(Gm2+A-+%^u^%t-S1&9y?audrVH4oq$P2-kVFRi~Q{B|6*8$B5Sai0=e_HV;Xx}G3^NO3rh7+vv;V_4)ihKKX%ST7@vA=zR*f0+OJY?&$-xE-twop4YTe4 z%jaPDMg;7IZF~=7sz3TTK7W{ObL4w$GQ+@Tb%fUwHg!f<~tajXAP+ zQgSjg*5*1a#j4Luq9wA;^`Q5Kg<~Ij3vp7q99Nj+*2sULC;GOk^JTpmWx++0@gBYN zoToH_EEgTt)%&APy~PGz6Zpjgvpeu@3o|U&=w(8)U)1&U=cQJ?ZmLeA-mipu&YgA~ z`_nQ9!papR#JAv6$l)}WeWXVI0X@;DRr!ZqXYc-TF)8)^^-1gN;=13dH(Q~q0RLFf z;CYXKEY#@xg#IVbL-V!zE&VNj@b-KH-zBxm>6FJ$^n1$8P$NHqp70Y+>*73Ao#zug zhD+B!Tbk=8qME_k9$$*Xe@0Av)8jukY4nXkv;Xk3++itW6;X zqUAS)8CSd9A&7j8fbWywSW@_fO5KYh3U;;KHg4R4@Rcj}hZ7I-9mTvKLQnWjZO$*3 zP}Kuox@JRN%r8#8y|+^3a=&w!zP=k@W|-k#jh>~^Gc|gK&|IExNDfWyGbw3oe4X5H zoMzSQrm7^`{pR@b?IDQVZ|FOGZ9Obi?@7Xk(I5DBZyPfDkTLNoW8w#-#*G~qmlBr{pWew8MlWBEADukq zvWOvxap`I5V-L(RG%h_MK4U=qWcu+A=2i4tDQo>td(gdi|Bru+9F2YdrJP0ik)$VO#QVA>!%f>Ds1UsB>}yKvJ`%o* z&gJxLCjI?PUw^yUeaJ$ZhxoUPHM@_5cA$^>KCN>ea{95=UhkBW$u_Z~xBEoQ=PiGl z+c0JQFYhDaU0-gwex0tr8?3D2^aby>(sN<&g`?(q{Cbf_XA8|f&hvUiV*Hrf#>b`K zMs#ia`F&QsZW1riYFl(-=H=bHcMm~?9}%yya9Ig|_NkHppD34IqxBf{ME%v9_q<>4 zwI>yWUwOBqt|`}Zx(PVTTDH;oE2EuySH`E~@Q;1jjd~^t zq+c!V1XkS?^;5r?pS|Gn=s!*aD7qTC=zn#BXAU@pZLa18gW9kmT$ghD)TVx(3v9}G zW6uEncR`_w*J%q~f}&43#iP2a>y*>XD$RdFmoMcF(d}Jz{S`@qU1=Q>O8GoC9YNWM zHHW>yz;ktF;pwNI3g)PMqC6M!Sq4Y8L2b)()(ZVORbwnC)G$Irt$NGb5PGV1RG!Z= zINIA$Ie&HJv99cM{0*FcyRNKX!Oj6P572=*C(wN{<5X>KV7qvWT&^yI^LH(dzu z`N$sZvh8_%gnX94(LRqchdqG5qINJR@^yJ9nyw$8^J*x!<=<{s){#T08f5CAg8%>a zcJO(buYKs<&@fq#m`CcLJA~%B;DT-+^_+JoXWQ!04~9e@e?9^XQ|@UUwqWSgknMY# zQrXJFi823FroB%%8&M0oOVIL@g0g{?YRr;n`AO}}QME0Pt|L7CuCzZf`qk>1DAM00 zyThPQ^nS4B&x-rW%4gehw9nVI({H*)Rv+r9qA}MiT`SM8Sl7z=t0NCm*v87v$|rRH zpO<`E2uJX;-dS5`1ow6QVP2=?>_0u2Bl1_r76fmM&aLzsrcv2z<~2^m?W&zV(A!eJ z53D-ueW2Qoc5sUPle((0qT2>^dHW*AvR`$4vbN<}+MF0`5?YsraJ1}T`77E2zf^Xu zJijjemUVH?8oKHm|RBS!H2t|McJQ3E^n@3wXFaDwOvZD~~ylU)TO3>YO0g2Dpa@tvPkm zI~B)|TYj(SS+sTj!96p2&UpMDPk(?Dc7NrfL&5V~o)Xe*&r{nuBLB^R9l@PO;5|;D zR*Lc!_nXBB3jCFgG34v=^tM<&X7?YKkFwQ~ZOMa%R$3EzCz7sKOHYjR67;R@KC5kc z(38{JmR;NOPU`Bs2GcE~=$gy}x|G`Pv)Yz-;_0f^NtPX|Iu}%)&oVgH^>z4(WMgY> zq3mp3i}QXE_JFam>x09=i6f?lq(!Xn$q`(+>o%(AiBH{Wu07~p;C7D4NBO$%hw?sP z`46e5JK{3PZYZv<~JY2 zCwMIrYWc?ib6sTFNON)_?dOon^H~N*`+Br;e%0TV=j-y6zU&V+n`12&3MqD7P5<%a zF%R-}*-WcYJN|Z3SEmouj$P49C)PZnw6=WAY6U3xWOc?vZOel$oYuDN+Lp&URy@Wy zhlAyBcH1&;RLB;<^FK?r@~GQA3l+EJ&~TPD!Zz& zsgFHt%yM3JB6_N>Qs=d?oOIp(z&X9$f>LJ{~LDa-$X>DCa3aVf_kvdbvmkO`?<67{EE+=mGfKY6*~{=)8+9T z9%EU@Lfd~!ZJljkYm3jsalI?cRK;QaoSE@wdCs9;3ySCrFvfVE*z_EVsn6Q01| zBJ58Q=L_&F2DP8U-j^PC(e4|reQRgC_Ai^|DeEiYY?m+PphvSVq5K&x^Ea$a)a8Ee z=Sf{ujoXUe{RDb;%6{(xDr1IkCth(K=<+H23^_I1&mD7W__d397?~kVqxoZ5w1=vE zq_6hBg~b(yN`0^aE8@*xJ5c_+Yx1A`^~Zh#xV*0c_1O8{AybFn5c0&t?xB}n^3ZlQ zuQ_dNFHw^to~Jm>{ps?v6-E0RX!LxIo~P0G3C-nsPOOW4V&+)&xv2_?PJb<+c}hj@ zC-l|B_m2yuLo+-%71Mrg)rOBbbotn5qA1_@89ILaUYd{o-abRn zA3jx;e`1dzPT5yc4!Uy+tR2yHwa<`KZ@vD?X!y_gsU!Trld91vLbLyzOEDrfWn5DF z_^{D&DPvPpcm}E3halJ2G})@(O=Ton{-ZEHMzrkv;cs!RDBlbl8b9o56EG{a%F<5s z;TCSNKXUXrKwtE6RsNz2{^RH!Uj4;I%yqTTvr}(fugYlni*DQJG&|=B&HlpI5JTcK zGLljfs+?yktIr$0Uh1le-H-fs`~S@DPQAUgQO`p;9aCdKN8s0-sy^WK;H7=|6Rl>@ z_X3P)`4dk`X1I0Mn(m-O^0T^u-nnJX6wvxSF{tB>Er4q&#*dkH?|6O4xVy)M8b(>9 zVa%pjz3~Nq`|g)bp0WIcMt?6f`y0n08T5fpN^AQYza-N5)~eS{hZ2>Y=~#l@{y<&D z^*nY4W~C@&Awt2HN9`L+w7oOGO<$Yb4}bsZDmM!ka}HGUJFSmhzkHPeWo(<{U168-)Cd%@J@3i)z{d8BMz{B7p;nbI9Riv*a zj`gx4+G*um>kJoxb#Y1#~0Av%N4i( z;<-O}MH&4X4j8342S_?JoMe%_Gb!ch$=8Z_C!sI;fbR)9#|6&2-X)dKRWkLqdf%^r z?c)4?IGv9|5U07hef&MbJ)Ykum#?*Ag!_C@YWn!NWVI(#R8m4>GR2Jeu?DYAqtoMQ zixRa@^N{#t+MhjsEYE3?NfYBnC&!P4eJ+tc!tu=gdw7XaE+D^LMg;)QPx}15Rh!GV zX!K^G*^e7jj7(2W8=HE2iYs71d_vrqDSZF5s&iF!bc4G2nhwB}A6rN282xR1x2DDp<2j~VV4x0}_r$wi zQ32MYhmG%4I=afvX09_FMa?oRSDY{JJK984df@aIuFL5!_QLRgmBP<-9$>si?!Wk6 zezfK}2Xda851jXoSf1~}skbjBG0%^0-`lf}Ox5TVp?U84r=H6uYxP@gaN0t*xyAMV zxg#o?Q-lF!_^>#X|2O>bh8>h(&SA*s06o#SoYt0~v?f{DpI5)gW?#IFBF-PEn;;5u zo%O`ME;Af_WRb#s`|oUzFQwo=M?Wp`_|Gwo{zGW?AD$1Q=)PfHtif2<->rJxbSTj` zzj=4lyh`VY4cC`?u31Pf1>Q%hW_w9-Y3PZ*tIhevMe^(Fy2PnBx23AUZQ~GmiNRY( zo1vG`@QJ!wmq%!IqHZ1|puMfj`@b^r8t^^ccUCxPEybK6>EB{Hkhm+6uz56wM4ECz- z^L>60TpRmrVvQm0;(11k|M%8e&=WpWJ^yoFizz)J%SDHE z<$q4SbqiHSW2_#$r@v=E$!|6KkVbzaH2X?Ziu686YI5@ExO7)kYI@QgsVNz8$#ro* zsnpWJP1Q>D?l-WvzCLepzJcbF7-w+G%i1Apbthw$$Iur#aHY=cJ6!)%Da^s3WWwK7 z>g_%#k0o#U)BXkbNpY>mP1Ual`B+^;F;)HG?1$PO$9467g;Q@|S`L3&{qji9I9{XC z4+_m=m(MT!22NeQW3fuB*V5fKzTDOvuW$^^vaZuTKM~kE^{D4PQvF(L+t>5W`(P|v ze?P&hiz(E{DedLrp0kVIrKhw(BxUk?pJTNG+J$jll|T8X#)lxXJ}9SG3alf6{fZJw z_3u7%p0bOxEZU|^s+@M}T{)+f1Ao%@8D6CAIh-vt`x9SpYFpse`ZI<5ta{y4l|;)1 ztDAiJqUvwP6b`%U`#eA2rGb}cK~`C+Ll4#V73d2cs`3-N?#{kesz8>D4(n?D;M7|; zLS;0!jYCqiA3XC;qDK2s-VKRK$rf05t7pE?Yr}7Q- zY6VX}n4)BUB44oYI}4GWh5H+_J zP##A$U-?omc=Yk*(q;#k?l}CPxO(L*`uMz`Y(qPxuq3PXD(HK>aF3Ih_YsYXb57imx#d z_&gIp5%UlDRla(DwQtSz1FJUf%bvgg*|jL=OX_ToFJ(}_-_9kb|FEC%{mI@*$;qy; z^!PZUYkO`xN9rQcZY!GoN{0x#t*v`usUyB%bF zwR{Er^nV`*T_oj=Gc>xMMxU_oIO;LKqecJNcOjQkzLD-~jIayZofoG3&CdCEj@Z^5l1KS*7n)(b&^$)jZhbT2 z$Jh4QU7hgMDODh=b?j7xW`i&GxU7?z3V{_n0rG!=&p13^a1Ti$q&qWc#LYH zX3v_@4)`oj7S8z{dTW*WL@JrAs};T7pJG05`P1BnDeHgvp5Hgpcd%Em)_=NDkgsEv z(Xj8cvAaEf{ES9FEj0Ty`~0xzs?Rr-)m0h(l+*#exgMt<*vndd%Ke6NIuEeU1P0x= zf4{!|<~%j8Im@zK--AZpU9=_pD_#ob~p^HwG+; zxO~({VdKVKAKvzp8^g6ct%!FLexd(f?IZ2CYsEsdUvP|$ONr;jcU{bPA87SjT3hx~ z7#|~|e+}cjFZXz^$Zz^1uPw@_MjiG%XWsqwq2a*w-wy$!)MHzrDJk4x7|kNhdwo{E zR-|eY?SijX$M3J&SQw0QdQHGw1lHAkW2fGF{gu(&HV%`f4RDzR{mam3ekMFLH8nYs zp6*1(Ps~V7pHl0-G*Rk{(^NvFTsOI7y> z<5T}V@(k^_$v-eL^CB94$nSf2#-vqs6%_P^4poh}9hn_N5V;*Fr&j~aMPOZxH>ciu{gu)1k1NjY z-3B~C8hxeE>>p=R9G)~bK2;vnROKg-=WBYoR1cPW#ihq3x*@adUNLCeU$`^*OIgD+I&S9n&#X;pqzm(OdQdc$tsQl3jVd_MRt zk6(SM(Ip!Fh0vIT_|AM)z6BeqT73KenO3J&!scHLd(Pop2kP0`=I3isM!%N`OfP5B z1);kQ_tU$YuKOjTXTLKew0y0IcM|$Shm-G{d4JywKE>mTL%7`Y<;9%-Ef{{*Jb3i2 z^gF3eE)6&Dm(kP~HYOu!ay*sc`}BHfMF$#x=Za+L{7gd^;QmAm>l-#{Y*K0`R~Y?l zYy9ZsDVIeINsLQRr{_%)|$zHpv9%Z<&-R5o#^-d>p{6X!pD&407D{vRnc&rN4h92%dQ zQP;m$yHTs(YJ+8qHlvS}d%g@l{W=U7rJgyB=~c%==y#X-VN(xpq2Hn{4A=6tB2|;n zQ}0J_>*VVEKEE|pkNfVP7nliSUksp#^9$-Gh=MzW%k5vXZQs@z`}6bnXD!^jb!F)j z_wIdp_1=8<{%0QE_t))|>>81lbtewH;bB1x@E@Gfq^Y^czFLY=`0-gR= z)9+8Q@=p0D&$r&sxA0-~$N%d6Zj3eVLk`Y!u0kvS@9cM9&UZZ5sA!D|y$0CCMPOaM zALG~CU@^GzAOK)o)I($yOE4z1pJ{Xa03;T|$ zH^6hBQ-79k$+4gN4EHlM2Tk8)6m*I-jFu6^hj~gX;+=%P(Bb4f;eDQfPhni*`%i7j z%=&uz-?}d6`+vMHk4R3P7%vNR^gTSKm7^^+xi)~T%2KD_Rd1ehuB}xqXb1lUeZ{Mr z`4uQn;5;>7ILlgN)5GkAaO&-a)sqEZ=@HlYVu0N>nm-N`5tlwzz6cXw?sd_jZk{W2 zlX_t*euvPx?tqTIq>yLlb%#u8^`Fq!a;^z&-Qb>3>->8=j z5km8v&+}T}@o@?9u7Iv&+FHNQ9;VeRYEj~BuY0>?3ybT^FAv39M>dM*a}FVfE3g+6 ziM{h8KWy8Z=6f?BUkskix|I@iH% zSd$ulr*7X?_r53Qsq5fsHOSE(U&^ZUgkk9KO~z~QP>$8;F+#Kd@IAJDtMm4)+E(@a z;)@lL3mT$r5wUYqBYZdAtw`}qAyE3lqwoZ5ZeId@tmDyE!z zSIlKcvF=!0(CiZAEYaxuh2}Ydb&RC%f>rel2y%Q)7g_bWsf);Z&FF z>-#iw!am=@@6$vt7+K@_0D8i|Ytt|IJ*OkPU!}LRtWaBi;ndrzp>hgs3~k%m^b78P ze$HH%`=EqKT~v+RidKJLc>Gy8geak=feZAG14wfM-dnydJR5<1X_t}N? z`y>@UUG!@t=-kvfo^1g2=lRH|6m~Sz+W5X6+5w+D`F%a_=V9IV^!}Qr^{Lih#z5`e zVI5~*;5ARztGWedb`1>Tdl7oz^8mw{l&|CbJEtqD$mJD$EU&uX%450C{;$n>mtQWd ztMBDG_2#xz6)>;p@4kGieOvvIMt>tT&nx`QWqe#xim$)b##pLKA3eWRtJ}h@`Q)_+ z`q1-B`+S1-=)X6=;L)f%QU3DxQatB8{aq)Y?irJiGmM-a-G6>4vgx*lJV#;ffq0)% zv*NIv48oqD?LW>+1bBr`~$~mC-oQxLV)o z`Q=O-jczS8)}3|n{$nexK1)x_pS`{RcwT0^aVV4a=7qO_)>8PQnLbwb-<_PduFvl9 zn!f)CebJ{?`Nyi27lcfoc1p-AyLZ#|hV$A&X$n~`I;<=IaO$mU_Wqyyox_6q(fnG0 z8Rl#BJdK{K(Q`DK*Q@3mJ#sU;s_PcmLaM7W$&$L9<+@YJlC^i6PyAy>baj&Z(YO6X!u9WTWKEuxKX1=2+jV%*Xjf58gO`O(wKOnYkR$OgH^Aa z#7ngNqx+^to1FVDLjSu)1r4GyX6U&2`w5`?zA=ZV2{Y)|g1{&>*G@`qU*4luy!9d)E*loHa>dPjN~+O313lpUd(`~S)83bJ z4m`YW-@29ivX}j^^&vv47o6?#r8N9V-k1R+$-mIcI%)UH4svdnL_LbdSg2?=)54m!L0nsNVU?(p}Ux z6Ufpr(42R=dEh+PIch;5(Q4~C?|oM8 zcNx(0f!Q7Sv}uMVyL(pjzP#kJJdQ3}a=Tx6|M+oUdUGJmjOIaA|1geDX_?WiH9 zFH$&vO;O6MbH<> zD7t7|NAcLM(fb0>gNnPY$iAWnK1Q_g)FBDHWT+s37joSB%rv##50Q!)cm+i(fM9?9 z`}`Mc-|BBCH0JNRe1EKsRj->=mFR4bv;C@3`o0MY(f^~2j+u0|#wbcdPmB*vD;pnN zraI^UHe8?v?~k29#fGM;y&qUab%L`!zLbUEjLTW<`QApNMkff(e)CVQALF(9tu|Qx zOa=}p!7gFT@zrf3B>xby5GM$_|WrvU&^Nc z2WKzTWmiQz+fx-k=btW2`uAGWwQsjf(C9Rw*_XJTyy;tAtRGXfIz>H7EdNm$d_m!` zd*en0d~41OzFmv-+hrJMQ!JzNOB$bJs_jeA7dr5Q#W@dQoGQ(H|F2}~ZT0>gEwbr;Lf`-Bc=7$KY$e+SqS}#Mr{Awj;yvr{l_g1J85&u)Yz=Nn>uqPvAY*R1i}e zHi0Z}sdGGVJDlS|FQ46IvHAS->?h}#DaMh`1I$HWUHvZ5skdH#Wi)*F@n!8j>*idI zenRMfV%@gZs@F~WN>uZsrN2IxSZMP0Uwc_cP6}n5xKZu7k|jV-^eLy_{NtZkw{iar zO&u7Q#tK$5INRe(arn*0=k)jZ&8HguiO{UqKecZANUPs!gKz$mvAM%YtBjMf{HI{g z`~uFMb?CYsl+?(7pr^0?qt*`4!FkVxwXx10Jm+KG--2lgJcscD8|x+1t+L%Ad=8*r zjJW922`<{~)^*_Jbtl4#kHFbW0Kb`{wt z;1}or@+!Z|UGzE= zFY3>pmTS+UmTB|@8og9#F3;oMv&SOQwLLf9uhmQ9CD`UgxAXjh{={=YF67I5()261 zFy_twyjjGTcjPf$?Q;$Eg%0PD5NCgJ9mlq2diMF!ZHscu<4bVX$7^_JeOMRyB2VX0 zy0ERS=jOWxOg{9(jL&g~zB zx;W*&;l5_Q?LNbO<$G}I?Mq4clm3mjE!y|qHVe)313!PKXUOA{(#Q9iMBfRnYJTvg zew`;@tJlJvHn9Acd6eA@#=fs=Wv+OtgJHEPl_kfj|FLe>= zwxV~xfu7gQNMbiO!}RULZv|~n?LKGam4p#(&Vv@_ox*s#R(sDOSfhIi&30pFt&88u zYwuXNsS1gfz4&+X1WUUtoOlgiuk*HMe71wH^L9i*{y%PQBS~ zRRy#$qtzpxal`BMKJh8>>2b6TLUd{py}DEDYckerqSQ&G+luynugo7R`A!q&Pn8zT zrEg^~qw7?>Cu1O=s`D-ISm3a+>*uC@nBJt(FKYA)Lh~5n!96@F{`R!g^o**`SLg$l z?Mryxs?$yU6203Eb?AF5>A$TmUoXqkW%54Z2s#d|@)Y_)2cC&wbZSDxdPTbtw5 zMb)moRMic=IaU7f_tr~Jy;UvV|6~5Xc<#?#!P#D;FAHEuAWkGp-q*mT{f}ZdbPQA}ls9&Wh2kkfo)|%*= zzVEbeR_?y%7Vgh|c;D8Ay6mcGXM3vR=X{*+Lh`ftQ%`0H*XS^f4i%bx=|YO?`{Ew(D> zD~w@ZbO6s7sTXCNQHJ;P3rhNyLOyZ3t!T}MN{W8YQb=w5$GYQ_!wtJb-p3mKkU& z!$3JZzvU0!)?NBnXkKc^f=wyw)O=$KZ-n)gbaUv2^>Er4A zR58G_-snJiRb6uvOSMCirHh*iOSJ6C>kZ2`3P=Bc755Hbx0u1F^@ck#(lD0Nnj?o| z&EC6)zR=<1dc*sA1HOj24E@!Xi2pyocMbo6J#bFNvA1Xbe2w{UdGFde9%^&lW5BhzO;^<^Cxn4Zdo%0bomtLBR9>z zwovVRMO+$s!tXitwr;4-``4{W7S;`(1u0?NUwn-7A?hZG!vAaUOW>?1uDu&1CZdUo zh%p+uphiSc5f_LuJAwj=vZygZ2Dmef4m0D-u!)I{Q2~`mOi)2%h?x`d4+`>gp=DnBQgL zY(y_8kAHT3qGSbr7GF5P|6XW`pdZrouEfuSg1@PQdH#mYXMQyC$$=)1O#we`pU-f~ zkP~f~3qL{3N1u0g7S-UfENtG%&;Bj5Z`!tU@zx*A68WN#c73Ac0eIEzW!{zsXDxLg~JTlCq3mShQXH@(YI{xq+8YUNhxIJ6$dKAec zxpqCGWWxC8YdqKC;G-Id}S$_{%YIM4>xn_K2ZSLOz&~X&mkY?v^eA!$I z(>8z?4nx~}duzbw?1%f}yl$s)=B<}gI?JFOg{cnC>@vq$wq{1>+sg(lxv$)e6;`$o zFXV*`tYiCmhW;8-OvWfxrjix1h3((sG-2^G_kjIfFaGX0e;)CIrn!H#BiYMGz0F6; z6=dvo;4iYgpTom#@KJ^1 z%p&WVV$}y%Qykm;+K5Y#{85jSPB}pDPkXDx2ZrKT@PF_L77#9Pd!1N*TOjxT1d29;!jOX_r^hB6Uw&%lu_6bC=qB2>09d3Qw(KRljwdOI}>fNBDZ?TY|n!(3fhOF~z@6 zN7gi)TiHA@-AHt<^?T^rV-WG*Xu;cLvHKCQ5e)A=`&Z~9CaW1wy>a!?<8NK-=07x`P6%CQXajNnCU zXf8lDKWqa0LpC(|zh8$5dZ?yZZ%OYzJm2tjiJi7aZ(;in*Y>&9e{NQM!{JY>vKU)$ zezLs#G~`9w<=2nw-)>3{l$9cHQtusXxqS_U5L`Dlzik+RqYIslg64PS=hao!H54O846(rOqKsdHp8uKFno8PT(rver)72 z6w3Mz1s&Jz6dpQ#!*LxvpFIW`-S~+^2wU!uq<$3ev9|lCK0ek9dYz^j8@uZFz#7Bf zCAQiIbU|Ud&8_v5H!u8dcgkZM;6S^duc5sbrH=FWa(eocEet1+6K%_G*!UBa*=}nk zGRpEQq0im)8-|i_d$C{P1@l0am&@n1sBNo$oZ52ty$Fo#+VzQ&k^2Ul$4@!H|3>)< zO*3YA?QLXzb#)SJD~}1DEQ2xzCpEvAOY6HqoIt;~-TBs0$g%RBTlv^v+gO+xSw>}1 zd3<-8cYhkehp!`6R3oY|w*T+WmOJ+*!P2l{;Fsaw4FLX3~3e>eVK^CDKRu|_Wx#=$fW!J6m6 zjyK-oEzh3We%%m%tV5V_O52bZvG%rcjTK$zkEx)23jKp;Joh$aNF;2Mw2D z$`Nq|;RAAlf4=xYJ|Tzy>hJ^#EZXqONp@Tu_^{=cJhIWihumNNuGnk+j;0wOEaN!Z zGaffC-ZuPPVxg_wo@nD>xZL+nc`buHR&asi2INHhvKuyT#I>)eC-G7EFwY@XBe$6M zAcgJYSLvetx9b-r7x445A61ng{r!TzPt%MaPCJmEN^#?7k>TeO3vGiqpl2dHj{;tv=-R6c zfxi~?lbXhOlf=Exj|+Z~LE%IB!tQD^3TQ{*CA|v6nrL!k5gArSvSu5mRBv*ja}8b?7V@#86vTYvgOX1 zffC?3_V9T(av$}~BZB^=rg?1Q_8HaCz*l$-npBytpwFaZp98S~O9X%RD`V?|{jdgS za=(v!uY1pP-_Eqgq04aK604r;+Hxl=%L@6?zPa#|&%Lb2QTgjyc1&PCFmd6>mK)`V zxp*ji`^tBG{9GaEF@pY%rWs4TP|HA~z53~NUGCrLVKQWkyIk-#X>1&s7^cu>Eth{M zWZf{BCoUi4g$!};OSa43)%%id{z1LbJ|$E<7?Ca5N~OFQ&;HP3bU70IQP8hynlZSm z-dDaN_(LW&b}3)j`n9}o+T;c0kAL)DJYZ-%<1sBi13A$Q?8f!n>qceaJwrbG7kSS2 z?(%2zzvPYb+4Z5IoQ841M&9Q=Ox*1~RM0~NeZHnSKg;ZYgG6-PbNRu7FBPv%U|e&} zvr&bkO-JnCkGEBNM&8AaFmiz%?Y8|KYsd>3vYlg%vq4xEsaqjiB+}-`&nO$m7$+hX zC=#hUuuhE)dr!*g!s2JTtnb}>j`fFKet15r_<^8VuC|J+!>Oz z3Iaal_viD)x9C6CG-HEhOk%z8cEQgGXzKpZj-O`T4 z#uePnm&CYomEr4>sM;F*P#Brjqdy*~e z+#|>f8TPFohOZw2W6;;D-4~DLrs+<0SDtMM{>+;VKNs>bcDv{ITrrrHJRwtx0+ZTj zZ_6$DhtYPv11YgR-!1fBA3V1yGSQGP6 zpX)C%KASS>mkrup!m$rD)T|)~V-p8OHjoq8Vb^Y#U}4~|T;!8!5Y~+X@q5~Tkw;;S z_1hdR3T2HYFYXP65F8iBJlU2T<%hYziM)sKC~+s@*EGE=$D6MT{zmoyUMN`gS>>8k z@}5W&>fwVi;Mtd#J?@=xb6fkd*>xCWZ9RI^Lv8= z@AaIcvupa*WO!xLX8a%FT=|YTZ(b zCk)xVg1My+{p;w(qX#4W7(sts)4Q^N9cB2tB$Kvwoigj-q`&{pACFNV<08-4H5A6W zfH^)J;fkRf~=?nY(ddESF)$%Fl&&+}X7Yqk`kYw?YOzFN=?nr21=J?0==LBEKr`lHe+C5#=>U{>c4Vw$fUL2{Y;J3-q z_leC~*VcVvkUuJJ_LO~Mw%pKTn2YDzlrfuzAl-C9PZRW1O*4jgu29if-!P$mYF(_~|E7Sln|3mT9t(f&I$ZeF|fT3P*pq|F)a>XQpSG2H#l^`m^`PjRL)5#tuIm zVdP@W@!T8VzqE|w79M#<`Hk=YS3zSE>H%EwhavWJ5OOoGe2gkn>L7f71NX;0egA{R zo@}oNM4L(--Tb$kpjsL1t-bPhC|j4h?>_gVcb7lXa>p#0fB`bFuDZ6SX`&4F=tA~c z*zFwWbEhXsHRSf2yuOOcvKz;9$CkU5GBN}JudjBxY$&2%6Z9W7&0_}3n8f?@KL~!1 zK|XI(nCu(ocl@Li&h@{yKC{!g-A#UvdbZ%qir1ZtK zkv)m$$yCGNC6?NHZA@PJ26f1!nkVg+HwLl%?I`-X0m5$mD6 zUl=^NfAk=$ok}m#a5Ln>FAPKaVS*m2 zX~qoC!_I3?PfCfy36dCh&NuvBVyP{+yEN>FHQ_^x24q`LM}Bfsr7FiFa@l&=LA)s} z2L(B0+lJxC$gAW=KFJ1QDGHp=lNez*PT{6)zng8j1&gdCaB|lEJAIt=7j!>OGfsH_ zhFLE^E$45YtW2{+oGJL4B&<_oZd*IQ7#2F^*eH9qPI&o^Z*Kcj=haSXb47=x_f=3f zE;~>@mzB#vPVkR&{xXi3C-vUjmOEEHIUe|s-+Np)rr!m~`#nuFJ{ZGE%x|w1{J>ZB zIpquco?L!!6Xm;t2R?d!Etk4<(E5V+heF<{__%xF*NU&7*{*oQ`t@{1lRXBgI-;x; zd6U{7YRj!ShyQ2nvl(0Uy9*WNI9CXo$BgpI#tBKCrOG_VXnxQU&!fY~YtEJ3pgc<9 z8XFvk6#h8O4$oe0lo<6KaGZ}{``Fj#XM+Az(4T0U`yThxB+mX|nLiRd*{@8X-frK% zj~BsmJD@E_E!~f&5}t{6ujm8ij&sAhw%lV5c_G8T{k7ryYk?`~E8qRK+`t!2u4(3b z&QXSL@?G*>yxrb$K97^UFWiyd@i4U{(U?J@=U`EM_mDWd(S~9fDXDChsa%hOoijl zSx3Jg%N_TC3QAYd{0{X3mUH3htM%z(SgtSfNjVWVo&s-s`4+xb#y1?N^kU~l-Tb7X zge`YyVjT%QE%-vOi;(_qK`+#FlJmQ}1V6|iaTGSct6FqBZ!7kU#16v91qM7fj`q`x(0f!{a0UGi#c_ZjxXnt4f= zQ%ZPv^i0P&@AH(=GAPI7RSCRx1tRTmD|-en&SNWKwR}`z@9~ zEPkfzczWBsX_J3GcBlX%lJ{R+P~SL-@3-Xn|KOVHiM3>#Xu1}QQz|DYP{NZAxFBWu>rWrH4YW?^e!`~&g+D5~V+|N#VrNKBtZanM9 zkP~ef_xO_3`mrsyR8lq?c>U+02l(sr{}%NB3i@A~X3X$2V$0m0ZGHBJ++$5P-r2%; z7@jVr(Kdh+3Nzyj+KJLS7o7Ah`Pmu=v0;n|+rPqbJ}a-P`a{{p{pOd6I8GbcKu+-A zw@wj09{`pxHtp_n1i9U~Z%Y$)jv$Yde2(CS4e2_4jG(_xhBCSmQRq2>JHM{>Hm9hJ zq4o7wiFMarsZyG9O&V7_y?6PDiIt5F-rQ?q{Zvi^{KX*y%826H_>Xg(oInDUUo!61 zB=&*Wa!08vbUbNEXMdbLf-i*)6{LvBu)m ztXqpN`25WhIWC$sZKu#r=GMo1J45vrtuxty!YBN z??CYR*a|_s9iGV#{f_ys@|A8O*z5c(&xBLIAX~qxF2fgzKQaw&Pk?6R`#(xUF zEcNkEK6Xy^N7u=AbH;2j1^v2Q=i%PjU6XF z1y3V)01qyObGv(%b&Gn)@43%@WGZ(>&pa}Az5jjr?W?|q_xm$p%jb<^BDts+u&}#-f8BNG5yi0F?`TcQw=-R?e{Qmes~T*CVcR^$IF0sq^G*xw$U64Dj~7#aH;>*SUhePSZS=vQ6?F%1DNN?p;^k?U`qmIdd13rt@jzEc(Y!SqQIoi&#~o}{Ik&*4`&a%-@l9X zW8$1KCwC05$ncr$vYG`>0X-hQUZ{ZJ6d13$0Z7PfZFB|uKJ^WK6F zTW)A0%*A-P{+;)Id^|7c4TAoSrWq@&8~(T??q?>;x=!$9zcL0V7Y+GltM3=lR{z-a z$XMif?H`q0K?@hpNbO!k;1qKI&|%f%e;Mk$5JE7 zwFTa%p6Pxz)-SD5l#Xw%nUW@&$1Q2N(PcTA%8==qhAapVTN~i_1*6U@udNw>6(#sFo;e$LxyGsDStE;!#w{#j%g;056?JA8VJV`MdXCw0Gv8bW&oO!a@+aaf=8rYa zV-t^QN&N2nQ1CPInsG^m;aQ}@p-*}Kb@VfW+ID^e+BSsV~gwOT#8f=3wnv5AJQ~qCCPdHgNCO|th5cs3&x=*`n<`Xw0P#p6UHFe$$Y;G zQU=N{QK5y;>mfhzlWks)vvQdqr)6O?&Ff{II4#VtMg9DW7BH{3<>j*WhIzd$H}n$b zVmv&o|G)fiR1Oz(XH7H4dH;cTZh$^?BJMd`C&SkzR@w%z$iXzO$^>x_Os$!!2x9bxn59E;V_y&mgedlPJag+4=*f$Mdm)L1*a5Ldw&M&{2 za*JUpjc??8S3l6Ke|h-WJoLxq-LHOeWmVP1WeXR)UPkE(!VTm^+r>GqB)L9j%PsVj zmE^jyxqkik{CB`J1>K3_)TEcbKxl5l=i-U{4s@Z25u-&8WA^ZGS2 z-o2_~`S&iapu~u`^M(2$KXA+Xv2n`<$TN;PE!QD9Z{qzpjuWU82WZny*N^k5`tw>S z+x(0zFPD``UQ=pN_o%0dH@_q4(=x|h|M{9E*8gp}CI4(Ro__-e{K?0Bg`mqd&6wx3 z)YWt1I~%WT;boc!^p;!SrlimRF*S4^lA@$Zeb;8oZKMjPkS~}jT7N$JNNQ!<) zbCnr#^_aN-LC z&#~iJ_gs%)UawvGMl=G?MIkX|6#3wONa&9z=)_s+7vynJ*S(Rn{3Aurl0*Z8-m>_@QWR$2@H4}5&}?BDy}#ePlD zM{1h!!N1eZxoz>!tBx>yU1FuJ!3l+tVLz-2;s4q1uyFNz+Y-isZSuwj7XUe<;$z6N zkprGQu4D1KIqf~!kxvSPuoML*^?bDDmi)8P-0p1Tchmn8-%$Tk&^rYEKbq$Jyr&r7 z9LGHuXW9N?_`2lP*2c|h(!H{*Yv@~k&mQIMzqfYQmpaZJG{zKuZ!6@547`qE&u0t0 z&ytGr^?~yDz3&VE9uydczVbb{iud9Ut*@Lgva+!{-R%7W_t(?7J=k<5o9mq)#$qo6 z{p06OKE}pXuIH8+M^#@z{UuL?r6@3|_ieV^l7BWDx{-HUmFWAec+Ae_Vt z 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 literal 0 HcmV?d00001 diff --git a/ColorlessWorld-2024-4-2/Temp/workerlic b/ColorlessWorld-2024-4-2/Temp/workerlic new file mode 100644 index 0000000000000000000000000000000000000000..e6d4f159b19d1a127249b3cbf3924a5402119471 GIT binary patch literal 1014 zcma*kF^b27?!#>`Bz2^Hc5G+WT@ z1-QZ%TkRdTqu~JDfFFSbk}U^IpDfM${d>kf7eYLOcMpW<;0h+VR#-Fe3BJG$+`|ue zI1yq7uc3v{@D=XhJ50`mcnr^A1s~xWZs8j!*QPtG<1uB@(fM?z`)eDPWH^NWgrwgl zVXN)HNC#OPPC{p7*d#%D=7E^uwN!X}TQd<;zvoY&^R7Qbb!?n(Lnd1t0tEvQhOiJ$geR-XU> literal 0 HcmV?d00001