From 8547e57f55f2d6d64ae79b8ee1891f8c5fff75c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=80=9D=E6=B5=B7?= <1464576565@qq.com> Date: Sat, 28 Feb 2026 17:09:15 +0800 Subject: [PATCH] 11 --- .../UI/Window/UILoadUpdateWindow.prefab | 52 +- .../Assets/Plugins/PrimeTween/Demo/Demo.unity | 6 +- .../Plugins/PrimeTween/Demo/Demo_URP.unity | 763 ++------ .../PrimeTween/Demo/Scripts/Animatable.cs | 20 - .../PrimeTween/Demo/Scripts/Baggage.cs | 3 +- .../Plugins/PrimeTween/Demo/Scripts/Demo.cs | 3 - .../Plugins/PrimeTween/Demo/Scripts/Door.cs | 5 +- .../Demo/Scripts/HighlightableElement.cs | 4 +- .../Scripts/HighlightedElementController.cs | 16 +- .../MeasureMemoryAllocations.cs | 5 - .../Plugins/PrimeTween/Demo/Scripts/Pro.meta | 3 + .../PrimeTween/Demo/Scripts/Pro/OnClick.cs | 32 + .../Demo/Scripts/Pro/OnClick.cs.meta | 3 + .../Plugins/PrimeTween/Demo/Scripts/Road.cs | 4 +- .../PrimeTween/Demo/Scripts/SlidingDoor.cs | 4 +- .../PrimeTween/Demo/Scripts/TestAnimation.cs | 17 - .../Demo/Scripts/TestAnimation.cs.meta | 3 - .../Materials/Exterior.mat | 14 +- .../Materials/Wheel.mat | 14 +- .../Materials/interior.mat | 14 +- .../Materials_URP/Exterior.mat | 6 +- .../Materials_URP/Wheel.mat | 6 +- .../Materials_URP/Window.mat | 4 +- .../Materials_URP/interior.mat | 6 +- .../Stylized_Sand_001_basecolor_URP.mat | 6 +- .../internal/PrimeTweenInstaller.cs | 2 +- .../internal/com.kyrylokuzyk.primetween.tgz | Bin 341713 -> 379663 bytes Client/Assets/Scenes/Main.unity | 4 + Client/Assets/Test/GameLogic.dll.bytes | Bin 61440 -> 61440 bytes Client/Assets/Test/GameLogic.pdb.bytes | Bin 25200 -> 25200 bytes Client/Assets/input_bindings.json | 12 +- .../Simulate/DefaultPackage.version | 1 - .../Simulate/DefaultPackage_Simulate.bytes | Bin 15859 -> 0 bytes .../Simulate/DefaultPackage_Simulate.hash | 1 - .../Simulate/DefaultPackage_Simulate.json | 1686 ----------------- .../Simulate/DefaultPackage.version | 1 - .../Simulate/DefaultPackage_Simulate.bytes | Bin 2643 -> 0 bytes .../Simulate/DefaultPackage_Simulate.hash | 1 - .../Simulate/DefaultPackage_Simulate.json | 332 ---- Client/Packages/com.alicizax.unity.framework | 2 +- .../Packages/com.alicizax.unity.ui.extension | 2 +- .../Packages/com.alicizax.uxtool/Editor.meta | 8 - .../Editor/AlicizaUXTool.Editor.asmdef | 26 - .../Editor/AlicizaUXTool.Editor.asmdef.meta | 7 - .../Editor/AlicizaUXUIGeneratorRuleHelper.cs | 249 --- .../AlicizaUXUIGeneratorRuleHelper.cs.meta | 11 - .../com.alicizax.uxtool/Editor/Base.meta | 3 - .../Editor/Base/ScriptableSingleton.cs | 98 - .../Editor/Base/ScriptableSingleton.cs.meta | 3 - .../com.alicizax.uxtool/Editor/Common.meta | 8 - .../Editor/Common/ContextMenu.meta | 8 - .../Common/ContextMenu/ContextMenuFunction.cs | 23 - .../ContextMenu/ContextMenuFunction.cs.meta | 11 - .../Common/ContextMenu/ContextMenuUtils.cs | 72 - .../ContextMenu/ContextMenuUtils.cs.meta | 11 - .../Editor/Common/Logic.meta | 8 - .../Editor/Common/Logic/FindContainerLogic.cs | 67 - .../Common/Logic/FindContainerLogic.cs.meta | 11 - .../Editor/Common/Undo.meta | 8 - .../Editor/Common/Undo/UndoCommand.cs | 91 - .../Editor/Common/Undo/UndoCommand.cs.meta | 11 - .../Editor/Common/Utils.meta | 8 - .../Editor/Common/Utils/Utils.cs | 811 -------- .../Editor/Common/Utils/Utils.cs.meta | 11 - .../com.alicizax.uxtool/Editor/Config.meta | 8 - .../Editor/Config/UXPrefabTabsConfig.cs | 37 - .../Editor/Config/UXPrefabTabsConfig.cs.meta | 11 - .../com.alicizax.uxtool/Editor/Def.meta | 8 - .../Editor/Def/Def_UXGUIPath.cs | 14 - .../Editor/Def/Def_UXGUIPath.cs.meta | 11 - .../com.alicizax.uxtool/Editor/UXGUI.meta | 8 - .../com.alicizax.uxtool/Editor/UXGUI/Res.meta | 8 - .../Editor/UXGUI/Res/Component.meta | 8 - .../Editor/UXGUI/Res/Component/UIStage.prefab | 92 - .../UXGUI/Res/Component/UIStage.prefab.meta | 7 - .../Editor/UXGUI/Res/Component/View.prefab | 155 -- .../UXGUI/Res/Component/View.prefab.meta | 7 - .../Editor/UXGUI/Res/Config.meta | 8 - .../Editor/UXGUI/Res/Config/DesignLayout.wlt | 1492 --------------- .../UXGUI/Res/Config/DesignLayout.wlt.meta | 7 - .../Editor/UXGUI/SceneView.meta | 8 - .../Editor/UXGUI/SceneView/ContextMenu.meta | 8 - .../ContextMenu/SceneViewContextMenu.cs | 987 ---------- .../ContextMenu/SceneViewContextMenu.cs.meta | 11 - .../UXGUI/SceneView/ControllerEdit.meta | 8 - .../ControllerEdit/UXControllerAddWindow.cs | 107 -- .../UXControllerAddWindow.cs.meta | 11 - .../ControllerEdit/UXControllerEditWindow.cs | 136 -- .../UXControllerEditWindow.cs.meta | 11 - .../UXControllerSceneOverlay.cs | 433 ----- .../UXControllerSceneOverlay.cs.meta | 11 - .../Editor/UXGUI/SceneView/Hierachy.meta | 8 - .../SceneView/Hierachy/UXHierachyWindow.cs | 1305 ------------- .../Hierachy/UXHierachyWindow.cs.meta | 11 - .../Editor/UXGUI/SceneView/PrefabTab.meta | 8 - .../SceneView/PrefabTab/PrefabSingleTab.cs | 166 -- .../PrefabTab/PrefabSingleTab.cs.meta | 11 - .../UXGUI/SceneView/PrefabTab/PrefabTabs.cs | 250 --- .../SceneView/PrefabTab/PrefabTabs.cs.meta | 11 - .../Editor/UXGUI/SceneView/Project.meta | 8 - .../SceneView/Project/UXProjectWindow.cs | 1244 ------------ .../SceneView/Project/UXProjectWindow.cs.meta | 3 - .../Editor/UXGUI/SceneView/Resolution.meta | 8 - .../Resolution/ResolutionController.cs | 517 ----- .../Resolution/ResolutionController.cs.meta | 11 - .../UXGUI/SceneView/ToolbarOverlay.meta | 8 - .../ToolbarOverlay/ToolBarExtension.cs | 140 -- .../ToolbarOverlay/ToolBarExtension.cs.meta | 11 - .../ToolbarOverlay/ToolbarOverlay.cs | 229 --- .../ToolbarOverlay/ToolbarOverlay.cs.meta | 11 - .../Editor/UXGUI/SceneView/UIEditWindow.meta | 8 - .../UXComponentCreateVisualAsset.cs | 351 ---- .../UXComponentCreateVisualAsset.cs.meta | 11 - .../UIEditWindow/UXComponentCreateWindow.cs | 35 - .../UXComponentCreateWindow.cs.meta | 11 - .../UXGUI/SceneView/UXCustomSceneView.cs | 68 - .../UXGUI/SceneView/UXCustomSceneView.cs.meta | 11 - .../Editor/UXGUI/Utils.meta | 8 - .../Editor/UXGUI/Utils/PrefabStageUtils.cs | 115 -- .../UXGUI/Utils/PrefabStageUtils.cs.meta | 11 - .../Editor/UXGUI/Utils/UIBuilderUtil.cs | 174 -- .../Editor/UXGUI/Utils/UIBuilderUtil.cs.meta | 11 - .../Editor/UXGUI/Utils/UXDesinUtil.cs | 104 - .../Editor/UXGUI/Utils/UXDesinUtil.cs.meta | 11 - .../Editor/UXGUI/Utils/UXSelectionUtil.cs | 91 - .../UXGUI/Utils/UXSelectionUtil.cs.meta | 11 - .../Packages/com.alicizax.uxtool/Runtime.meta | 8 - .../Runtime/AlicizaUXTool.Runtime.asmdef | 16 - .../Runtime/AlicizaUXTool.Runtime.asmdef.meta | 7 - .../Runtime/StageEngine.cs | 79 - .../Runtime/StageEngine.cs.meta | 11 - .../Packages/com.alicizax.uxtool/package.json | 15 - .../com.alicizax.uxtool/package.json.meta | 7 - Client/Packages/packages-lock.json | 8 +- .../UIGenerateConfiguration.asset | 2 +- .../ProjectSettings/UXPrefabTabsConfig.asset | 2 + Client/UserSettings/EditorUserSettings.asset | 10 +- Client/UserSettings/Layouts/default-2022.dwlt | 159 +- 138 files changed, 368 insertions(+), 13180 deletions(-) create mode 100644 Client/Assets/Plugins/PrimeTween/Demo/Scripts/Pro.meta create mode 100644 Client/Assets/Plugins/PrimeTween/Demo/Scripts/Pro/OnClick.cs create mode 100644 Client/Assets/Plugins/PrimeTween/Demo/Scripts/Pro/OnClick.cs.meta delete mode 100644 Client/Assets/Plugins/PrimeTween/Demo/Scripts/TestAnimation.cs delete mode 100644 Client/Assets/Plugins/PrimeTween/Demo/Scripts/TestAnimation.cs.meta delete mode 100644 Client/Bundles/StandaloneWindows/DefaultPackage/Simulate/DefaultPackage.version delete mode 100644 Client/Bundles/StandaloneWindows/DefaultPackage/Simulate/DefaultPackage_Simulate.bytes delete mode 100644 Client/Bundles/StandaloneWindows/DefaultPackage/Simulate/DefaultPackage_Simulate.hash delete mode 100644 Client/Bundles/StandaloneWindows/DefaultPackage/Simulate/DefaultPackage_Simulate.json delete mode 100644 Client/Bundles/StandaloneWindows64/DefaultPackage/Simulate/DefaultPackage.version delete mode 100644 Client/Bundles/StandaloneWindows64/DefaultPackage/Simulate/DefaultPackage_Simulate.bytes delete mode 100644 Client/Bundles/StandaloneWindows64/DefaultPackage/Simulate/DefaultPackage_Simulate.hash delete mode 100644 Client/Bundles/StandaloneWindows64/DefaultPackage/Simulate/DefaultPackage_Simulate.json delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/AlicizaUXTool.Editor.asmdef delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/AlicizaUXTool.Editor.asmdef.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/AlicizaUXUIGeneratorRuleHelper.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/AlicizaUXUIGeneratorRuleHelper.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Base.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Base/ScriptableSingleton.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Base/ScriptableSingleton.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Common.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu/ContextMenuFunction.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu/ContextMenuFunction.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu/ContextMenuUtils.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu/ContextMenuUtils.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Common/Logic.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Common/Logic/FindContainerLogic.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Common/Logic/FindContainerLogic.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Common/Undo.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Common/Undo/UndoCommand.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Common/Undo/UndoCommand.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Common/Utils.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Common/Utils/Utils.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Common/Utils/Utils.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Config.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Config/UXPrefabTabsConfig.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Config/UXPrefabTabsConfig.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Def.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Def/Def_UXGUIPath.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/Def/Def_UXGUIPath.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/UIStage.prefab delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/UIStage.prefab.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/View.prefab delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/View.prefab.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Config.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Config/DesignLayout.wlt delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Config/DesignLayout.wlt.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ContextMenu.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ContextMenu/SceneViewContextMenu.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ContextMenu/SceneViewContextMenu.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerAddWindow.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerAddWindow.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerEditWindow.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerEditWindow.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerSceneOverlay.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerSceneOverlay.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Hierachy.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Hierachy/UXHierachyWindow.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Hierachy/UXHierachyWindow.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab/PrefabSingleTab.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab/PrefabSingleTab.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab/PrefabTabs.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab/PrefabTabs.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Project.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Project/UXProjectWindow.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Project/UXProjectWindow.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Resolution.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Resolution/ResolutionController.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Resolution/ResolutionController.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay/ToolBarExtension.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay/ToolBarExtension.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay/ToolbarOverlay.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay/ToolbarOverlay.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow/UXComponentCreateVisualAsset.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow/UXComponentCreateVisualAsset.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow/UXComponentCreateWindow.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow/UXComponentCreateWindow.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UXCustomSceneView.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UXCustomSceneView.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/PrefabStageUtils.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/PrefabStageUtils.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UIBuilderUtil.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UIBuilderUtil.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UXDesinUtil.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UXDesinUtil.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UXSelectionUtil.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UXSelectionUtil.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Runtime.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Runtime/AlicizaUXTool.Runtime.asmdef delete mode 100644 Client/Packages/com.alicizax.uxtool/Runtime/AlicizaUXTool.Runtime.asmdef.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/Runtime/StageEngine.cs delete mode 100644 Client/Packages/com.alicizax.uxtool/Runtime/StageEngine.cs.meta delete mode 100644 Client/Packages/com.alicizax.uxtool/package.json delete mode 100644 Client/Packages/com.alicizax.uxtool/package.json.meta diff --git a/Client/Assets/Bundles/UI/Window/UILoadUpdateWindow.prefab b/Client/Assets/Bundles/UI/Window/UILoadUpdateWindow.prefab index b2f5e82..072cdc6 100644 --- a/Client/Assets/Bundles/UI/Window/UILoadUpdateWindow.prefab +++ b/Client/Assets/Bundles/UI/Window/UILoadUpdateWindow.prefab @@ -307,7 +307,10 @@ MonoBehaviour: _controllers: - Name: Controller0 Length: 2 - _recorders: [] + - Name: ctlChange + Length: 3 + _recorders: + - {fileID: 5562764555442211541} --- !u!114 &4311531008057825966 MonoBehaviour: m_ObjectHideFlags: 0 @@ -658,7 +661,8 @@ GameObject: - component: {fileID: 7425209180716806519} - component: {fileID: 162949476695556915} - component: {fileID: 3482583127883842067} - - component: {fileID: 950606262313515452} + - component: {fileID: 6667574876542659940} + - component: {fileID: 5562764555442211541} m_Layer: 5 m_Name: ScrollView@TestList m_TagString: Untagged @@ -738,7 +742,6 @@ MonoBehaviour: m_EditorClassIdentifier: direction: 0 alignment: 2 - content: {fileID: 5086806237606523596} spacing: {x: 0, y: 5} padding: {x: 0, y: 0} scroll: 1 @@ -747,20 +750,21 @@ MonoBehaviour: wheelSpeed: 10 templates: - {fileID: 3596253569820580282} - _scrollerTypeName: AlicizaX.UI.Scroller - _scroller: {fileID: 950606262313515452} - _showScrollBar: 0 - _scrollbar: {fileID: 0} + content: {fileID: 5086806237606523596} + showScrollBar: 0 + scrollbar: {fileID: 0} _layoutManagerTypeName: AlicizaX.UI.LinearLayoutManager - _layoutManager: - rid: 6739296565164244992 + layoutManager: + rid: 6739296679894712320 + _scrollerTypeName: AlicizaX.UI.Scroller + scroller: {fileID: 6667574876542659940} references: version: 2 RefIds: - - rid: 6739296565164244992 + - rid: 6739296679894712320 type: {class: LinearLayoutManager, ns: AlicizaX.UI, asm: AlicizaX.UI.Extension} data: ---- !u!114 &950606262313515452 +--- !u!114 &6667574876542659940 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -772,6 +776,32 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7b7de4cb3a1546e4a9ade6b8dbf8af92, type: 3} m_Name: m_EditorClassIdentifier: + dragStopTime: 0 +--- !u!114 &5562764555442211541 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3365040644835594956} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 35829408994740a08c32ac2f519442f0, type: 3} + m_Name: + m_EditorClassIdentifier: + _id: 62478209 + _controller: {fileID: 2333725313425952563} + _stateEntries: + - State: + rid: 6739296679894712321 + ControllerName: Controller0 + ControllerIndex: 1 + references: + version: 2 + RefIds: + - rid: 6739296679894712321 + type: {class: GameObjectPropertyStateBase, ns: AlicizaX.UI, asm: AlicizaX.UI.Extension} + data: --- !u!1 &5796037856908370449 GameObject: m_ObjectHideFlags: 0 diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Demo.unity b/Client/Assets/Plugins/PrimeTween/Demo/Demo.unity index 6db8ade..fb1a59c 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Demo.unity +++ b/Client/Assets/Plugins/PrimeTween/Demo/Demo.unity @@ -278,7 +278,6 @@ MonoBehaviour: - {fileID: 460664918} - {fileID: 810504353} wheels: {fileID: 810504353} - timeScale: 1 --- !u!4 &182366649 Transform: m_ObjectHideFlags: 0 @@ -2820,13 +2819,16 @@ MonoBehaviour: logAllocations: 1 logFiltered: 0 logIgnored: 0 - filterAllocations: [] + filterAllocations: + - PrimeTween.Runtime + - PrimeTweenDemo ignoreAllocations: - RaycastHit.get_collider() - Component.get_transform() - Component.get_gameObject() - MeasureMemoryAllocations - DebugInfo + - Slider.set_value --- !u!114 &1755549107 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Demo_URP.unity b/Client/Assets/Plugins/PrimeTween/Demo/Demo_URP.unity index 098c9bb..3494ded 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Demo_URP.unity +++ b/Client/Assets/Plugins/PrimeTween/Demo/Demo_URP.unity @@ -38,11 +38,12 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 12 + serializedVersion: 11 m_GIWorkflowMode: 1 m_GISettings: serializedVersion: 2 @@ -53,7 +54,7 @@ LightmapSettings: m_EnableBakedLightmaps: 1 m_EnableRealtimeLightmaps: 0 m_LightmapEditorSettings: - serializedVersion: 12 + serializedVersion: 10 m_Resolution: 2 m_BakeResolution: 40 m_AtlasSize: 1024 @@ -61,7 +62,6 @@ LightmapSettings: m_AOMaxDistance: 1 m_CompAOExponent: 1 m_CompAOExponentDirect: 0 - m_ExtractAmbientOcclusion: 0 m_Padding: 2 m_LightmapParameters: {fileID: 0} m_LightmapsBakeMode: 1 @@ -76,16 +76,10 @@ LightmapSettings: m_PVRDirectSampleCount: 32 m_PVRSampleCount: 512 m_PVRBounces: 2 - m_PVREnvironmentSampleCount: 512 - m_PVREnvironmentReferencePointCount: 2048 - m_PVRFilteringMode: 2 - m_PVRDenoiserTypeDirect: 0 - m_PVRDenoiserTypeIndirect: 0 - m_PVRDenoiserTypeAO: 0 m_PVRFilterTypeDirect: 0 m_PVRFilterTypeIndirect: 0 m_PVRFilterTypeAO: 0 - m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 2 m_PVRCulling: 1 m_PVRFilteringGaussRadiusDirect: 1 m_PVRFilteringGaussRadiusIndirect: 5 @@ -93,17 +87,16 @@ LightmapSettings: m_PVRFilteringAtrousPositionSigmaDirect: 0.5 m_PVRFilteringAtrousPositionSigmaIndirect: 2 m_PVRFilteringAtrousPositionSigmaAO: 1 - m_ExportTrainingData: 0 - m_TrainingDataDestination: TrainingData - m_LightProbeSampleCountMultiplier: 4 - m_LightingDataAsset: {fileID: 112000000, guid: 64acb5532649148ad8702bd2c1c99441, type: 2} - m_LightingSettings: {fileID: 4890085278179872738, guid: 57f0c8ec6c3514d5786caf6ce528a88a, type: 2} + m_ShowResolutionOverlay: 1 + m_LightingDataAsset: {fileID: 112000000, guid: 64acb5532649148ad8702bd2c1c99441, + type: 2} + m_UseShadowmask: 1 --- !u!196 &4 NavMeshSettings: serializedVersion: 2 m_ObjectHideFlags: 0 m_BuildSettings: - serializedVersion: 3 + serializedVersion: 2 agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 @@ -116,9 +109,7 @@ NavMeshSettings: cellSize: 0.16666667 manualTileSize: 0 tileSize: 256 - buildHeightMesh: 0 - maxJobWorkers: 0 - preserveTilesOutsideBounds: 0 + accuratePlacement: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} @@ -146,14 +137,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 69086296} - serializedVersion: 2 m_LocalRotation: {x: -0, y: 0.88705486, z: -0, w: 0.46166408} m_LocalPosition: {x: 0, y: 0.72, z: -0.29} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 142301654} m_Father: {fileID: 0} + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: -1314.989, z: 0} --- !u!114 &69086298 MonoBehaviour: @@ -200,19 +190,10 @@ Camera: m_ClearFlags: 2 m_BackGroundColor: {r: 0.90588236, g: 0.72156864, b: 0.627451, a: 1} m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_Iso: 200 - m_ShutterSpeed: 0.005 - m_Aperture: 16 - m_FocusDistance: 10 - m_FocalLength: 50 - m_BladeCount: 5 - m_Curvature: {x: 2, y: 11} - m_BarrelClipping: 0.25 - m_Anamorphism: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} + m_GateFitMode: 2 + m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 x: 0 @@ -246,13 +227,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 142301651} - serializedVersion: 2 m_LocalRotation: {x: 0.20917961, y: -0, z: 0.000000007450579, w: 0.9778772} m_LocalPosition: {x: 0, y: 2.863728, z: -6.3874187} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 69086297} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &182366647 GameObject: @@ -298,7 +278,6 @@ MonoBehaviour: - {fileID: 460664918} - {fileID: 810504353} wheels: {fileID: 810504353} - timeScale: 1 --- !u!4 &182366649 Transform: m_ObjectHideFlags: 0 @@ -306,13 +285,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 182366647} - 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_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &192232450 GameObject: @@ -342,7 +320,6 @@ 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: - {fileID: 730005265} - {fileID: 414605617} @@ -350,6 +327,7 @@ RectTransform: - {fileID: 1900965550} - {fileID: 508772384} m_Father: {fileID: 2027684627} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -365,7 +343,7 @@ MonoBehaviour: m_GameObject: {fileID: 192232450} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Name: m_EditorClassIdentifier: m_Padding: @@ -379,9 +357,6 @@ MonoBehaviour: m_ChildForceExpandHeight: 0 m_ChildControlWidth: 0 m_ChildControlHeight: 0 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 --- !u!222 &192232453 CanvasRenderer: m_ObjectHideFlags: 0 @@ -429,7 +404,7 @@ MonoBehaviour: m_GameObject: {fileID: 206828973} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Name: m_EditorClassIdentifier: m_FirstSelected: {fileID: 0} @@ -442,13 +417,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 206828973} - serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -400, y: -356.47668, z: 0} m_LocalScale: {x: 0.69084626, y: 0.69084626, z: 0.69084626} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2027684627} + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &269285984 GameObject: @@ -480,10 +454,10 @@ 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: - {fileID: 1287318625} m_Father: {fileID: 192232451} + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -499,12 +473,11 @@ MonoBehaviour: m_GameObject: {fileID: 269285984} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Name: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 - m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -514,20 +487,17 @@ MonoBehaviour: m_NormalColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 0.34117648} m_HighlightedColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 0.34117648} m_PressedColor: {r: 0.6901961, g: 0.6901961, b: 0.6901961, a: 0.32156864} - m_SelectedColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 0.34117648} m_DisabledColor: {r: 0.9529412, g: 0, b: 1, a: 1} m_ColorMultiplier: 1 m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} m_DisabledSprite: {fileID: 0} m_AnimationTriggers: m_NormalTrigger: Normal m_HighlightedTrigger: Highlighted m_PressedTrigger: Pressed - m_SelectedTrigger: Highlighted m_DisabledTrigger: Disabled m_Interactable: 1 m_TargetGraphic: {fileID: 269285987} @@ -535,7 +505,6 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 269285989} - m_TargetAssemblyTypeName: m_MethodName: AnimateCameraProjection m_Mode: 1 m_Arguments: @@ -555,14 +524,12 @@ MonoBehaviour: m_GameObject: {fileID: 269285984} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -575,7 +542,6 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!222 &269285988 CanvasRenderer: m_ObjectHideFlags: 0 @@ -625,9 +591,9 @@ 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: 1161269158} + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} @@ -643,14 +609,12 @@ MonoBehaviour: m_GameObject: {fileID: 300583102} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -699,15 +663,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 315743953} - serializedVersion: 2 m_LocalRotation: {x: -0.000000021855694, y: -0, z: -0, w: 1} m_LocalPosition: {x: -0.755, y: -0.079034865, z: 0.03866959} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 911097553} - {fileID: 1933132477} m_Father: {fileID: 655457572} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &384398580 GameObject: @@ -735,14 +698,12 @@ Light: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 384398580} m_Enabled: 1 - serializedVersion: 10 + serializedVersion: 8 m_Type: 1 - m_Shape: 0 m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} m_Intensity: 1.4 m_Range: 10 m_SpotAngle: 30 - m_InnerSpotAngle: 21.802082 m_CookieSize: 10 m_Shadows: m_Type: 2 @@ -752,24 +713,6 @@ Light: m_Bias: 0.05 m_NormalBias: 0.4 m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 m_Cookie: {fileID: 0} m_DrawHalo: 0 m_Flare: {fileID: 0} @@ -777,16 +720,12 @@ Light: m_CullingMask: serializedVersion: 2 m_Bits: 4294967295 - m_RenderingLayerMask: 1 m_Lightmapping: 4 m_LightShadowCasterMode: 0 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 m_ColorTemperature: 6570 m_UseColorTemperature: 0 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_UseViewFrustumForShadowCasterCull: 1 m_ShadowRadius: 0 m_ShadowAngle: 0 --- !u!4 &384398582 @@ -796,13 +735,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 384398580} - serializedVersion: 2 m_LocalRotation: {x: 0.35355338, y: 0.35355338, z: -0.1464466, w: 0.8535535} m_LocalPosition: {x: 0, y: 3, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 45, y: 45, z: 0} --- !u!114 &384398583 MonoBehaviour: @@ -850,10 +788,10 @@ 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: - {fileID: 1113543885} m_Father: {fileID: 192232451} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -882,12 +820,11 @@ MonoBehaviour: m_GameObject: {fileID: 414605616} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Name: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 - m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -897,20 +834,17 @@ MonoBehaviour: m_NormalColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 0.34117648} m_HighlightedColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 0.34117648} m_PressedColor: {r: 0.6901961, g: 0.6901961, b: 0.6901961, a: 0.32156864} - m_SelectedColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 0.34117648} m_DisabledColor: {r: 0.9529412, g: 0, b: 1, a: 1} m_ColorMultiplier: 1 m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} m_DisabledSprite: {fileID: 0} m_AnimationTriggers: m_NormalTrigger: Normal m_HighlightedTrigger: Highlighted m_PressedTrigger: Pressed - m_SelectedTrigger: Highlighted m_DisabledTrigger: Disabled m_Interactable: 1 m_TargetGraphic: {fileID: 414605620} @@ -918,7 +852,6 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 414605618} - m_TargetAssemblyTypeName: m_MethodName: PlayAnimation m_Mode: 1 m_Arguments: @@ -938,14 +871,12 @@ MonoBehaviour: m_GameObject: {fileID: 414605616} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -958,7 +889,6 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!222 &414605621 CanvasRenderer: m_ObjectHideFlags: 0 @@ -991,14 +921,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 460664916} - serializedVersion: 2 m_LocalRotation: {x: -0, y: 1, z: -0, w: 0} m_LocalPosition: {x: -1.09, y: 0, z: -0.36} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1077484924} m_Father: {fileID: 0} + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &460664918 MonoBehaviour: @@ -1090,13 +1019,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 480829268} - serializedVersion: 2 m_LocalRotation: {x: 0.000000059604645, y: 0, z: -0, w: 1} m_LocalPosition: {x: -0, y: -0.000000014899477, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 655457572} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!64 &480829270 MeshCollider: @@ -1106,19 +1034,11 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 480829268} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 5 + serializedVersion: 3 m_Convex: 0 - m_CookingOptions: 30 + m_CookingOptions: 14 m_Mesh: {fileID: 4300032, guid: c9da341d2d3a64cf8b2adc9bba8ec9ec, type: 3} --- !u!23 &480829271 MeshRenderer: @@ -1131,12 +1051,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1148,7 +1065,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -1161,7 +1077,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &480829272 MeshFilter: m_ObjectHideFlags: 0 @@ -1199,10 +1114,10 @@ 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: - {fileID: 1902477809} m_Father: {fileID: 192232451} + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -1218,12 +1133,11 @@ MonoBehaviour: m_GameObject: {fileID: 508772383} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Name: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 - m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -1233,20 +1147,17 @@ MonoBehaviour: m_NormalColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 0.34117648} m_HighlightedColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 0.34117648} m_PressedColor: {r: 0.6901961, g: 0.6901961, b: 0.6901961, a: 0.32156864} - m_SelectedColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 0.34117648} m_DisabledColor: {r: 0.9529412, g: 0, b: 1, a: 1} m_ColorMultiplier: 1 m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} m_DisabledSprite: {fileID: 0} m_AnimationTriggers: m_NormalTrigger: Normal m_HighlightedTrigger: Highlighted m_PressedTrigger: Pressed - m_SelectedTrigger: Highlighted m_DisabledTrigger: Disabled m_Interactable: 1 m_TargetGraphic: {fileID: 508772386} @@ -1254,7 +1165,6 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 810504353} - m_TargetAssemblyTypeName: m_MethodName: OnClick m_Mode: 1 m_Arguments: @@ -1274,14 +1184,12 @@ MonoBehaviour: m_GameObject: {fileID: 508772383} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -1294,7 +1202,6 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!222 &508772387 CanvasRenderer: m_ObjectHideFlags: 0 @@ -1328,16 +1235,15 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 655457571} - serializedVersion: 2 m_LocalRotation: {x: 0.000000021855694, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0.65403485, z: 2.3863304} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 480829269} - {fileID: 315743954} - {fileID: 759060660} m_Father: {fileID: 543450652013950231} + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &655457573 MonoBehaviour: @@ -1462,13 +1368,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 671979174} - serializedVersion: 2 m_LocalRotation: {x: 0.24988215, y: -0, z: -0, w: 0.96827626} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 759060660} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 28.941002, y: 0, z: 0} --- !u!108 &671979176 Light: @@ -1478,14 +1383,12 @@ Light: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 671979174} m_Enabled: 1 - serializedVersion: 10 + serializedVersion: 8 m_Type: 0 - m_Shape: 0 m_Color: {r: 1, g: 1, b: 1, a: 1} m_Intensity: 0 m_Range: 10 m_SpotAngle: 83 - m_InnerSpotAngle: 64.90425 m_CookieSize: 10 m_Shadows: m_Type: 0 @@ -1495,24 +1398,6 @@ Light: m_Bias: 0.05 m_NormalBias: 0.4 m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 m_Cookie: {fileID: 0} m_DrawHalo: 0 m_Flare: {fileID: 0} @@ -1520,16 +1405,12 @@ Light: m_CullingMask: serializedVersion: 2 m_Bits: 4294967295 - m_RenderingLayerMask: 1 m_Lightmapping: 4 m_LightShadowCasterMode: 0 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 m_ColorTemperature: 6570 m_UseColorTemperature: 0 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_UseViewFrustumForShadowCasterCull: 1 m_ShadowRadius: 0 m_ShadowAngle: 0 --- !u!1 &730005264 @@ -1562,10 +1443,10 @@ 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: - {fileID: 1088776685} m_Father: {fileID: 192232451} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -1594,12 +1475,11 @@ MonoBehaviour: m_GameObject: {fileID: 730005264} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Name: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 - m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -1609,20 +1489,17 @@ MonoBehaviour: m_NormalColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 0.34117648} m_HighlightedColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 0.34117648} m_PressedColor: {r: 0.6901961, g: 0.6901961, b: 0.6901961, a: 0.32156864} - m_SelectedColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 0.34117648} m_DisabledColor: {r: 0.9529412, g: 0, b: 1, a: 1} m_ColorMultiplier: 1 m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} m_DisabledSprite: {fileID: 0} m_AnimationTriggers: m_NormalTrigger: Normal m_HighlightedTrigger: Highlighted m_PressedTrigger: Pressed - m_SelectedTrigger: Highlighted m_DisabledTrigger: Disabled m_Interactable: 1 m_TargetGraphic: {fileID: 730005268} @@ -1630,7 +1507,6 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 730005266} - m_TargetAssemblyTypeName: m_MethodName: PlayAnimation m_Mode: 1 m_Arguments: @@ -1650,14 +1526,12 @@ MonoBehaviour: m_GameObject: {fileID: 730005264} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -1670,7 +1544,6 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!222 &730005269 CanvasRenderer: m_ObjectHideFlags: 0 @@ -1702,15 +1575,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 759060659} - serializedVersion: 2 m_LocalRotation: {x: -0.000000021855694, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0.753, y: -0.079034865, z: 0.03866959} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 671979175} - {fileID: 1453060463} m_Father: {fileID: 655457572} + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &795061382 GameObject: @@ -1740,9 +1612,9 @@ 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: 1755549104} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -1758,14 +1630,12 @@ MonoBehaviour: m_GameObject: {fileID: 795061382} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -1850,9 +1720,9 @@ 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: 1900965550} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} @@ -1868,14 +1738,12 @@ MonoBehaviour: m_GameObject: {fileID: 822037459} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -1939,13 +1807,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 843756320} - 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_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &911097552 GameObject: @@ -1971,13 +1838,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 911097552} - serializedVersion: 2 m_LocalRotation: {x: 0.24988215, y: -0, z: -0, w: 0.96827626} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 315743954} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 28.941002, y: 0, z: 0} --- !u!108 &911097554 Light: @@ -1987,14 +1853,12 @@ Light: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 911097552} m_Enabled: 1 - serializedVersion: 10 + serializedVersion: 8 m_Type: 0 - m_Shape: 0 m_Color: {r: 1, g: 1, b: 1, a: 1} m_Intensity: 0 m_Range: 10 m_SpotAngle: 83 - m_InnerSpotAngle: 64.90425 m_CookieSize: 10 m_Shadows: m_Type: 0 @@ -2004,24 +1868,6 @@ Light: m_Bias: 0.05 m_NormalBias: 0.4 m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 m_Cookie: {fileID: 0} m_DrawHalo: 0 m_Flare: {fileID: 0} @@ -2029,16 +1875,12 @@ Light: m_CullingMask: serializedVersion: 2 m_Bits: 4294967295 - m_RenderingLayerMask: 1 m_Lightmapping: 4 m_LightShadowCasterMode: 0 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 m_ColorTemperature: 6570 m_UseColorTemperature: 0 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_UseViewFrustumForShadowCasterCull: 1 m_ShadowRadius: 0 m_ShadowAngle: 0 --- !u!1 &1077484920 @@ -2070,12 +1912,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2087,7 +1926,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -2100,7 +1938,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1077484923 MeshFilter: m_ObjectHideFlags: 0 @@ -2116,13 +1953,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1077484920} - serializedVersion: 2 m_LocalRotation: {x: -0, y: 0.38268304, z: -0, w: 0.92387974} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 100, y: 1, z: 100} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 460664917} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 45, z: 0} --- !u!1 &1080535449 GameObject: @@ -2152,9 +1988,9 @@ 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: 1161269158} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.25} m_AnchorMax: {x: 1, y: 0.75} @@ -2170,14 +2006,12 @@ MonoBehaviour: m_GameObject: {fileID: 1080535449} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -2190,7 +2024,6 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!222 &1080535452 CanvasRenderer: m_ObjectHideFlags: 0 @@ -2227,9 +2060,9 @@ 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: 730005265} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} @@ -2245,14 +2078,12 @@ MonoBehaviour: m_GameObject: {fileID: 1088776684} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -2306,9 +2137,9 @@ 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: 414605617} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} @@ -2324,14 +2155,12 @@ MonoBehaviour: m_GameObject: {fileID: 1113543884} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -2384,13 +2213,13 @@ 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: - {fileID: 1080535450} - {fileID: 1859953128} - {fileID: 2061135563} - {fileID: 300583103} m_Father: {fileID: 2027684627} + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 0} @@ -2406,12 +2235,11 @@ MonoBehaviour: m_GameObject: {fileID: 1161269157} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Script: {fileID: -113659843, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Name: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 - m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -2421,20 +2249,17 @@ MonoBehaviour: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_ColorMultiplier: 1 m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} m_DisabledSprite: {fileID: 0} m_AnimationTriggers: m_NormalTrigger: Normal m_HighlightedTrigger: Highlighted m_PressedTrigger: Pressed - m_SelectedTrigger: Highlighted m_DisabledTrigger: Disabled m_Interactable: 1 m_TargetGraphic: {fileID: 1703196966} @@ -2476,9 +2301,9 @@ 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: 269285985} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} @@ -2494,14 +2319,12 @@ MonoBehaviour: m_GameObject: {fileID: 1287318624} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -2551,13 +2374,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1453060462} - serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0.179} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 759060660} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!108 &1453060464 Light: @@ -2567,14 +2389,12 @@ Light: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1453060462} m_Enabled: 1 - serializedVersion: 10 + serializedVersion: 8 m_Type: 2 - m_Shape: 0 m_Color: {r: 1, g: 1, b: 1, a: 1} m_Intensity: 0 m_Range: 10 m_SpotAngle: 30 - m_InnerSpotAngle: 21.802082 m_CookieSize: 10 m_Shadows: m_Type: 0 @@ -2584,24 +2404,6 @@ Light: m_Bias: 0.05 m_NormalBias: 0.4 m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 m_Cookie: {fileID: 0} m_DrawHalo: 0 m_Flare: {fileID: 0} @@ -2609,16 +2411,12 @@ Light: m_CullingMask: serializedVersion: 2 m_Bits: 4294967295 - m_RenderingLayerMask: 1 m_Lightmapping: 4 m_LightShadowCasterMode: 0 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 m_ColorTemperature: 6570 m_UseColorTemperature: 0 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_UseViewFrustumForShadowCasterCull: 1 m_ShadowRadius: 0 m_ShadowAngle: 0 --- !u!114 &1526516044 @@ -2676,9 +2474,9 @@ 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: 1755549104} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -2694,14 +2492,12 @@ MonoBehaviour: m_GameObject: {fileID: 1549457030} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -2756,9 +2552,9 @@ 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: 2027684627} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0} m_AnchorMax: {x: 0.5, y: 0} @@ -2786,14 +2582,12 @@ MonoBehaviour: m_GameObject: {fileID: 1619205709} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -2901,9 +2695,9 @@ 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: 2061135563} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -2919,14 +2713,12 @@ MonoBehaviour: m_GameObject: {fileID: 1703196964} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -2939,7 +2731,6 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!222 &1703196967 CanvasRenderer: m_ObjectHideFlags: 0 @@ -2979,11 +2770,11 @@ 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: - {fileID: 1549457031} - {fileID: 795061383} m_Father: {fileID: 2027684627} + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} @@ -2999,7 +2790,7 @@ MonoBehaviour: m_GameObject: {fileID: 1755549103} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Name: m_EditorClassIdentifier: m_Padding: @@ -3013,9 +2804,6 @@ MonoBehaviour: m_ChildForceExpandHeight: 1 m_ChildControlWidth: 1 m_ChildControlHeight: 1 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 --- !u!114 &1755549106 MonoBehaviour: m_ObjectHideFlags: 0 @@ -3031,13 +2819,16 @@ MonoBehaviour: logAllocations: 1 logFiltered: 0 logIgnored: 0 - filterAllocations: [] + filterAllocations: + - PrimeTween.Runtime + - PrimeTweenDemo ignoreAllocations: - RaycastHit.get_collider() - Component.get_transform() - Component.get_gameObject() - MeasureMemoryAllocations - DebugInfo + - Slider.set_value --- !u!114 &1755549107 MonoBehaviour: m_ObjectHideFlags: 0 @@ -3062,14 +2853,12 @@ MonoBehaviour: m_GameObject: {fileID: 1755549103} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 0.6981132, g: 0.6981132, b: 0.6981132, a: 0.28627452} m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] @@ -3082,7 +2871,6 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!222 &1755549109 CanvasRenderer: m_ObjectHideFlags: 0 @@ -3117,10 +2905,10 @@ 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: - {fileID: 2107903321} m_Father: {fileID: 1161269158} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.25} m_AnchorMax: {x: 1, y: 0.75} @@ -3186,10 +2974,10 @@ 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: - {fileID: 822037460} m_Father: {fileID: 192232451} + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -3205,12 +2993,11 @@ MonoBehaviour: m_GameObject: {fileID: 1900965549} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Name: m_EditorClassIdentifier: m_Navigation: m_Mode: 3 - m_WrapAround: 0 m_SelectOnUp: {fileID: 0} m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} @@ -3220,20 +3007,17 @@ MonoBehaviour: m_NormalColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 0.34117648} m_HighlightedColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 0.34117648} m_PressedColor: {r: 0.6901961, g: 0.6901961, b: 0.6901961, a: 0.32156864} - m_SelectedColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 0.34117648} m_DisabledColor: {r: 0.9529412, g: 0, b: 1, a: 1} m_ColorMultiplier: 1 m_FadeDuration: 0.1 m_SpriteState: m_HighlightedSprite: {fileID: 0} m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} m_DisabledSprite: {fileID: 0} m_AnimationTriggers: m_NormalTrigger: Normal m_HighlightedTrigger: Highlighted m_PressedTrigger: Pressed - m_SelectedTrigger: Highlighted m_DisabledTrigger: Disabled m_Interactable: 1 m_TargetGraphic: {fileID: 1900965553} @@ -3241,7 +3025,6 @@ MonoBehaviour: m_PersistentCalls: m_Calls: - m_Target: {fileID: 69086298} - m_TargetAssemblyTypeName: m_MethodName: ShakeCamera m_Mode: 1 m_Arguments: @@ -3261,14 +3044,12 @@ MonoBehaviour: m_GameObject: {fileID: 1900965549} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -3281,7 +3062,6 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!222 &1900965554 CanvasRenderer: m_ObjectHideFlags: 0 @@ -3318,9 +3098,9 @@ 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: 508772384} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} @@ -3336,14 +3116,12 @@ MonoBehaviour: m_GameObject: {fileID: 1902477808} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -3397,9 +3175,9 @@ 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: 2027684627} + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1} @@ -3453,13 +3231,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1933132476} - serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0.179} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 315743954} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!108 &1933132478 Light: @@ -3469,14 +3246,12 @@ Light: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1933132476} m_Enabled: 1 - serializedVersion: 10 + serializedVersion: 8 m_Type: 2 - m_Shape: 0 m_Color: {r: 1, g: 1, b: 1, a: 1} m_Intensity: 0 m_Range: 10 m_SpotAngle: 30 - m_InnerSpotAngle: 21.802082 m_CookieSize: 10 m_Shadows: m_Type: 0 @@ -3486,24 +3261,6 @@ Light: m_Bias: 0.05 m_NormalBias: 0.4 m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 m_Cookie: {fileID: 0} m_DrawHalo: 0 m_Flare: {fileID: 0} @@ -3511,16 +3268,12 @@ Light: m_CullingMask: serializedVersion: 2 m_Bits: 4294967295 - m_RenderingLayerMask: 1 m_Lightmapping: 4 m_LightShadowCasterMode: 0 m_AreaSize: {x: 1, y: 1} m_BounceIntensity: 1 m_ColorTemperature: 6570 m_UseColorTemperature: 0 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_UseViewFrustumForShadowCasterCull: 1 m_ShadowRadius: 0 m_ShadowAngle: 0 --- !u!114 &1946040352 @@ -3577,7 +3330,7 @@ MonoBehaviour: m_GameObject: {fileID: 2027684623} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Name: m_EditorClassIdentifier: m_IgnoreReversedGraphics: 1 @@ -3594,7 +3347,7 @@ MonoBehaviour: m_GameObject: {fileID: 2027684623} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Name: m_EditorClassIdentifier: m_UiScaleMode: 1 @@ -3607,7 +3360,6 @@ MonoBehaviour: m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 - m_PresetInfoIsWorld: 0 --- !u!223 &2027684626 Canvas: m_ObjectHideFlags: 0 @@ -3625,9 +3377,7 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 - m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 - m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 @@ -3641,7 +3391,6 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0, y: 0, z: 0} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 192232451} - {fileID: 1619205710} @@ -3650,6 +3399,7 @@ RectTransform: - {fileID: 1161269158} - {fileID: 1920139812} m_Father: {fileID: 0} + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -3682,10 +3432,10 @@ 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: - {fileID: 1703196965} m_Father: {fileID: 1161269158} + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} @@ -3720,9 +3470,9 @@ 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: 1859953128} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -3738,14 +3488,12 @@ MonoBehaviour: m_GameObject: {fileID: 2107903320} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, 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: [] @@ -3758,7 +3506,6 @@ MonoBehaviour: m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!222 &2107903323 CanvasRenderer: m_ObjectHideFlags: 0 @@ -3774,14 +3521,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6291292912582762050} - serializedVersion: 2 m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071067} m_LocalPosition: {x: -0.22998282, y: 2.7259037, z: -1.4789121} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 8272619152164736657} m_Father: {fileID: 543450652013950231} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &172780826922127087 Transform: @@ -3790,14 +3536,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5769078734430259581} - serializedVersion: 2 m_LocalRotation: {x: 0, y: -2.3140616e-30, z: -0, w: 1} m_LocalPosition: {x: -0, y: -0.0000000120113945, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 7119166486829381719} m_Father: {fileID: 5596421173225246262} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!23 &382836270145210570 MeshRenderer: @@ -3810,12 +3555,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3827,7 +3569,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3840,7 +3581,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!64 &482691359192624379 MeshCollider: m_ObjectHideFlags: 0 @@ -3849,17 +3589,9 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1454953783326346074} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 5 + serializedVersion: 3 m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 4300010, guid: c9da341d2d3a64cf8b2adc9bba8ec9ec, type: 3} @@ -3870,13 +3602,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2694482714574987048} - serializedVersion: 2 m_LocalRotation: {x: 0.00000008146034, y: 0, z: -0, w: 1} m_LocalPosition: {x: -0, y: 0.30891964, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 543450652013950231} + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &543450652013950231 Transform: @@ -3885,11 +3616,9 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 919132147486207917} - 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: - {fileID: 95317135125387569} - {fileID: 5596421173225246262} @@ -3902,6 +3631,7 @@ Transform: - {fileID: 8614371467897437538} - {fileID: 655457572} m_Father: {fileID: 0} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!23 &868337851955314430 MeshRenderer: @@ -3914,12 +3644,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3931,7 +3658,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -3944,7 +3670,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &919132147486207917 GameObject: m_ObjectHideFlags: 0 @@ -4002,13 +3727,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1834832845902164278} - 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: 8272619152164736657} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!23 &1171545932194268010 MeshRenderer: @@ -4021,12 +3745,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -4038,7 +3759,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4051,7 +3771,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!23 &1174928188556136133 MeshRenderer: m_ObjectHideFlags: 0 @@ -4063,12 +3782,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -4080,7 +3796,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4093,7 +3808,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!4 &1324398456776219820 Transform: m_ObjectHideFlags: 0 @@ -4101,13 +3815,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3802291232760194840} - serializedVersion: 2 m_LocalRotation: {x: 0.00000008146034, y: 0, z: -0, w: 1} m_LocalPosition: {x: -0, y: 1.3254354, z: 1.2354684} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 543450652013950231} + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &1343927956986588318 MeshFilter: @@ -4128,12 +3841,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -4145,7 +3855,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4158,7 +3867,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!23 &1370731719672604263 MeshRenderer: m_ObjectHideFlags: 0 @@ -4170,12 +3878,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -4187,7 +3892,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4200,7 +3904,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &1399470409057338219 GameObject: m_ObjectHideFlags: 0 @@ -4224,15 +3927,15 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4651293638409442919} - serializedVersion: 2 - m_LocalRotation: {x: -4.8343667e-14, y: -0.000000061212965, z: 0.0000004897039, w: 1} + m_LocalRotation: {x: -4.8343667e-14, y: -0.000000061212965, z: 0.0000004897039, + w: 1} m_LocalPosition: {x: -0, y: 0.00000001756581, z: 0.00000011920929} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 5811884583841482940} - {fileID: 1920425508572067436} m_Father: {fileID: 7842203396053052413} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1454953783326346074 GameObject: @@ -4269,17 +3972,9 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4642532271868578956} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 5 + serializedVersion: 3 m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 4300008, guid: c9da341d2d3a64cf8b2adc9bba8ec9ec, type: 3} @@ -4309,13 +4004,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6843584649582098237} - serializedVersion: 2 m_LocalRotation: {x: 0.9360078, y: -0.00000057927593, z: 0.3519793, w: -0.00000003444576} m_LocalPosition: {x: -2.210752, y: 0.66151613, z: 0.86207104} m_LocalScale: {x: 0.99999976, y: 1, z: 0.99999976} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1441162320435695677} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &1957376192961816002 MeshFilter: @@ -4332,17 +4026,16 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7703323664971899662} - 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: - {fileID: 4185769961175156060} - {fileID: 7375368130044152401} - {fileID: 3640928673919294776} - {fileID: 8214177323173603408} m_Father: {fileID: 8614371467897437538} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2694482714574987048 GameObject: @@ -4369,14 +4062,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6438736019791643338} - serializedVersion: 2 m_LocalRotation: {x: 0, y: -2.3140616e-30, z: -0, w: 1} m_LocalPosition: {x: -0, y: 0.000000023258746, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 9120391027429686458} m_Father: {fileID: 6302706739155191070} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2733681770876101857 GameObject: @@ -4408,12 +4100,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -4425,7 +4114,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4438,7 +4126,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &3006387494640674227 GameObject: m_ObjectHideFlags: 0 @@ -4502,14 +4189,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5520051320514970037} - serializedVersion: 2 m_LocalRotation: {x: 0.000000015454313, y: 0.70710677, z: -0.000000015454312, w: 0.7071068} m_LocalPosition: {x: 1.0949476, y: 0.9704342, z: 2.1051562} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 7842203396053052413} m_Father: {fileID: 543450652013950231} + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!23 &3191571841974369270 MeshRenderer: @@ -4522,12 +4208,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -4539,7 +4222,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4552,7 +4234,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!23 &3199042364890404102 MeshRenderer: m_ObjectHideFlags: 0 @@ -4564,12 +4245,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -4581,7 +4259,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4594,7 +4271,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!4 &3271767513617999204 Transform: m_ObjectHideFlags: 0 @@ -4602,15 +4278,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6252852214270557190} - 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: - {fileID: 3519659678996002217} - {fileID: 8955083193884922905} m_Father: {fileID: 4914293776580820246} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &3419681041113134397 MeshFilter: @@ -4646,13 +4321,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6611973956703832923} - serializedVersion: 2 m_LocalRotation: {x: 0.54812384, y: 0.54812384, z: 0.4467217, w: 0.44672164} m_LocalPosition: {x: -0.00000023841858, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 3271767513617999204} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &3623644531452767477 MeshFilter: @@ -4669,13 +4343,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2733681770876101857} - serializedVersion: 2 m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0.9920766, y: 1.0288258, z: -0.0347642} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2590561584456245742} + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &3759489000277892601 GameObject: @@ -4734,13 +4407,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3006387494640674227} - serializedVersion: 2 m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -0.9920766, y: 1.0288258, z: -0.0347642} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2590561584456245742} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!64 &4247479592392523373 MeshCollider: @@ -4750,17 +4422,9 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6004201493088789044} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 5 + serializedVersion: 3 m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 4300022, guid: c9da341d2d3a64cf8b2adc9bba8ec9ec, type: 3} @@ -4771,13 +4435,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6435797359462470268} - serializedVersion: 2 m_LocalRotation: {x: 0.00000013621633, y: 0.905096, z: -0.000000125865, w: 0.42520732} m_LocalPosition: {x: -2.3136199, y: -0.66151446, z: 0.50435114} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 7119166486829381719} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &4642532271868578956 GameObject: @@ -4839,14 +4502,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1399470409057338219} - serializedVersion: 2 m_LocalRotation: {x: 0.5, y: -0.49999997, z: -0.5, w: -0.5} m_LocalPosition: {x: -0, y: -0.0000001180379, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 3271767513617999204} m_Father: {fileID: 7345334598355961312} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!64 &5106260460584101894 MeshCollider: @@ -4856,17 +4518,9 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7388158607944762906} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 5 + serializedVersion: 3 m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 4300016, guid: c9da341d2d3a64cf8b2adc9bba8ec9ec, type: 3} @@ -4878,17 +4532,9 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2733681770876101857} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 5 + serializedVersion: 3 m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 4300024, guid: c9da341d2d3a64cf8b2adc9bba8ec9ec, type: 3} @@ -4911,12 +4557,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -4928,7 +4571,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -4941,7 +4583,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!64 &5381014078299772781 MeshCollider: m_ObjectHideFlags: 0 @@ -4950,17 +4591,9 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5663755497419489490} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 5 + serializedVersion: 3 m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 4300012, guid: c9da341d2d3a64cf8b2adc9bba8ec9ec, type: 3} @@ -4972,17 +4605,9 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3006387494640674227} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 5 + serializedVersion: 3 m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 4300020, guid: c9da341d2d3a64cf8b2adc9bba8ec9ec, type: 3} @@ -5011,14 +4636,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7530153028561895661} - serializedVersion: 2 m_LocalRotation: {x: 0.000000015454313, y: -0.70710677, z: 0.000000015454312, w: 0.7071068} m_LocalPosition: {x: -1.0888067, y: 0.97043407, z: 2.1027858} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 172780826922127087} m_Father: {fileID: 543450652013950231} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!64 &5657825584776022733 MeshCollider: @@ -5028,17 +4652,9 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3140191690125254210} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 5 + serializedVersion: 3 m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 4300030, guid: c9da341d2d3a64cf8b2adc9bba8ec9ec, type: 3} @@ -5069,17 +4685,9 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6611973956703832923} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 5 + serializedVersion: 3 m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 4300028, guid: c9da341d2d3a64cf8b2adc9bba8ec9ec, type: 3} @@ -5106,13 +4714,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7388158607944762906} - serializedVersion: 2 m_LocalRotation: {x: 0.9360078, y: -0.00000057927593, z: 0.3519793, w: -0.00000003444576} m_LocalPosition: {x: -2.210752, y: 0.66151613, z: 0.86207104} m_LocalScale: {x: 0.99999976, y: 1, z: 0.99999976} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1441162320435695677} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &6004201493088789044 GameObject: @@ -5160,12 +4767,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -5177,7 +4781,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5190,7 +4793,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &6252852214270557190 GameObject: m_ObjectHideFlags: 0 @@ -5232,14 +4834,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4680849219148963205} - serializedVersion: 2 m_LocalRotation: {x: 0.000000015454313, y: -0.70710677, z: 0.000000015454312, w: 0.7071068} m_LocalPosition: {x: -1.2138957, y: 0.3600602, z: -1.4809437} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 2707615149424617030} m_Father: {fileID: 543450652013950231} + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &6435797359462470268 GameObject: @@ -5287,12 +4888,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -5304,7 +4902,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5317,7 +4914,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &6553321204619296590 MeshFilter: m_ObjectHideFlags: 0 @@ -5361,17 +4957,9 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3423717910921782154} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 5 + serializedVersion: 3 m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 4300026, guid: c9da341d2d3a64cf8b2adc9bba8ec9ec, type: 3} @@ -5382,13 +4970,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5663755497419489490} - serializedVersion: 2 m_LocalRotation: {x: 0.000000099748036, y: 0.7071067, z: -0.00000009974802, w: 0.7071068} m_LocalPosition: {x: 0.0012955666, y: 1.3280718, z: 0.007947803} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 9120391027429686458} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &6843584649582098237 GameObject: @@ -5416,15 +5003,15 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 9038607207086042419} - serializedVersion: 2 - m_LocalRotation: {x: -3.1711317e-15, y: -0.00000007093701, z: 0.000000026011023, w: 1} + m_LocalRotation: {x: -3.1711317e-15, y: -0.00000007093701, z: 0.000000026011023, + w: 1} m_LocalPosition: {x: -0, y: 0.00000010719789, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4268089046573804721} - {fileID: 8179810329907547395} m_Father: {fileID: 172780826922127087} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!64 &7151003084770373271 MeshCollider: @@ -5434,17 +5021,9 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6843584649582098237} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 5 + serializedVersion: 3 m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 4300018, guid: c9da341d2d3a64cf8b2adc9bba8ec9ec, type: 3} @@ -5455,14 +5034,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 9058890211913245811} - serializedVersion: 2 m_LocalRotation: {x: 1.7112914e-15, y: 1, z: -0.000000021855694, w: 0.0000000754979} m_LocalPosition: {x: -6.344926e-18, y: 2.246028, z: -2.7539887} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4914293776580820246} m_Father: {fileID: 543450652013950231} + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &7375368130044152401 Transform: @@ -5471,13 +5049,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6004201493088789044} - serializedVersion: 2 m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0.9920766, y: -1.7450808, z: -0.034764405} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2590561584456245742} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &7388158607944762906 GameObject: @@ -5547,14 +5124,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3815856358122545974} - serializedVersion: 2 m_LocalRotation: {x: -0.000000059604645, y: 0.0000000437114, z: 1, w: -0.00000019470718} m_LocalPosition: {x: -0, y: -0.000000011742969, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1441162320435695677} m_Father: {fileID: 3186703855294423644} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &7865082802916841334 MeshFilter: @@ -5580,17 +5156,9 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6435797359462470268} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 5 + serializedVersion: 3 m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 4300006, guid: c9da341d2d3a64cf8b2adc9bba8ec9ec, type: 3} @@ -5605,12 +5173,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -5622,7 +5187,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5635,7 +5199,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!23 &8096064714667366686 MeshRenderer: m_ObjectHideFlags: 0 @@ -5647,12 +5210,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -5664,7 +5224,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5677,7 +5236,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!4 &8179810329907547395 Transform: m_ObjectHideFlags: 0 @@ -5685,13 +5243,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4642532271868578956} - serializedVersion: 2 m_LocalRotation: {x: 0.00000013621633, y: 0.905096, z: -0.000000125865, w: 0.42520732} m_LocalPosition: {x: -2.3136199, y: -0.66151446, z: 0.50435114} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 7119166486829381719} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &8214177323173603408 Transform: @@ -5700,13 +5257,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3423717910921782154} - serializedVersion: 2 m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -0.9920766, y: -1.7450808, z: -0.034764405} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2590561584456245742} + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &8272619152164736657 Transform: @@ -5715,14 +5271,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1139639555779975955} - 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: - {fileID: 1139714121598866790} m_Father: {fileID: 95317135125387569} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &8295461951754712187 MeshFilter: @@ -5748,17 +5303,9 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1834832845902164278} m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 m_IsTrigger: 0 - m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 5 + serializedVersion: 3 m_Convex: 1 m_CookingOptions: 30 m_Mesh: {fileID: 4300014, guid: c9da341d2d3a64cf8b2adc9bba8ec9ec, type: 3} @@ -5773,12 +5320,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -5790,7 +5334,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5803,7 +5346,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!4 &8614371467897437538 Transform: m_ObjectHideFlags: 0 @@ -5811,14 +5353,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1024366685134399085} - serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: 0, z: -0, w: 0.7071067} m_LocalPosition: {x: -0, y: 0.39952204, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 2590561584456245742} m_Father: {fileID: 543450652013950231} + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &8728280931639377909 MeshFilter: @@ -5835,13 +5376,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1454953783326346074} - serializedVersion: 2 m_LocalRotation: {x: 0.000000099748036, y: 0.7071067, z: -0.00000009974802, w: 0.7071068} m_LocalPosition: {x: -0, y: -0.00000012575286, z: 0.00000011920929} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 9120391027429686458} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &8949606274296942739 Transform: @@ -5850,13 +5390,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3115097983429087125} - serializedVersion: 2 m_LocalRotation: {x: 0.00000008146034, y: 0, z: -0, w: 1} m_LocalPosition: {x: -0, y: 0.30891964, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 543450652013950231} + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &8955083193884922905 Transform: @@ -5865,13 +5404,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3140191690125254210} - serializedVersion: 2 m_LocalRotation: {x: 0.54812384, y: 0.54812384, z: 0.4467217, w: 0.44672164} m_LocalPosition: {x: 2.3065257, y: 0.0000002092075, z: -2.4529128} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 3271767513617999204} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!23 &9015279149317773823 MeshRenderer: @@ -5884,12 +5422,9 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -5901,7 +5436,6 @@ MeshRenderer: m_ProbeAnchor: {fileID: 0} m_LightProbeVolumeOverride: {fileID: 0} m_ScaleInLightmap: 1 - m_ReceiveGI: 1 m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 @@ -5914,7 +5448,6 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &9038607207086042419 GameObject: m_ObjectHideFlags: 0 @@ -5956,24 +5489,12 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3759489000277892601} - serializedVersion: 2 m_LocalRotation: {x: 0, y: -2.3140616e-30, z: -0, w: 1} m_LocalPosition: {x: -0, y: -0.00000000654358, z: -0.00000011920929} m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 m_Children: - {fileID: 8884403382647605949} - {fileID: 6826833664794589208} m_Father: {fileID: 2707615149424617030} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1660057539 &9223372036854775807 -SceneRoots: - m_ObjectHideFlags: 0 - m_Roots: - - {fileID: 182366649} - - {fileID: 543450652013950231} - - {fileID: 384398582} - - {fileID: 69086297} - - {fileID: 843756322} - - {fileID: 460664917} - - {fileID: 2027684627} diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Animatable.cs b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Animatable.cs index 63354d5..e9affe6 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Animatable.cs +++ b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Animatable.cs @@ -10,25 +10,5 @@ namespace PrimeTweenDemo { public abstract class Animatable : Clickable { public abstract Sequence Animate(bool toEndValue); } - - #if UNITY_EDITOR - [UnityEditor.CustomEditor(typeof(Clickable), true), UnityEditor.CanEditMultipleObjects] - internal class InspectorWithButton : UnityEditor.Editor { - GUIStyle boldButtonStyle; - - public override void OnInspectorGUI() { - DrawDefaultInspector(); - GUILayout.Space(8); - if (boldButtonStyle == null) { - boldButtonStyle = new GUIStyle(GUI.skin.button) { fontStyle = FontStyle.Bold }; - } - if (GUILayout.Button("Play Animation", boldButtonStyle)) { - foreach (var t in targets) { - (t as Clickable).OnClick(); - } - } - } - } - #endif } #endif diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Baggage.cs b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Baggage.cs index 14ab709..a5d5ee2 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Baggage.cs +++ b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Baggage.cs @@ -18,7 +18,8 @@ namespace PrimeTweenDemo { Sequence PlayFlipAnimation() { if (!sequence.isAlive) { const float jumpDuration = 0.3f; - sequence = Tween.LocalPositionZ(animationAnchor, 0.2f, jumpDuration) + sequence = Sequence.Create() + .Chain(Tween.LocalPositionZ(animationAnchor, 0.2f, jumpDuration)) .Chain(Tween.LocalEulerAngles(animationAnchor, Vector3.zero, new Vector3(0, 360, 0), 0.9f, Ease.InOutBack)) .Chain(Tween.LocalPositionZ(animationAnchor, 0, jumpDuration)); } diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Demo.cs b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Demo.cs index 60b4f46..64f2a4c 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Demo.cs +++ b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Demo.cs @@ -14,7 +14,6 @@ namespace PrimeTweenDemo { [SerializeField] TypewriterAnimatorExample typewriterAnimatorExample; [SerializeField] Animatable[] animatables; [SerializeField] Wheels wheels; - [SerializeField, Range(0.5f, 5f)] float timeScale = 1; bool isAnimatingWithCoroutineOrAsync; public Sequence animateAllSequence; @@ -59,8 +58,6 @@ namespace PrimeTweenDemo { } void Update() { - Time.timeScale = timeScale; - animateAllPartsButton.GetComponent().enabled = !isAnimatingWithCoroutineOrAsync; animateAllPartsButton.GetComponentInChildren().enabled = !isAnimatingWithCoroutineOrAsync; diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Door.cs b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Door.cs index dad5626..f4825d2 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Door.cs +++ b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Door.cs @@ -17,8 +17,9 @@ namespace PrimeTweenDemo { return Sequence.Create(); } isClosed = _isClosed; + var sequence = Sequence.Create(); var rotationTween = Tween.LocalRotation(animationAnchor, _isClosed ? new Vector3(0, -90) : Vector3.zero, 0.7f, Ease.InOutElastic); - var sequence = Sequence.Create(rotationTween); + sequence.Group(rotationTween); if (_isClosed) { sequence.Group(cameraController.Shake(0.5f)); } @@ -26,4 +27,4 @@ namespace PrimeTweenDemo { } } } -#endif \ No newline at end of file +#endif diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/HighlightableElement.cs b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/HighlightableElement.cs index 6d63d0e..21940dd 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/HighlightableElement.cs +++ b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/HighlightableElement.cs @@ -9,9 +9,9 @@ namespace PrimeTweenDemo { void OnEnable() { models = GetComponentsInChildren(); foreach (var mr in models) { - _ = mr.material; // copy shared material + mr.sharedMaterial = new Material(mr.sharedMaterial); // copy shared material } } } } -#endif \ No newline at end of file +#endif diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/HighlightedElementController.cs b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/HighlightedElementController.cs index 4d9cb89..e1543b8 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/HighlightedElementController.cs +++ b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/HighlightedElementController.cs @@ -9,21 +9,25 @@ namespace PrimeTweenDemo { [SerializeField] CameraProjectionMatrixAnimation cameraProjectionMatrixAnimation; [CanBeNull] public HighlightableElement current { get; private set; } + #if UNITY_2019_1_OR_NEWER && !PHYSICS_MODULE_INSTALLED void Awake() { - #if UNITY_2019_1_OR_NEWER && !PHYSICS_MODULE_INSTALLED - Debug.LogError("Please install the package needed for Physics.Raycast(): 'Package Manager/Packages/Built-in/Physics' (com.unity.modules.physics)."); - #endif + Debug.LogError("Please install the package needed for Physics.Raycast(): 'Package Manager/Packages/Built-in/Physics' (com.unity.modules.physics)."); } + #endif void Update() { if (cameraProjectionMatrixAnimation.IsAnimating) { return; } - if (InputController.touchSupported && !InputController.Get()) { + if (Application.isMobilePlatform && InputController.touchSupported && !InputController.Get()) { SetCurrentHighlighted(null); return; } - var ray = mainCamera.ScreenPointToRay(InputController.screenPosition); + var screenPosition = InputController.screenPosition; + if (!new Rect(0f, 0f, Screen.width, Screen.height).Contains(screenPosition)) { + return; + } + var ray = mainCamera.ScreenPointToRay(screenPosition); var highlightableElement = RaycastHighlightableElement(ray); SetCurrentHighlighted(highlightableElement); @@ -59,7 +63,7 @@ namespace PrimeTweenDemo { static void AnimateHighlightedElement([NotNull] HighlightableElement highlightable, bool isHighlighted) { Tween.LocalPositionZ(highlightable.highlightAnchor, isHighlighted ? 0.08f : 0, 0.3f); foreach (var model in highlightable.models) { - Tween.MaterialColor(model.material, emissionColorPropId, isHighlighted ? Color.white * 0.25f : Color.black, 0.2f, Ease.OutQuad); + Tween.MaterialColor(model.sharedMaterial, emissionColorPropId, isHighlighted ? Color.white * 0.25f : Color.black, 0.2f, Ease.OutQuad); } } } diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/MeasureAllocations/MeasureMemoryAllocations.cs b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/MeasureAllocations/MeasureMemoryAllocations.cs index 238f067..0621714 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/MeasureAllocations/MeasureMemoryAllocations.cs +++ b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/MeasureAllocations/MeasureMemoryAllocations.cs @@ -26,11 +26,6 @@ namespace PrimeTweenDemo { readonly List filteredPaths = new List(); int lastProcessedFrame = -1; - void Awake() { - filterAllocations.Add("PrimeTween.Runtime"); - filterAllocations.Add("PrimeTweenDemo"); - } - void OnEnable() { ProfilerDriver.ClearAllFrames(); } diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Pro.meta b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Pro.meta new file mode 100644 index 0000000..465b5c6 --- /dev/null +++ b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Pro.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 515936d411314273be8baba85fc2068a +timeCreated: 1755085955 \ No newline at end of file diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Pro/OnClick.cs b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Pro/OnClick.cs new file mode 100644 index 0000000..cad2ac6 --- /dev/null +++ b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Pro/OnClick.cs @@ -0,0 +1,32 @@ +using UnityEngine; +using UnityEngine.Events; + +namespace PrimeTweenDemo { + // p0 todo replace with AnimateOnClick and serialize TweenAnimation instead? no, because I need to reference all animations from one place to animate them all + // p0 todo create Demo Pro. With which version of Unity? + public class OnClick : MonoBehaviour { + [SerializeField] public UnityEvent onClick = new UnityEvent(); + + void Update() { + if (InputController.GetDown()) { + Vector2 screenPos = InputController.screenPosition; + var ray = Camera.main.ScreenPointToRay(screenPos); + if (Physics.Raycast(ray, out var hit) && IsChild(hit.transform, transform)) { + // Debug.Log("onClick", this); + onClick.Invoke(); + } + } + } + + static bool IsChild(Transform t, Transform other) { + Transform parent = t.parent; + while (parent != null) { + if (parent == other) { + return true; + } + parent = parent.parent; + } + return false; + } + } +} diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Pro/OnClick.cs.meta b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Pro/OnClick.cs.meta new file mode 100644 index 0000000..336c322 --- /dev/null +++ b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Pro/OnClick.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 26e5afea6b0e469b8f640089915afdd2 +timeCreated: 1755085967 \ No newline at end of file diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Road.cs b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Road.cs index 2f88300..ea76c15 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Road.cs +++ b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/Road.cs @@ -9,7 +9,7 @@ namespace PrimeTweenDemo { float currentSpeed; void Awake() { - _ = roadModel.material; // copy shared material + roadModel.sharedMaterial = new Material(roadModel.sharedMaterial); // copy shared material } public override Sequence Animate(bool isAnimating) { @@ -22,7 +22,7 @@ namespace PrimeTweenDemo { } void Update() { - roadModel.material.mainTextureOffset += new Vector2(-1f, 1f) * currentSpeed * Time.deltaTime; + roadModel.sharedMaterial.mainTextureOffset += new Vector2(-1f, 1f) * currentSpeed * Time.deltaTime; } } } diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/SlidingDoor.cs b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/SlidingDoor.cs index abf1ab2..1438861 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/SlidingDoor.cs +++ b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/SlidingDoor.cs @@ -25,8 +25,8 @@ namespace PrimeTweenDemo { sequence.Stop(); } var tweenSettings = new TweenSettings(0.4f, Ease.OutBack, endDelay: 0.1f); - sequence = Tween.LocalPosition(animationAnchor, midPos, tweenSettings) - .Chain(Tween.LocalPosition(animationAnchor, _isClosed ? closedPos : openedPos, tweenSettings)); + sequence = Tween.LocalPosition(animationAnchor, new TweenSettings(midPos, tweenSettings)) + .Chain(Tween.LocalPosition(animationAnchor, new TweenSettings(_isClosed ? closedPos : openedPos, tweenSettings))); return sequence; } } diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/TestAnimation.cs b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/TestAnimation.cs deleted file mode 100644 index bda890d..0000000 --- a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/TestAnimation.cs +++ /dev/null @@ -1,17 +0,0 @@ -using PrimeTween; -using UnityEngine; - -namespace PrimeTweenDemo -{ - public class TestAnimation:MonoBehaviour - { - [SerializeField] Transform animationAnchor; - public bool _isClosed; - - public void Test() - { - var rotationTween = Tween.LocalRotation(animationAnchor, _isClosed ? new Vector3(0, -90) : Vector3.zero, 0.7f, Ease.InOutElastic); - var sequence = Sequence.Create(rotationTween); - } - } -} diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/TestAnimation.cs.meta b/Client/Assets/Plugins/PrimeTween/Demo/Scripts/TestAnimation.cs.meta deleted file mode 100644 index 3ca0bd9..0000000 --- a/Client/Assets/Plugins/PrimeTween/Demo/Scripts/TestAnimation.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 52c8fdb241904ec08d0206d641fd84cc -timeCreated: 1747275178 \ No newline at end of file diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials/Exterior.mat b/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials/Exterior.mat index 2bb97e4..cddd9ec 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials/Exterior.mat +++ b/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials/Exterior.mat @@ -2,27 +2,20 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 8 + serializedVersion: 6 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Exterior m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _GLOSSYREFLECTIONS_OFF - - _SPECULARHIGHLIGHTS_OFF - m_InvalidKeywords: [] + m_ShaderKeywords: _EMISSION m_LightmapFlags: 1 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 stringTagMap: {} disabledShaderPasses: [] - m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -62,7 +55,6 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - m_Ints: [] m_Floats: - _BumpScale: 1 - _Cutoff: 0.5 @@ -83,5 +75,3 @@ Material: m_Colors: - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials/Wheel.mat b/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials/Wheel.mat index 7470e5c..e13dc9c 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials/Wheel.mat +++ b/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials/Wheel.mat @@ -2,27 +2,20 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 8 + serializedVersion: 6 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Wheel m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _GLOSSYREFLECTIONS_OFF - - _SPECULARHIGHLIGHTS_OFF - m_InvalidKeywords: [] + m_ShaderKeywords: _EMISSION m_LightmapFlags: 1 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 stringTagMap: {} disabledShaderPasses: [] - m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -62,7 +55,6 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - m_Ints: [] m_Floats: - _BumpScale: 1 - _Cutoff: 0.5 @@ -83,5 +75,3 @@ Material: m_Colors: - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials/interior.mat b/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials/interior.mat index a3d3ea0..ac8d3da 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials/interior.mat +++ b/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials/interior.mat @@ -2,27 +2,20 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 8 + serializedVersion: 6 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: interior m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _EMISSION - - _GLOSSYREFLECTIONS_OFF - - _SPECULARHIGHLIGHTS_OFF - m_InvalidKeywords: [] + m_ShaderKeywords: _EMISSION m_LightmapFlags: 1 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 stringTagMap: {} disabledShaderPasses: [] - m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -62,7 +55,6 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - m_Ints: [] m_Floats: - _BumpScale: 1 - _Cutoff: 0.5 @@ -83,5 +75,3 @@ Material: m_Colors: - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials_URP/Exterior.mat b/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials_URP/Exterior.mat index 6225d7b..f03c26c 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials_URP/Exterior.mat +++ b/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials_URP/Exterior.mat @@ -23,8 +23,7 @@ Material: m_CustomRenderQueue: -1 stringTagMap: RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS + disabledShaderPasses: [] m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -125,7 +124,6 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} m_BuildTextureStacks: [] - m_AllowLocking: 1 --- !u!114 &7263079360766289332 MonoBehaviour: m_ObjectHideFlags: 11 @@ -138,4 +136,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 9 + version: 7 diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials_URP/Wheel.mat b/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials_URP/Wheel.mat index 2421297..81d9b39 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials_URP/Wheel.mat +++ b/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials_URP/Wheel.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 9 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 8 @@ -36,8 +36,7 @@ Material: m_CustomRenderQueue: -1 stringTagMap: RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS + disabledShaderPasses: [] m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -138,4 +137,3 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials_URP/Window.mat b/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials_URP/Window.mat index 5524b41..9bc11c5 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials_URP/Window.mat +++ b/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials_URP/Window.mat @@ -25,7 +25,6 @@ Material: disabledShaderPasses: - DepthOnly - SHADOWCASTER - - MOTIONVECTORS m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -126,7 +125,6 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} m_BuildTextureStacks: [] - m_AllowLocking: 1 --- !u!114 &3728866138871552857 MonoBehaviour: m_ObjectHideFlags: 11 @@ -139,4 +137,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 9 + version: 7 diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials_URP/interior.mat b/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials_URP/interior.mat index 86f116d..f16ac94 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials_URP/interior.mat +++ b/Client/Assets/Plugins/PrimeTween/Demo/Stylized Cartoon Van by Fero Andezo/Materials_URP/interior.mat @@ -23,8 +23,7 @@ Material: m_CustomRenderQueue: -1 stringTagMap: RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS + disabledShaderPasses: [] m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -125,7 +124,6 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} m_BuildTextureStacks: [] - m_AllowLocking: 1 --- !u!114 &6538925729129028096 MonoBehaviour: m_ObjectHideFlags: 11 @@ -138,4 +136,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 9 + version: 7 diff --git a/Client/Assets/Plugins/PrimeTween/Demo/Stylized Sand by Joao Paulo/Stylized_Sand_001_basecolor_URP.mat b/Client/Assets/Plugins/PrimeTween/Demo/Stylized Sand by Joao Paulo/Stylized_Sand_001_basecolor_URP.mat index eed5bb2..ca62cad 100644 --- a/Client/Assets/Plugins/PrimeTween/Demo/Stylized Sand by Joao Paulo/Stylized_Sand_001_basecolor_URP.mat +++ b/Client/Assets/Plugins/PrimeTween/Demo/Stylized Sand by Joao Paulo/Stylized_Sand_001_basecolor_URP.mat @@ -23,8 +23,7 @@ Material: m_CustomRenderQueue: -1 stringTagMap: RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS + disabledShaderPasses: [] m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -125,7 +124,6 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} m_BuildTextureStacks: [] - m_AllowLocking: 1 --- !u!114 &8482762829682952528 MonoBehaviour: m_ObjectHideFlags: 11 @@ -138,4 +136,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 9 + version: 7 diff --git a/Client/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs b/Client/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs index 79df9d1..1e829eb 100644 --- a/Client/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs +++ b/Client/Assets/Plugins/PrimeTween/internal/PrimeTweenInstaller.cs @@ -208,7 +208,7 @@ DefaultImporter: }; } - internal const string version = "1.3.1"; + internal const string version = "1.3.7"; } internal static class FixedUpdateParameterMigration { diff --git a/Client/Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz b/Client/Assets/Plugins/PrimeTween/internal/com.kyrylokuzyk.primetween.tgz index 2eb13d54d901bb05c7f59ed71131a69e01a09778..202a9675be323d231ea8cb1de79dd3ebcd0fc932 100644 GIT binary patch literal 379663 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
JzsgWyOVmG`;$j_%cE~oc2=5}#js42 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
-%0R~QX=8a|eh5T`{wyB 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�^|r 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 z zjV@Xy%^@wJPBLAi!_D#b>Nn^}Tk46e}yV6i1x|a-o zQ%d)00AiIYTLs&@byQNz9S4y_849c%6w*8wkv5l8~@U0%5!5D9dIOyJ;Q%h8A=4shDX zuZv}0AY+v%-(MoB5Ah(vGzgCFIFK}SQh!PC0Nc7pC>{9w{Kn%7qFq2oNJM)BAZ_?MM2a~?A~QN^ z(!4y5?pTa6!d^j1UKVtafiOs}0gGoSCfP%!!ppqz zmk~#U7_ggBu(;twG4$yI14|^pwYjxTck1A`!D4C*G6o)Wa6A|zlR*aoLyQj?*$T6h zTIE5+Vi1M|Edrc@qAR;I4}L_j4hSP-U41P(QwuFE13ME9Z7owvJI(c4ntCR^WDZ0U z1frb~q8=cLG2}pC39JyX@$4R!NV3e6AXE`cmZ-4Pz`U3|;A>8>@N}9ZMA2sn5$$5r zJuR`a4+pFRLUb{iLc$UpC3VRL?l_zwNek~v@fKy}yRx5l18OLy%C3zVVu@W}mHmcI zB_pVJyujpw5JPlL_pD{i-Z0bEI|;N>5)NgN#Ue)pB4Dr%%y++4Qr)@QVyAYHz5dF$DL8DBU6$FY6#22(Q#5yF(!Yh9%6NNW{VY zb~6IQ*%Jf%ts_(s4j_&UtwgW`sk){=4&CWwO&|gCWWol|#9|4KWYONl!s!(6N|bnS zGQ?Sw74K0|ysu^}S?k1qA)jFDVW!}3*8H1U!`P9V3y^{q!cB*b_caDlC^qjQC2Xdi}zkMq;pr#520 z!}@;4$PajTo*cz9BDw9LS7DYv6-E4b=0}3JQmO$&dau^P~3TUPtapE=|FOj?ZS7bO>M?A;a~^w&1*1 zIKIlqD?r=-9=8-?7^tu-W%-~znNd=)>XFze&u`loaIjv;oQ_uT41=`cwIAQMZ=mdr zQQ$*3{cRjZn0;5+k_UUJb?V1gm_{&b>6Oou{WSG&$=)kI9SUe9%`n=N-g|G7SSF@N zNlFRP5boUE(QJDo%u>ZrUtg9g++k=2oBIPrkq9L83M&E&93Y8 z->u)o+rh=rt0Sm(cJcc7@a?Oki@}?-^Zi$^jt(0%bAI%{=NGS!&VIQ#IX$k`0xIV0 z2m7RjBlM|2%$0cBDa1?s`uH-qzkT=cuWor~VZ@#)2zqu-8B(I0=@ zBe<4TslB>0_uB*8{pX#hV01z#M4m@hWUz8(i@CUt-eKU+?tMLRC=Np z{N|m?wx9Xem{ROkMuo6K27|_A8id7?8jzGNSy7ux8*g$2pRnJjKJn;;QmjfD*+=ymbT@+enV(X@~9BuIeiy9{HD z{J@{)IEC0vI0NP@K}n3sPjwO~OZ0zQx&-?0nEtzexPNkfbo%{wtE=c7*h**uI7$v! zfG%&5u5quYAQcMR@4o|)M>h3`SmsN)%JGCq()LdV+&o*6tWEti4}~7{@R;(*Z2X_( zwXVn&nDUXEvC0>lO>)Qa@%rfem*c~WH~X)TB;g%lxYaxpr?@EHMnbb6doDgYYS_5>mB=s~HQ27CMQZQD*+v74N!--z0+36WCT zpLt~{N)khrC`sN-!npW2O{O!rbI#e_)7GZFxa2Go%te6)%q#SRU1VYr_UST+M^x*B z#EEPQ52a((rY5(a%kK{S_&Js|Q)~$rH>+|}s_ecpX?} z>+L|FF1^A1w}*q{I?N+)lEl!eYW3uof1C{tDw$G8wf$2{I>JzV zJ|+D;YZt@)oVw8}<>em~eCEnqTsu}@UBh0O&>H49sdLbgbIIZpF&az#@E zfTJfJqD2^Bl>$&PEr>=`LtI@GOSpbT6AJ~tv?`WCO1i#ZWvoqSf%eEctE=}{1U95i zO&P)3Qw#w#;_o2-gIMAd53@{;>j(z^0a+_ndZilT|8 zGnh@IaOmeaLs9qvS4M3_tG0N9$d7{>aoW(TJGPhuNMUEy{-LD;j6U&^nu;v>aj0qe zW6`%G5hOxG^?ndAMY=$;qgAq6N%^vp<%)gU##xf)h7O5-8pLps!(H4u3<*gZ7?>b- zKfp9ec0aWC0pxYCTl*mEk|otldmnfR%M@nxm}Et1tv&4sby(5xy3RFA$Phy_S7wfH zw|ccqH*Z?C`zTfy+C!j^x0`h=0z9+GtO2I>(`-*RQ`JYP$}hU=A1 zlOk>*2sA&T{j`r349JH&XbmZ;P5Fej#rC&o8|@X)El&6H$3_2&Zf%w9rmjbEP-5tM z^ybjIWMU$5s4+s`ybRpEjFoq9tHQ?Uk8%tEC=eD5Kv@g&in7)1%HyfaJLsJ_wp#t$ zUKnFm8|$GGlS|Tv_jhcw4-_*#zn!3%m1g#W{J96aL040A+7G&#o6nArKgE(W4)W&K zg#4+pD&$W+>%y9#-j|JGlR-FWpo&jotJzrenuIZb3O%|DUYT{Ur66O!9 z#Dl{er!RHa!ZP3$>#7R%yzMy{<|voA=SRRLcA)I|44i+yD}Y*9*TZYpX{ieOGsz!)NtF_{MXzxq*o z<%w7-mGnVv`mKa^J8MY0&55~B7AWDkXI|}~acquS3%JncwI7w?*Q~^Ye}1xH#@2~# zFW=pL4ua0{dcjL-e)_JKx0?Dwro_bBI8Vr*aH{Ckm<*h3CV-@q-D(6)l9dNu5|d-; zU<_WiZBXo|Ou--6=H5D&ia=F#U|7tFu}VQ^h!I1Z$GYhtvSjT8FQS7Lo^v(>O7&}L z*qQsFo`{;OF3GfXiJg}`x>wTZejH-I5IMA%J1m+{B|E3vY&}|LKAmF;x@$-!_z~k- zF1ilNZ>M1CUY|-?c~aYJet|td-_2959TP69EXISd7$^?d4$=-}!zu`#qP)lTt3^eR zSh#d(bdV0*Y612Glrc*o1e3xXx_IUC9;gAQz4_9b+=ghb%BCTa)C@DX5vxZy$gb3G zmD?Uktrmtjb2dzDN$w3ys-CtrR~LQM6v{+D1BZUDf<-c$nr{^prd3jX_Pcg{W`1R0 zqu;oVwK*}Wm~t6ytT$*wUT45YdgZ07R;+GA=G*{H8&s^|?yXhDYRs?0!8VOUz#O1Ro4Fx8s8Y?}e8)1=Z-XO=5p5)DU ze+bKSy;mgE;)_7bt^fPL~zb&+jerRzbS1Ne7V(YB|r7dC6N^BS3 z`y^%yh4#)xJ}->fxsAry@;FHoGt@1z`}a9oqGKQpSz9WT*yt9A|KK(Sjk|bYWH-e97Fnnd+*zAWGB^i{MalGB-^0It55tlf{o*=CGK54G+hV z<>_pgGd~+839S9^25B)A7*2hT=~6_~3Y0VWrW?>8WA0S#Tq{6L9-oJC5XM(8 zBL6BwBl7<}UtZ<4{6jM~I+Oxaab#ZukVAa2r67~6WW#9+)>++76MmMQ2l zqVwK$R42J41^3aJdFxwXJ7;qQ|F(I@`l)HGBE6vwvQ^arJdsuLz!7S-Fjb&-3T6*b z-8+%+&@4tOAa(?MPFk2`57t_h06(og{{TpRkMv1jw8-CdPlq5z8YXFqhk4WRueOWl z2iAC!ipcxao&};|pteOjxq{*(N26pG2gIR(fJI21LSX2j;*g>u*qG!|`lM%KxGTn> zAAuqyzr{DE-a%Lzj>b@AxFdXOK}_oh95g0h92HXL2_V4`3t$6$G?w5yM1mA+@M0f(0+Gb*W8!$$W`; zlG<15(zpWSaU;SK)uenDsv;1UTud5#)cuZtH^&7j;rVSGk_d_RuC09w_fr@0R3}v^ zWo_qma*c~pd?*D@NFgQnG!N?oOQ&+^g=Da7{E`=G3HCLhByL1_5|?!%3f1qzI_~~q zX*c~t=SDH(V->Nh)SN1+ON_!J6ps2YX7R8hg1fL4tbd;0t7oUY@to`qNJ*($@jeiz zhWxrO{B??s(10KyjIW*+=TOI*H|v>2T?%Ned6U{q0_KU_Sx6ejF6h=983h*Y)#^iB?=O z67~JAo0X%g=!N#-&av#3Uc?j`p#~Q_XvkHe5*1v+T96esp#m`c`_t)R0{K+EgISv5 zIH$kVVepu+lglW?nQq6$5+(4nSTL4F=X!x$(L!eqFbw-0z1Lvuq?>RQpo_sKRGKuCVwPB_ouNG08+r(dzvk zx6mW|p46Y#NkrmjWm7y1N4KOUh`U2MJ=Qc~_Oe2ynD$Bu`AsL~ELU;3! zM3+Jjt@)20HUjH7C0+PYL?NK~V98-g&J*_MYd`j{a0-oELo@a)IJX^4%_Orwv|cAE zBxmts5{#Ej6rGiP?B{6W!;+9E4)8aNgWccbRy`Cv;=x(}I|<`9oGnyNk}137ht{VH zkL{@2|C#wwI0`Wh4E}p8eS*zID62%B3<6CqK19 zQbbKQBJ7%R8qH|AL^K8`hNZq7!ON^^O=5V$eBgkdOtc_cTA*Y~_LG>uflhu3Cdlff zV7XpdGp-=S#b=HaJL6TuE1{MLf>>lPK-pH`ce1QrnceCNR2M5eBKj(ig?cY z( Qyjm(grz?XY!B_BZCm2gnpci3((`Ln9v!tnOglM)GSt*tZ4_=l{xe5v|t#Mw; zj$=iOApg{oh?!H~#B-6)-amoLd)zCv!)<6;jNFcq|8#*; zq$)ebljIt=|JgB)J5D!NHo+qL{Ig^8eXbEf2r0qetJd1;DmukyV?UkZ6a~~s6(yj_ zV@UuoyJz8se~l-XI4xT=XZN~jK4^=^xG&INYrci^;fpSu4=zw>P_w|6Wv}(5)j=Pc zk8X}=FUYopKNNM)WA_M*b^AeEw`cdYZY_Tb4w#;EjR;A%g@P*$iX$a+RoGJ6%fyuae=SS^%0wEW~?mh{M`IOdph7`x9Z#grwI-MfXZGo0=C|+_$MQc?k>@PgQ-%d*B z<($@trCfJzSMC9UBDV2@qb&`bTz^0=DxJ#{oG>CTLS zzxinlHm?T>u~5o0Z%779hL{~Daeg+NPLni0)4E_4D{@K$l!a!Gi>kOalow`)ILp)I z7Mlq#qzjB^!7J@bxHO?XWOn%i=fg31BVmpIaWR_)z_nYgVn$TQlM|L=M7!`Nq*-Fe z=BN-TX3K)Rp9$(nU>0vk;Ia=U_Om>DsMyLB&UTSDh zU8zrO_0DiUn_A{Jm`x_P=avxRUa>*Q@u-9hmmPab-H&PKi3TnivTzbcY2K&R-^OgB zif=)G#gapcuhpRMh1pwJ4Y0Od)US0X(InT!K1%U$mS*8K2H!LC(M2N~=1KgqW#5$n z1nDI8tTqeMd}w_2fFP_dttLxnWdG1|aG3-H@Xwwm5xHPq_~5PJs1<~x5v=ySuPsSO zc^Yd#ObIopfH(v4shxL7yEdGW7zp|jfZmBOyKO=HnRXOgTFuj2*LQ-wu%NfT4Ho5)xrG{%LZ^e3Xx(MM3E zp>woLBV4)YJ098KTg-K`80GWzmc+M1)h}1UBCDV_6X046Ukv~E#4Naw)s%<0e|!|3 zImcJePuGowede@Mv0?%o<^DnoS11#@bR^E&0{IEWhgK{y<)x1W0LtI#^B-b`N;X zBJ|$*9Bi>!gI$H!zHS(RBu#t)b*Wx3#vgxOkjJJ?MKmA;M;i6?|3mH`qjUcx$) zTedW?-)vDjq16#R|BPCsFNn#b_=sD5cUY}*lS^B_wqvLTrq${P%}xE8HCJG1M=FU& zy5O&9<1}h$@+$cVi9GDt2uphq)E;SEY84_>H*ZcNw@HIid-P@F7FGXX(x?;xNwnU) zVJq8N%%b$Ated+A%T*I$wmLi-meDHTYMO}|vf80ZdGhMnpc&@$#SL6oP|Cuudv|r9 z4h7)hk1Rg_YG?#K;03G4oU#fxeuAk%Oyjtn4HL`NuRzDzd4#MG>P{)sTowNR-Zh#SJQeVgc+f&&67_; zl6sFQvm!#~@PKEIEU$Jyeq_W>2g=j9RK%>+4Jaq3@T(y*dUhdbh1v93^2x%bS#h+9o(!NIe3nI>ID$fDZxDvj`cPOU8J zTu!}X>gyU*e7Z_PB!L~A$e9S442BS$0c3z}OTQh9_zJDk8L>-?=(OC;^RNBYcNENGZ#zB#a(P+Bgf2Wg~l)SWZ)NI#?yN=L0Qux9rw(kbbseU%t zRQ6e+J2@pU=wr1FtDC>Qh>|MTUgXSOBuEH9^V%^aYaUIt2)PeUNr0u0)qnp9pEMdk zcK>AX{`>DB;f>rknJ2kbe2A^6D5~NzYI&_IFb@SD2FDI4~l42bmRYR`FvXs3-PmhM1q*Fs$o=y z8Qf0(qJ4C`-ObHS1pjusUH#u~ufKu**4yZIw>H=M{k87jy8Ui-W~T);6}f3V!7Wl48F|(utq{ic_HZc2WQP@2+ML`DV1;8}`p<+_jY4)%NN8|&M>?IGS;3)a5>E)OU8AjJ@>Z5Q=6x7OCyx7XLUzuJhGPt(V; z|GEAn^M={I^ijJ1*ZS*QT}0RF+S=AyzyG&xZ>zW2UGD!yA9ep1_>~`P#F3LE%fibD z1CeryM>vJhw;~$b_upA7y^Uu?1`R<;SlS>*Nm}N>kDud{G`t1|uC%<;G6_xm{dY4W zTB6awo~S=Pk^cb%Dv|j5-#CAsLKth01ycbIS9~puWMrchEmw&rN)dt|WDD8UA7ZHn zC!Tbwj#7cj{*vjerI2lS#y4@RhWr5u!+W2zlBEF%Y8)tKPy*Ec= zg{Qh|r+zP^D|KWrwNPyb5n=`viP+{=<*{igWUWw^j)xWEEi%W#3@S%wRA<7ydBZ5b|b87^?SzP0uJ zR|*$M4K?Ox_=RODBT#DF+gfA*7JIgDR3vQ377R4-VantCoT9zDR`H)_n!X(|?SJ&l zILy-=lCV;Y6bDp6sa}u*gfI13UC|>%gM^`Sp_g&LUMFE-uZBJ;5e&YXQ`bE|75;x; z&Hs06>HoX%v#9^?#^&bb+D^ag>o5AM#aC;MPZJGYRTfNQA{?_JK z8}agK`e^%K@_eLkJU^QRc(hO-<@>+4v9*qhwYs?h`+u|7U+(`!AH)Bb;a7ebZ`J}A ztky1S84IArLY=hIB+1`!hgT?CeBmy_S!)-)EACXevC~-$hXo5u_?}k{<6$%l@JZz7 zKsM+NFc7p#_{OXxKKfCVe0&>c{s_Zm*4kwPa`rj7#%US`_*8~jDKSm)Fqurl2nR|b zsf$^jh)+Rlm&lFz#{iGQ7!%1gI2-3`)oXgl9+E=ZXcabDOvo^qcrzfeyh#$wBAj`% z5Jz}|q3MoN1>a0loI(3gvFCNYu2zBq2VcvA+eon^?>f!ln~ra@aJUF?t^h!d0sC;9 z-bTrX*}rc;cvD!6gjX$v>|M`W^R^yO)8xGyK8XoEIX#xa(w1tRP|Da`Zr^`*_tg#t z>8W}CFGL4c(0~06gZ}Gnbk~>X|Dw;L^xw|q)`s8j^)82-TkFH1zti1Z-(DLA+rHoL zZR`Z!e+O#!$z^m)&NIRw4kn=R#_29>0DMF329AkDGTUW5)GWg($jx>U{PMF5=g((x z5RpJv#>-#*H1y*f-hVYr{&gSc{%69uL7YvAXZZrbV9NLZ)_RY}f9dwN*0+HE>uqi= z_y59=LH{xQ%1@opD8-@>uc*+6tQqYcx$cNa`W+SE&{A!d^Tb$SE8rrjg*11sLbQu$ zd;HQD@w|f*7D$nbwKMqn#90R98*iy@phoFYc!L8+@t1E02T7bmH~>H5LZg?nki9fZ zXdcG%g(E745^g=BuSzJf9emz z{FWD`g^9rII6jJrBdwzADdvF$oZwicmx1>pj0J+*JOG5D8n_7g%u`?~G8A#8Z7T1t z!&jnprBmyQxW8Us6wNE$8fI<_d&QoDCRHu!%wkFzqKzG`fI;7FB+C-8)7iiqp zf;P*<`kVpg-H2*0-wxFMOHXy;#z@cHmv09igDN2LW81`-)KKt>(y#p6WR`n$E0BZ> z?baCy+uQ1(*GZhvA0Frv;pcNa_OHWambTl<&lM`$FA{dCUzrV@LvvpIMKbYF^od|B zU@~JMw`^yy2IS6)zlt$G$5&zeOOl5FPU75;+H(1#)GPlINA1==Y$m=YI}Cqk`7LnM z5fmw_t)KheOHBU=SgI2Su_qN=(K@+IqTrRgqZbjrfp~CdAo_6()8dYfU? zLXV`Cm9acX83&X`+eVL23xZW;IA{A)pwIg~ZlOnZt2g;+ohOh~>l$vQ37#bBEdm+k zkP_LTp(fd2sC=}8hT|m3Fo}+JO^i+Rv7e(bLsvx4lEUwpe4h9>;bb;J@eBeZqGW_J zX_azt!x-HrvlLxHN<27rY48$aDGaf?)hjSa{g1E0ESCt2j`gmW(JU(2$c&Er!nd|z zr93(%SH0W{xzj{b7D|3f8k0!utD+tK8k_t6vn@Ri0lft&7+2OYAocnxw9fR8EKg^{ zTp`k>?ulUo-F3QYa*@MM&G%F%m65u=p_6MGN6casCU*}B!ssgg;}4o#i>9Zu=Q5Hj zvU;}AY9vP&`6{LJDmNiB5^SlM{R`>yn?6nCKl2KKo9qAko86`Uf8l3g`S14S`ugVP zR1g```;3_sm zukUBKlL^jK$3%iv@^fl*LAGCJFGkIl?cWOfW!Gv5O1^4#&dx%Tz`ZC_B%0Ir8~TYY z@kan(9QbMQD^Bxp=tm%_fJ5yk)TTuqqnDBHkM7$u` zJq4E_9(Y=I$)EqwB2F>TES0rG4{hGV3i^b`6jc`N$=-b`V+`$eBmfMVRKt_felSjw zYkZ!-#sZ)e<}rk9X89|8jiX18s!jy`Ed69Z5vzu2I?4=l?-rIwlhfEb(ogo|)Hx#S z0izh~OGF|3bI97R7*Ywwb!aVjLo;w;U5=Rd?Tn_hXH|>0mLpWIvWL1O>)B~(3hk++ zg~y!QUhr|~q6z9otabSmb-iAbKB0KI&||7BxiXYHuCr!ncX!7pMd?PK7jacOnyhyR zD$QFlS$5x64}rB%er58pQt#{+MQ`$WLMslwZ$Uzj|Sl@)BE6C;Xh` z@=`4Sm7d!2zXdG7>&gGAePVBG9pwML{!;$8@ME+81pLZRnf!k^#G`%}cegh-*4DR% zfsc2#w*2*-t=?v^xv@F2`2THet#!A0Uv0$8r|F~Z|8tz>_v7>{Jyrf6o9mkXueaG< zU)p~!{4A>f3%VOyc>S`sHoWYvt@n0DmzV3K-r8v7`~F6E6ny{PD2W1`f{k3hi*A9K zWpv!q4dhSq==#r~Ue;0nf0sY@=KOcjrM-CD~-c>8~l%;4> z=sDJ^Q=!MyjFL>dhz_NAR($*VKV3cQ)l&$v+E;W8njG1%L)SAHQv|4$YYpDe8dRwV zEA)Sg?2ZT){R|J{0N=<$Hreyy6hq|AYs@_`l%+#N7%MA6E}>}~q{eFqR}{4t^?y>p zb?DJ_4H&@^4^TA6kZ4`^pjg`v_D~o7_#-NQnkqvBOo%H~IiRnowxfC}U7zjRDUvGB zEIYSuuR&AmnzAp9um0TXzG{@q`oBWO^$lnOxjfElMDDqCgH4rey1ovc`E_YFn57Yd z;1P}>E^;g|T6?fW_=w7`2D0*$A&><~$5Ho=04z@XC{KcfSjc}AI0Xy*ON_cBux1w) zsXwC_(^S$!8vS+*RVe>K1 zxblJ}SX4WAny|C*cG771yGa-m^#LucygDpB;air-yI z-+2V)wpOJBkaVE$dIQ%NYRxkXRLrRzp046dN-)O*B=Ip9_R-F z@q1xjhU_hXslFkbWe}4P4ETUk4dj%O@$tzdo*ErdB+hs0f7BxNHQxXY4l+bleKtx8 z9+obGX|2jMtjMimZG-^cnN_P+f}#1b)Bsa%-K-cR4ILaN@xd&;#(cNKg}$$RDf6hf zQ;$-HjiowH}vm@-$+{S+VlYvxC#gmW<+9u%`#GYInBsWR-4z1p$u z&pEe(UF&Y4%1g0hTid8PV<1;6S@me4mEQn4$YQKuQ!7^7LG~+P4thpgytY8BDzu=tgHd8{bb{@hNU)muKGG=R&biBwOKR^Q4=DNx6MG~tE)(gus-j(OwFZ;?;n_i zT)Zt}wu?q^Jev^Ei6q8yFFQsLM;L4R!5)&D_T&&7rMt@r=|L-5ZKWLWa!VIS|78ss zz3)$_(e3Lb2uGnfc0!z)_qCH2An3A4K1-c5;jvfJ18oS9uG*?2+`b}}K{&2o^Jpke5<2}d9-OlO5f70|$y zS|Lsjf9fqw5=fxbRZ48Pg&?2SwP}kUlw7M)Xm+Xk)<5OoP8<0Pv$33*Gwx@~% zbW=Sw_Y;##7B5SYDpANy>8M4S-U9XV%oeRz(B=->wmD(oMwm>0T2{YZwo%4fnMQYY z*{=e$yGr$(bl8Dzj;iE}m-pyk*HC1=_pG*htcC!+<64{*(sCjUBNUrXSi05@>1@g( zW=OK`&ua)-TmS#r?f(@2|K7&Z|9|0UQTw0XdVhUqC-A$Y(fazxAMWgo`u=cjYxDAQ zh}YJ7R{Othe`D>djd=MqeaiMfoa6Ul1XRBNH#WEE{@+?(?{99dufhIb>o4v97Jjt- zFYqfr|20khtBH?3Qa=zB(D+8^;H=x*>~k}ozd(EdThhCg6^PSbzt%w#C28YYzY=X_ zf6jVqbJkmLTn|W|#+CkO20_WE6lNqUDO0rHcv`FO%i&#~Xrz@-g#gGsx);wd* z(R5WC9Q4TPcvWufhVI`ZUjiN22?HDYl-C!O8unGziGqjYX+aP2Z{5=9n+q(kpzE7% zU{ri5o$*qAhS`R;4Go!5YIJq~zS<9rF8=rfJ+PhIR%vwk+`4pNnsmihOqCWYxSRI? zYX++WMgM@ZVP(@$zZ? z{x575JyEJ!0%Tv?M0>^f8!COM+5=S%W-0cAB#v%nCg(z@ch8fntEkkDVx_U9;=VOi zzzXEjEVKo(iD8c0D5q%BAm$ji{1WF9J;d0tPSIOUXSAZ3+GFoX3#;f(XFs7X8#PE6 zvtpf{C*)6XTy7Wjy+MvAvNpXiHhq)i)ZX-jwMoM6cSIL5b_kv6;J&P!7pXAzvopci zp*>_UR~nnEly`}sUgDhQZikUca|IxC_89~tqvrZ$q%+O+d>Wg0Xg#V0ze5!-)|Sx# zpF&i$RJynHp;`EW^F&>`&}w_dBA_r=IDy1oU!THJ(hu(~z-SX-cvwVHjbSI$=%8Mu15vt5H6;t#?s$3Q%A9!N?hBs_-ql>~#$(7cuvv4E&kO}Nw9qasr7y&7gHB+Hh_P{Bi$*+L^` z{rofk1Bwz}ffc|3IRHq0Cq}Mb&T=#muCBbHFfR&HkY3@DrUhzX)J$C4$TqN22KGhp zpy;3gK}Mcz>-<2aVe6Z#+xu?Pbw$r6CQ1yiU9JMUNwf}fd8gH;%!&}4Z4P~R%b!11 z9RT70=aPQr4rk|ny+U)OBqXhoBg-~_{|`N2tIa?t9Q`T``dwl>Ee-S#IXwI^p3?|+ zepnXnUY}@V7R`yat_7=!v13d%E?R^6F_pGSBDhuIGGr_`g9yYqx!>;Hx^$Q zY0d0a@UZsuakVbEseVKPICdlD(yOCv=3)%%jQPh36X&|Mi%N=t!F@2cH8|E{_@uCa zo*6mFm{XS&qd``@^Q72cHeGaMCbs~I6m9_05Xv`&s1{pXz{H9-fa;pom=CTBR$7N^ ztub6{^TE}K{gx@lAc-I5)XU{xqJ)QzQ~E9>d5YO!5S~RiMLsOF?B_;^SZ|Do^`?lZ zX8a4FPDNViS`ZN}enW8Fk^<(#Hy|!f%2_#xOQE7MPfn9r9GoYEIB(mJ0GBsA!$O;8 ze^?P9G#wd}&k;^;oXnyCLgdUc7Ob7~3BX){ zvIK?sLmB{HW?^XUe*>GH@cKS*FBk;`l$w)H;chVPw89)1`hrp%)SPo56o8c;Ld}R8 zMA`XMd^Yw|xI4KGcM=aV0_B~b;^Psy$+G9SL;?}!x5rbQ`gxL?jln<&bduZugFSYk zzYE_x9fb8tQk{Ch@yHuNj+OC(#0ZPhrmLBPmumV6iAK(s3yP_mJTWH2<$&4#!z z#xC&VT`5&$wEkB(LMNw#*GCuUza1UDxj5T@adiHVi-TW|4*q^-lVMQ-mI@W=PLGrF zUpNlJkvs`sO%c9)oKJK6kLEUDHSND7|DUz3&1L-mg`Yb9KV|k`o5Sw*XtXuj?(Ou} zH!gR!x4Jvsjh*e`rr%pz+u73XzqWea&Hl#5<}&~9pXcHGpV|7X9{E7NE*9@we@gd% zzt>;u7WqHcw>C)p|FvcO?}Z;*{tv*f{7?ZdNe87_W07~l8cU51rxjH{iaG~={2YTb z2->rI5PG7-ex9e{rn((`**`InIEez!>@0ei#v=9Fq-(CWMg8 zc7@3|2~gP4@Z3R3icb90hwNnG5V76)^fFzQpm>{MPGhoWNl;XBE+ao?wHSyU!dl=P ze=-H`k+pcnplFjYiN~}2c`}QKc%{P&(4c^7^g!b8$6#Q^jv_zH!(p2zfa{(w+DePpOlr-R`if9U3Z0I9!LjM zM|+oG}bFu6RNas;CJlQra4TIgt|6CW`rBO_D}LP}n#A8-uCCG-;tbZsw4k z1Q0Vymzt}P>=6K$Kxn^MO3QF`fLE7^8MFKeAHbBOL*fh#%!n1yLGQ$w^WM4y3_S1{ z@DP`$Dy<&Py-3hP@j~31)CiNm`cVi`QfM=z=fC6I5ezP)mF-$aB&Y2=O4B55AApU3 zALp4z1Ei|s8N}Dn6)EZxM#+a;~>{Y{gYoB0Yt8EThRZ3WuP2XR;GxeUb1p;xHv|G_woo9^vKCX>th$C?`0M zar!V*?+79V&Y515ZCoO~Bcyshsi*UTvjWj8&vX-$8sxavfub zu$5$8#%!S!SL{I&kHRaSHTTF|K-zL+0!1RBqu8e#n}n`ga2^ZqRr}Gf_YBdCkp6a0 ztyVox$kh26T*qv7N3(dCb1AbDx2rb`MFEAZ)?W~}6Iz{o?!@xKGFqcOG1X7sK0?dX1g+^gY zVhoTGhcWC>oMx+371MNNN6;f1p6IOB_(;u;RH^nT!Dc8MgPOj^eEGu<^~ZF~TW&UC zqFOO$=qGVdF{<*?AAW$+YcMJ%OoD&$9+tme342Yv8|ju?!x;GJv;_q>cB;)s_u5HbV}`6l>Iv z$q8ts`sgP%i6;XGz&uNZSVfL<%94Io7Hk|51)gXR%wb*Fa+?%78bYfs-a~$*oz-*o zT!{^_El-ktyt(u0wvSVs>Pwa-$Ii8MLj(b*( ztrEUM_Omc<_eK(iE7apTdWO2*&d$ybWF3K6rPB34QOMgq3*&Yh;=m9X$TlE-uks@W zHbUKPKrh&G0|rKzzQParS~Gp|FWZDSPua zp7^nUg@fXgd8-jqdz}+ZbFf|tJg2M$iHId)Q`+lT#4U)2#n*Z@7*J`}tQ!pg7=bL3 z(_>(!=oNkgdp7eQaqCB6kP`))9GP}_`V-x#qvlnB?Rrk?ea=-%6C3P9iMYY=q3oi%eJ z96j3_+_bc~y>4mKMMCJNMTf`q-~Ge=lk=lfm4`p@!2tFWBcJospuxMuLw{CEMxmh} zQxB?3j4<1X0s0sM8#~6F0nBzKmu>mdG^2V^iGmOb*h!w&sw4yuw33x2C10lr6*jPA zWl!l2CPHZ1?N&5+)~aZR;s(KI)&!bDY>wIM4Ud6)}Dhr&@@mjsRsBm`Z0LZ zg4&6w{0M!>Rl^+q6%U<6WVH{+NdjW=ILXI2MM7&Sgx;-+)n-A0ixZO-6BWMWs$8yo zS_?hKYr^BC-hk-jhFI2U*oIL~hRp+uO*c~~{RvSfX=1Zoba|UA!V@@BfW+t&uY^1c z?V%0nJv}~vWRPAm0TYN#dPZ4t)Cl;NwxVC`aoT?^kncf%8ry%8NODX2uSK6l?LRky zt?jM#?d`20RPFoQYa4+-S{rV4cY6I`I5Oh@?QC>6x;tB&Uv0$8r|F~b{{g!c?s5A! zkN?@*-0Cj(|H99r@jtil&iZI`y}#bu-dXQ%t#1eGTicgwqYd2i`@@l8|Gl}j)!W?Y zZ)|7_r_0=e#%EMjFZ%U+@U0I3D7xwTs>rw0(;hiF@bxCV!2y@kyGr zI>y)Mvoy?@D1bt*$l z{O5RyX^Mw5-f5r|l6sisiTD&~9Rzq3#?(*+49|15>NP!M4@n^nSsG6+W@MO5ycxmN z>}nRu2xQ2Z692;_hQd9s>vfGX6e#%q_RZk@9~W<5z8zc)-khE9zj}3a*pgVpP7`=0 zNiYMuCw~@%$%26GzdalrU%Wm(eEaI?9zmOqZ?kZiEePDnFaJ0j9GrbN@cP010N6jg ze-LLOj!6EJMUnV+aB=kN==IT?^Ls=jc&|@zHlC)7F2M7n|2@BWeRTHA#mVXMJwR4t zv-ZCjNFQ#~+bH=k`}ge!ZweQh9$s#54Sl>bTwf1*JKOzryw%12 zR=>ZqwZ8rRcc5sQTt>Hqpdpbw29s%$=9mUE!Z%cyKvUOeyXX^H@3Rc2U;r&;`&>^m& z1J4Av{?6@YpuQfAWOD(dJ#Z!nd554OjljF}mbvE!9l7!u&Pmnmz=vRv`7Kob7)CVP z{Se%Ful)4Vzrr0A26%YfCc?i?FyyY|en(-BK8|sWVldpx!)s_}f@vJt42{9K5CYeD z=tbcg+(Ai9ilNA##ltapB9lg<#1CK@_$Y$xS)PU@P~AT}hj3A#qYmk$vEiUgJW5hr zjjyag&(M#eN*s;SWP*I=FsA}UEJ39D?4TP^(87P?tL2Q;vca0usqB4rh!8ZqX3 zPDXV$jr?qUHcWxCUVY}FGmN=s5g-&@;wbs(JzXUj(y(T6Eg|n&UH$bi3G{dGN(a_% z0zD64#G97m7hM{qRZ}Xy8jX9zn78(NUshH_#XB7aKTWs0PQ{xvu6UWMrKcWXEb^&2_h_gIRZY{|rRn!?(%~6RF)sClZ zHcy?0+0x)GgR?ICv!=b5;R}V4WCEdsa)om^e{I$hT7PhoIP9RVX_zs^XbN1e)%RuY zsK{c|B11joc4=}C)Tl)?TxF(G&uGbp3A9ItGS>{eor0S=F+pcdN^k750WJeYp|%cE z@kt+WojEFMH=Pj{n%aZ{JwmNwidyIqVnr`(ojpRW&ofmLUfF~di4$stuyaiz3HJu6 z*~xxAj(KG5b3eT@F)k<{eQ!Biu*_nudX{zBWHkR5rwO-oZZrtFVhz}peyku@f_g^6 zjyz9p!uV>R5@EpQ#s^87%PDIacWs7|$f{tm)|n44&v85)PyF=5Z(%;B zw`XPd&UzIf6xrdW6z^>3W%zBJ4SiUd;RGZZXJh{Z8I_vty<{jy%mkQN!e%@~eT}i$ zD^?6fw~9Xc-;*Qw`R088l@6*@OA4llw21Dn{dnd_^bBfCN6}3D$!z_9Mgfj;9}vaD zwulcihQvdyfN??#1mKvQ2bNqQN-+ixAzIo6M8)~oDS+yjU^x9CJ}(;gr_<=R$dQ)W z(Yi2ljBacQx_1;1VY0rrn&7BlB1|_5lH9wLJg!OeQnM0XX+I7QlQ?IDv+2d?q;~0% z!DFccHG%d}>!Cy{7+n)W;h}|B_ei8I61A0bn$+>2h_zLxS;hj(MV-7EBUx&czZ?IKe%6}Jq7S8|eZ*Og^ZQzaV z9$v@m{`LmmUc2mVtYf_0#lfX%|F^TV)7#qqBJ;L`_Eq;U7Q`A4)$LS{_j3?Su|aito$H} zB0Qu4USHxEr{Pd9@+yq~HJ6TS{)FVUW6JKwC`kjH;s9Nx$!tm@juEbj=pjH00#UFs zkAjgw^f4c0Y_}3G*mMRCam05rif{yUDY$HL?>b!(@)Ek?dJftU5S7ubQSxByheV~J z#hpD*(8T|MIh+I{etwWhW05~a*azJaK+qw&D5+gFE++BHJ;afJYf-+aMR6SPf<{y> zMQtK0O5lSy-RPy&UMW7o;}M+D9H`z2%T4mX?L7743@l9xci~;s>yA1iG|n#Z0ADF< z?hF`PdsBU-r7mfS1lwQ`5M+SVC?bt;d=tf>KIzWw4#H z^=}6cgu*QKP#Xpf|E+I~R+Qm0kW_-xOeaCZm0JG0@W-|9|u-@SaJ+L)boQM5xzk9KEaeR95=IA%s zM_z;kUR@Pv2cZ;TW|}6!Y=|?)--a>E_w#fQ^}D?tZ{1t(?y`>uXT8nt`Y!m}LxLYa z%fhP|j*5rC*FF^MC(L2;px4LHty?_674s}Uvq1DN8h~6Z2i!d6Z=cx|^(yPR2$Ez( zX{~BdBOYmoq?~zTM%VytA)ZY0TMqiU4*}92ugjUZgK;RIzj~|8C_#xdZetZk}LYQYL#u@Y^0&-_kVM!&=M4mLwakdYii=OFk zqx+-CpF$cbpa*&2%OMkPk{~5!`_v^J(~3lVXxA^1ex+h|8NObsN~B8eqA^5S&HV_) zv&kh+0dN9r=Al!f+R4!49xU`Q4#FXej2_0sZVj82j3I`6^w~M-hQlends0&Aka$lk zbq>|I#(WfFcPArqf0v>>aA;9vd^_T|P1Eoi(BM$rsTy&%R&2^Mp7@h)r#+V05`I`i zE{tdekdwm?QPX2F!oV=Fq+(#y3+xqC_ycc{z4pVHZ>>`ZRB8d#FRDkfZ4P|(~S5z3De>o_|cH0H8_yRM7o4I39Laj z^jKp;MOu~2P40I%#!#1}stsswsgd8?r53jxYG765+Umw>Mt6L@BTYXEko#O?2TAqe zCb$Ise2_)~c4+iZ(6vAAb(lswlgVfr@0?P$5FnnMepWKtKnL$uJ^hro#!d1D1WP2h z8PF&sPnz{YLCmTi2SB`ZJ+FsSNS)`J8qrwEl<+boQz4qEF$IpH6caG-7%JD6Qn1Eo zYON|l5S*vCul+cjk}cgPuZEDU@DvYcX+}r|;@h?&`cP}Ah1Iysq&1Q1z>kY+{0MgF zj?^yfsSsFj6q|0%lFi+|?H=r*?#SA@Gs%KDH20}qh-mJx{nV=sA&;|{)>Xj^>X7lU z1&slrRXXB3Iip`E0iz(uUwh_P?-Y~Ef&~xa5``lvF~qAd#(v6@56)DLJ6CabkX1!m zBlMNHWDVUAYXLSC6~z-6DQJa?V+|Y zUn|AT4dP)+T=RTWPj6YsKNMVWkl+lArn1=-+%=H3O^?R}!YTU16p-@rSh*uQ(&;n` zsi`rX>%73jj9j%*7~>9+Uxd725T!v${#gJ+WJwv0GfWMUNpoO;oMJzN9I_?dhReo|C-?p z4n2~+ii-!PAUGh2!$?(>;(yJ;6w~|`H!Qmb9*tl?#5fx!6a0RF8=FQT5G7JZb2m!X zkCq6z^NyXw2xj6#nwAzRB1J;O%8hr}nc6|^V(W>eLxo`QpLQH}Wb+U`5f0h+VVsj~ z1<7(W`GU3l8O~=@%Rw2;CX-ugjYsKWKD-V;kcA}LlQ|zwJUd8s&dpg*%Kd19L?ApWNc}fT$+~T{e+}xL6U69UYTY)DPGJN z69R7`oCPNSIt0QFBC>LlS8xyml2{HTP+eI%eMyxEvYe61?jeLQzn=+D4J%AjMwBs? zVk=2H5_;lU3B@{G0Ub~KCC*>@Sw4u*a5OqjsicRHTi!=Mq(TuE#=BlzPna3k8X#72 z`$6z3j6X;LLrTXZ_8$a9v^bX(0yHniH#teYZZpM%2bw^8h>h7QMu8JO5(p^@s|YHU zEQv6&Ok&-U8uUUd1Ehvvm5RfV&ce$G5~W+}*-HW=N)Y0bE2`Z|Wj)w2CH*;yqCE+c z+Qx=#Hk=aBJDuJ)u|!7gJkG46(@TqHO0lN5!bYrLn8jKwAzaX7la_&N2*eY4g1S^S z{Lv@2k`Ut=NXZ<01pRbKk3~?wp-ZCAa%?rRZNy@CZmbk%K$Pw|xI?g%1g&%%wgwkO zg)ua|A4SYo*(G^kEwgIn2S_n*G#Oi)Rxh7kTE@B#*nvb#)Vh{VfYdIzmZ)kKq*(lB ziEfb}1e$7zT~C}q_UJ957J|cHF(aUDOC|`l?gL3LeLwdBzs>LM%x{F?FwVjNtG7G3 zJmJpNYxz0w5Utf`9d14`g|mpz4%CRFz_*J;ph_@d7$T&_z{~*)?i1pG3SmQnAso2D z=gjE{^uc^6h4j|wrq&d*iD8-Va>_SV&G-XJn7AJV^b{-=4{CF0nQRhpUpfcHaLTS+ zL#pzrkPw1a_WWZw#N^u@9n>!RBzGbSioBN?OxlNO$ddEiSsDJ?td&vzu??O znPu$_j zZft*|t=+A_W+B!Q5K9g_!jQABftx6w759kH9&1HwpvdhdWyvefG1?&i4USa5xo~75 zP3ctBI^52NV@#reNe2W~ByoGRiaUgw^H>iB5iDTB&K&Tl8jPq!Lx_G`&&GK^&30E; zuflvhyYz<1WcBYPn$_PSnw4a)z8Zwta7IEiWvlDd&3;mK(FmgZ&S98XQ4HepVq;fcC+w$*LltU#TF=JoJy_17?KQZaB{jIqd%A(9PWjmQ zMg*O!WG}BWbgXcPO@P$a=Yb!CU;^%ot8q>&JBTi;bsQ5de@o0S`9^K@zs*C84F8*= zYwAg4Kl^#LT*-gtmHg+rj%z9*KJQg+<`vUprYr&Gl(xf9WPqK1w7 z^93%Wcj{qE6aWCh!8nY96e8Pw13CbQ?y8n5fJeg9l=)*H;_6l)Sop4#Gs3hjmw|_D zc*jcG=EJ7n;<8w~6^)S8mdvswaSOA7Fo0nPlM83>n6v0%=wHPNWUR|PNF=cz`_XL{ zX5QIsN(_Bp<1F*9aJzMi&&GZ_#c8X9T5t;ZDLx*(fNhgKza^5*Fuy$}YW5^;$8U_6Ag=()=`t& z=_*cA9PpEmnZ@zId!l;BY_enNyMka*hXJy8>eu>U4^n$8qftJJzQx-)$5YhrSQ_ov z`foHO-9}m&lKxR1nD%YX;i=BjdYc_*cO5sB&4yo?e?PEMbtT~wRZJ=E6i~YZaLt9E zqPdQ(la3Xl3WSiGw*(Rvkc!!CLfrcfN=TG^p;Ki=#rq*N!CuzWbv^tfwSV^zee^RF zQg}F-7!W>_G%azX%$8f+n8FGjjr|NkvkHiJ4?E~`Mh(JfQ)53s4?oEe-#uLMevez| zkqNi<{Lnh_2|*_LY{z+;M6_plK+FLL{9%U-!Lo)N0u%rd42=<9owz{n)&=7+3-=|$ zr?RlJ$;bdCjCCB=9_(Xue2SRIJ~gMS*LY2)u!PbfuEu#X%?J{UAP(}>cj$tVMfVnm zIZ9{d$<*%C!yS)*{84i`qKun$F!|Gv_HLiKe+pPnqG^3xLJNR+M=b3QlY= zncyJwa~$1@Faw$56k(Is3`R;3vcrU1GV|+c%Z`039jSF1fX;BxhLz8fYg6`H=^`5^ zvnW7Wo=ic5PGwxgtn(q*h4MEz4j!(M)d$A*;CHTqWyJG1!}%$m_#woSCr0xbbt;37 z_H!OBa|L8;ED9d1DOg*AcU~#uPRTMWir&{!6HYfWeFz4^`l?era}1XeXE0+6T6)$* z_D;J(L`63Y@2~KPaGw&$kCD}-yaEcTx&IIKVNgBvGwPvT)VIQCp>wHmKchJ9(Js-w z?PjT-EPA2jLt*$LNXBPi=>0RZ^M38$kmZMV(c@mXE96EUn!b2~MwYJiN6Zq)lw(7r?W6ViNDt-22T><3hm2NE*JSDqR@J=+t)K9r*Ectcq>9 zw>Li={tkg+9Cld1HGzX3WvQu6vt+udjj1TCLJj;@xJ-Nn#Rmh{|3!r7V ztid`pAID*YQQN9lL9#H6S?*eaMn79XL%TNVrP3ys!Pq5MXdbUdxl#?!MiXg)3sdkE zOWEn3>Eyhz*j7z2o17<86O%mm3OQtW@Icaj!s4_dA% zQq)czFu4Y^wIUEr5e*7r*7~=^_?m{2f{6=>AvPoVz&r0@MhvkpeK|z1va982zy`X+ z9(LGquC7WknSN-!`vk0|M^fz_B(pfbd#|*~?Iy#(w2QPjCv-cSaM0qKKnsAQ6t|GK zY#pf(vy87URQL^)msOn_%F9YZPF7H-@on3WRJ90?0$mDfyR2bpL#!0-lCUlCfL<-k z%e!zk_wxarZ=Z>;AQOJQE@5IE1{6(FLsAO=}B^pgEu9|Gj)3S5Kd8sqmg6N zlEY6lRpsSY+~FO|(eKa-6b0+4kO&i~um~jFR0w{(5PBsm7y@7rcwiAGCg7~Yi1}=j zjYTp?TG$;W!&Epzx5*5R{cANElK?|ye5gjgAiV#P+$O81_+uCc)W;ke`xs_p;#&gT z4NrV!8wm(|Fo~gNn8B$G3-Bv2)O3cmWLM{`8&#Lj`KL>K6~;hrKkU@+g>1@7Ca5N- zW%JeaEOoVN^%f1zDKd-DSt)Op$E2~EL=@4}CrJ>FLN+H7A1QG*fRzlE8TU673lykB z&IdDTmI{qw+eli~!dS{PiF4)@L6es0A;BoSt4ENe-+%&}P-L!- z_jv;BCJp9@r&u3o7zZ@DCXQ}xkk7GH3RbfA3Sq@7OaWP#ImQl_#I)gMwBswY6sesY zgwM=jnBrlsUIdC(mqGa=Nk95&Aji0o{lfKT+CW2fih43G>R(6vcF}t?E0F$HZ23!g z4tt)};5<1af3&4IJ>u09hxvyRtkFQ3q2p)4Ck6Gum!~#?g_F9K(GcyhDL4YB!HO~r z-C8O3kwxG!jG^NGyq+y+jSuW)%$z3SIMct`r^dCYXa3$oV+)9TJtNt7S%W z|LmA9qV+Cc0;mQP&mW)`8GpgSlYnrb5;b8h`Qu_S`D2*|{*poi^xl+MLEr=MW2-IA12 zv-NKP8{(o8>AvL9M+|x)&aea`vZUXeA6uxw7OE=mG@L4sMF!^<1>V(~FuG?Y(WFDO zQgzFen95jyLA7MB9qCdiIqiA;KBvk>x_322s$~R@5~cTGK>_@1yC~4Ecq_@6+}lmN z9h(YMG^)@-#C|5auqicXp_VHy3kUsH9gbHy^c!ibDk#8W5!i!Npc;hVw{e!1Gd;_@ z#Ww0X*T-M%BB*iTs&>E?<1XbU9Cbd|iQZftsE$BB`|taBuM@6>WAIxJ31i$b_ZJw( zwNpNikC}|@Kc|n`mx>B^?^9mSE$cHahZ=kD&lxR99>JFj7*ua@=wXADyJ8NnaI*)S z#EGn^LOuFm&k>BZnHPc@U1*_5K{bGuVSYoh&2Xp<0^Jo>NJX{=5uX@SDq|>Lo9;9k zJsAm0Fk%mxO_C%Z!zDy^1uj05?L&UrQw0(*<644ixO^Z#1emMha8;e8xD$H`(lFPQctVVp=V$~3#`0LdT z)u$PoJcb8-%IzVxNF*@M-_^DI!1yB%<00Itq_AV4W(+kJS@aHK`a<|{ zAFP|hxO6%0{vLm#Ixz3QlQ3?#evexn2Ad_6nu|czZyU*#m&Hs-#G84dCXk^?jmoVx z@eFPfi>2reyt!>Y+zrRXytt9Wjawfh@9#5?Rj5Hho&6H$zxdf095p31sPguS(E=GZ zF|)}EQj700pe8vGouA?i=Moz2Ysn}zHx9v2$dWK*7hT@w z#+CK%JV~NFoJtglu!v_i@T`PB9p1BYvW*W0SwQ257+|RAZk3eBys34^eKG4KODzP6SbQJT({#+S81y8h}pC zu$=P`ANA>ncgpf)|J;55-B(MQ{2%v}y^a3P z4&GVE+gq2z@4tg3!)(oWQEzi=W4*Vz+1>eSBVImDA7lTI{SUDD@3W86{lC%gcGr-S zpT67M*xc+b_y3}gy8jFO%FpU567fq=Ku!12+ZbfUuQ3?FdM~5o5|T7qOVTpLo9l$; zlPxdLTL$R~P0LFID)CA)LcvfG#uNVY)Q^J%@(wW32K_BQYXMn`a&<$v?B{tJUe0nX zniOQ@!7L?d5J^JqqxdR}v8R3%b3$*D9hA?Xb=52&Y!1#7-!x-Bmrjax)1$rdG zVi6L;Q>k`Olpu|VHwaAd5yTl=z761lfiqmY0 zhdH(Pq)mW&%#W`eM(#!vNt%z7tJI&4!=Y#ciu{|lLi8jztKc`Dq(K;i^uyM$h~f?7 z#qm`>e&NH4pd!HxJw{P@HO_ZY*Xwr>xTDV|@MEKc#@N5U-9K+Z z;GdAC#k26=82yC0UUyB8L5~VKfbOzjv2cWkB_|^&cm*DUG%r>Xx5YR+RKO|ER~z22 zW2vnVqhkzgrO4UUDHcITn%!OL?~a(?UGbNZa&K3Ev9eNkgs1HAt3SeS2iBP}H(hUY z^o532OD9=l%I8FeF?5C*FM&j#Ul;);sru+eU|GykWJ|H5xwMjBx|vwN>LE7I=|#>Y zOtNRbfI#RZ0XhviK$2L3iuE}r3K4casaZLBpMG{bnczIVWtiV1p)a-Mzna?Qiyxe7 z|9j7D6Tp$}UR#cJq#&_lBCez3sL0`ITXx1`Td|0U7g(2aZJbcA<4O`zu1m zismX{KAFYC@p1=zy&YhgfIsgJXt6E>;D2UWE)=p+3ZVa;Y@oNA45+gZDwc#s;4yOQ1% zC#;|5L|5rrnzmF#qCVJLlG+DjKfbEAr!<`U)an+6!*Ua-MFX#xGVdUn-o8ka30W(} zdmWxdHx3KHM;6qvJYkToLjL`QHyjIUtC1#j;aBWF+C!oZMvL~C=6zcIZOrDb_!jiZ zg<@HDFzO4v9-E&d8eK;`J5d0YheR<_vv;F@FJT?g0e)S`E zt3YN5>In!^vKWv@wt>Re??vt2 z2(2oib;W8Ee47OyMnlgOsH}LgbS~E^$CkXWqy~&OtwRThopb(FYqe}nU;FuZ1Yx&v zn&DSCowjMTe7SzdxrnPWD6 zi+=L%45y(Vh5rUA2J_^QJ(i4kL3}UC=wa@!5`6p$8l^yV=E)PiuqqQ#!)pQw3(^!2 zG!2wsC7P)wB^$Z9(eX7-0k=|ly9`V1jSf#2uASg?|0c}PC%8qQpeeO?1rp+kJU^no zE_$n|M~g!w2g~8FVFOAX$QeJ1&qMIdA%&RDZBR(@9V}WazgpZj1haKJ5B3SN4hf)B7ZXN_S!x4xM)F$;q>k1;#M-rK94uT z-#NUBr8*+ilhgTE^NVc}%s$M-5(HaPW`ovU@vNTA7XMy-0q+$9DL-ahXpqIp0uQc> zR3M_L^>hz)>*C-CfrO$yOJH=#4|zyF2FcAn6@A=!Elwl@!$pmeT|Utl_2uLBFfO-u z;X+I`vT1k;28kk7c4CjtPjOf(GgQ2GAcEAkAECA-Z#iCd@Ksn;O+l#-yfz3@?^PIM zKXvrxh;-@%f^wXtFp#<~bg&4tfBbJ{!>+>RNt?f23=T?S;@HC!vsn*7ss2;1~<#bHrG;P8j6Zc8im_J z_E+vijG$~bohE56cjsPQ*71^>$Fux@X1*peP{anPryNnKI$Ila3W{oFEd&4cd>=x?k$#PM28>-l3$Lh%h0}t6{9!?T zN}R(ykRTlY zb$;RbEqpUImT`_Iaz!A_dsY$1#J`a|LTDblH~7j2SEK<=mZB3C5Y>PrcnCpJ{se{S zDO!7i!bgv+YZ^`xiKwNt^8RI^;--Um7ru8z%@MVq$>2ISkUFFi+L;zs(G)g5JhiMl zN_!v%bI2o=f|Z*_60XXE%Q?5qHMwd{@n4y2uv9W)YwYPB>aExU?eavDAz>H;5XKga zW_txaHhE9E1@)t?1&avAI$Gd7VTZRRfS#c)h%8K~9zaJ@+88@sRr_p|M`M%3?%5`& zDpuU0LgRpwIR-e7U4X9CkQp}}qY0Q!Su#Cb0si)z^z$RR&tVHs1R+VV^keJ=e0 zv<<>)U4RY3X0)nmX%94LqK0tXbc7m#CE@r^R!cp4g+JwN zN{;qS-Hq0pBBM2+Z3Iij*~o9u6laiU-4zqPA#p=ndl$YJX9y9@!|2|H??DDl{yEG2 zIPlZph=fn_j=+~1wClOWbZ-TY)C%#3T~<$lanTY531LNQZNfpPm<%FSlLZ<xS=QIrV#KKi`n&MGV`xW5U3q>=6)tuD4#l-nXg?35HPIpqv4w*)+;vweenfdsNM}afZq@n za>ZiYsmoIgfl8THPG_sEx=2}8)rNmpoXRE(P(XWD$xApi=&|##v7n~G5^{+q#rotqz8}aSapF80}OFU(Ze0io;Gh-KBv)7EQHJ{F~tIB z{SMsvgl6QzsEMCLZ2EA7KH`Tdq(cV!L^P44D9khDUuJ@^6V#s{5k@e_nH{^<1BL=$ z??@>@u(fT5V?UY`y&7L{*VQPBZ$g~6Nso`^qf;|;=b!4Sw~eNYVYoY~zc9@+^0OmL zUWWIFC%M)8Ly_Dn6Gw&dARb1uj6}i_A}Ui`OXP0MoU)dL&VDS>ZdclJzvvNZ_b1ez z_&4aW0+Ty7gl-N;G~Vaw?KzMv!qgBfgpVQ6E1|wL8BUBpo|l@5@d70HvNaSvFClSJ zTq0VsW*musXWOiB-utu+6l7Dax!0cjjVWFPcB->E=0|phU23$wM zbrG`OCR=(yoA%Dr+n1P5bNd6n?Vx0qQ?Uw6R|)ya7Y9VQ%EKswpu)`lmfCo>HAK6h zE8bIcq$r86ND4t~@+b;5g!LxSwq=9Zo;BZ8{aI1PgCywrkVN)=#-xIBVP!B1Is)~L zR!^;M?~MMElvI<@PDjhEU^O#Xdzc zr7zrA=F@#xx9(g!_Cd*xE!j%W-Gdh0zY3gl?LfAU;)DQC;v56>I6`6mFhjm#InJ`f z>yBiCTB9^B9}P)4PgWbOL!PK>kEK~7LO?&oKo`=?N03mS)(pa7Zilqdw&G7w?D69g zGYYA-y)xq&RAkdT#gpWkL~v&lKwkjv%M|$fs%6bM(+QMvxv0*L6iqdk8&zozo!Wj& z{w&#M$B>M4-y2)q;pPbUxBDBH>+8Xm9}F)yH@3Ie)_2xM-R_nd|9fkr zx4yHC|NSR=tovVBZ{1HE@Y4O?+g$JUS^V#{wXL;&pTz&)+Fb7cMIR&nH^Z;|SOacz z2N3)s#8IHdbyh!$I=_VA9yEwasANJJ$(6LP3kBLH(Z)+dS&I^8Fzb48wW~v3^E545 ztZ(|(?DmwoH_L^|JGp3iz-uLvb@57dz8EHP4(MR{TazhH^AKk!#yFr>5y)qD2uX^j z#Eh=3#A;JdSu}`sWpAJOEW;_ zX%b)Itk3|UVKSK}F^C4pv|eJGMAxT=M4+;j*hT=uL(FnFfy~Fl1ay7yg@_!cQye2I z{f=(AIX$d^Q4&STN1lmFv{(i>nKXc0z#8Bjr;{+o8C$4gk(DAq!s!J28F2#$V>F9F z-PNA56}C#E53RtVaWsoaYFP+=kJ>3)W-Dq+DYhhZlh`Ll2{m5T6Wg@EnL&;Tz!MX} zz}ZBRYwc9?yR)_lp#)f*ra(ATDE3(_mGL;d8Y@eJ>}5XyTe5_dzz#6XI9gUnxOX0y zn$Wbn*EGv+o*;iX4)HZLA^ZQ?d)MZ;ZDe71KfB8R0nynLkL=Ni|*9%8xB*&8F@lW4XgggqbOt4MnUnQen37!smp# zbd(YoPN7vPgBiKXhRkIh?WMRrhrDNLL=|*XH=I*`k;YL#N18BiuqS**WDJ<*fn3s? z9YZA6QoGe(gmCd2??Dq{O3Z_@4o@&sXC~+}x)uS!VEQOCB9rWwGOs7r6IiohqSQcg zQ*Ip1VRM#^7KwVjtXbRGtO6pe0>Tm*SL0@saz~tZQ1Rdrvkfw$$uZ=-cH+8|=Cq?R zSIR*A2+98lD<(=`x&tR|G@_zON{^(RPscd%siGPv>q(49ksmzSL4ZF$L1Pdl>B}~P z!4tnI_C}k0WEuc|#>uDrFm6ojw1 zMN@1-RiZh%NFri^zBbn~JW8>$SOQDobXVNbYySp&A4tuDG}BqLaDDJW{OZV6|MMSo zuC}J%t>M(9=s%ZRXN&wtbY9TQj`GFW4{cN(S3c`C%BA!b_*IXnZR7Ek<{JXl7mkBl zQN!C!$gD_xs~kW($x5HdbmTFZo3?ED^1PTQPDjI!MU%Hf!c=A-TP0!F>d#{b62zKr zcT1+In8FsDJi{^+ts54hIAus=CJ#+riDT$v2fdHNi~>xJu{$+-CMyW!V5p{s4Q(8) zl}23sQI=lXiU3j}c@#x#EeO#nM`z8aUD5-wnuD;m&E%cGue$W5kOAn0QC=4X4OYOW zVp6gx!-)bJj5ljIyUO-m3wnR&e6Je@Kd9yItsv?iy}X+^cb6LyQyNg3lYjmAV}bR# zaim&hbz;$vc`v0M(wo(zmEMzTSm z5ykRxlk?JwTuHDAh|^RUr3aoYN{h)1DZgRVkxO!o$h%bb!?;zMBEUA|$t8K~zH;d7 zFCQ(tfVXF;(86gOGk``k&%HMfJvU7E+(fgc*&#IAD8x4UQNbeGp=SI)uETO|Bl`c9 zN8xU(+uQP_X4w80+~5D&WL1wslzlRfxcerD0)bGG74(?DFNqAV6lrB+lXlt+G-3_( zF7hzM7zHpFfz}w{OT{?^lcSO19LurJo%5rU^Y;fI4^DJ@EZ2*|;8v?F1&`y8dP^Wh zb~Smm2}ci@_dFdE?`A)cw3v5yg2(k?M0L17eb#CT4o8Z21A89Ql1Wd0DbSm?y? z0d6P~)B?{}h(H?6X4qp_vcc_o8~Mb!BAVg^J@K&XJwYw$s*9PmuWh~*ZWZeUX1JpZ zBLwbGI2I-q+E6JJV69Xci$H|VCSB~H&$Lk~(9B(?!i1((N0oeMYF};uN10o(4m_E1^kdfyC^rk+O*zdDIt1pP0wB-H zDkvK( zqa&2%L0c18gtK`(ixQkjP!ykED-hW1{0i&~`JOp8Hg5*)MS+)Pm@pS6T9m_tiP4}1 z@I4ZE+gzMxSISbZs9h90A@aZww3yi?X*b62qm*p+tqq$8&o{))2b*C2(WGJKOok7e ze^itrKrg$DY4{0x;sQH(LiZt`+FV|cy@*?LgdTYbw;6mplHZB7if(b*LB}rLSa|zx zkdQql@jVQ;Agn)$bmVJwDI7YR4iIPfm|;uvz3k1Un~*sWFFeV)`v-l{2NLJvLdS@? zAQHt+9ww%K%eb5AzPRA>>N|cVbx7f96<Djy(0D=(0ZwsxkPW(Z zrKc~;y9{bIL`;x*{xX(O$yt2+&JF$99PE}0XoSLD4lp!E4FPzRH5$0|FnRC3XMh_U z&)t0S?&5VJ2l0r|&VH?XWID)~YLx=_ zYw9ttl&ps3TwYwoR86ClH(G~s@r@T%VUkozBCWE)KhyB_RBpMDJU3YwMH=NW6z09O zY6qQ=xk}Imu}Sqq&nJSk8zP?uy~X)TIgXiKYfujH;w8%QLG+`{uI17@+V-1klw!KF zO+8TQj>20xA_VV>#*p-;d=n6bzkwYkfRg7t#Zh-gW!FyDm0TMlCwJqyK7b%wIcwN9!pCh1T}?^E32$#m}_ z`EJ@Nq$QD!Rs@SxtAc}IzAl=&nKCBRKD0rX#<}t65|2I+b2sAbn5Pr3G~AZDyOLh_ zT;kaGqH-zA;-I00LQdfs*o>)xMy7Q+X0K?wWm!Yw`si>htUzFOv>6E{vikyECC6+b z@C*cNn=f-}NK_=Xd^3B8V)kN|0t+TuMpG3qW{fpDQp!phi(7t_NJK?qm^c_W5EI^m zzM1;?&f;higDT#nut4|*+?f*UJ7{$}HVs~0But3Lz6C-6&LHPIT~WKrUjEJxsKo_9&TU(2gT~;AM2DjF`(;=G#o?wl>czRjLQ{Vq6Q37yA!r{c>fvhing!Lv zI)O)$mWS%@4SgB~;bNDCCWE{uuDUpjYXW?+rtWF&17W%N$hZ9&j==@hoe=fG=#s=Y z;SQ=#vN)bk$Q8{Kew+M+;y2M)U#0kHOc7+(zOhy2-n6p(&-D0QkQjw%<;Es;ANTsA zH%Vp>J?$Wyy8@z>>v`Y-G1WO3Bk432*FC=J6^+L@Qw4f-O5@v8oRZO$De>h>=Hq`J zo|5ew6{mpYy|h4wMZ%i!{7@=GVHsZj^Ph4sq-LI*njs0Ps`GVHWF00DS^Sh5qvMk( zN=s%^e!$X%S8K&7OIFWbtanau08~tkd2$-V9O5ctbMhxnJOA*5pg4hx(rn|YsukH& z`cvgUWXZxyTH$GLs9*`bpquELq^dg}B&5nb4`8TH8{)#84rB1r0`3qsu5t z>alfZO~s=pY26e516h-BiqjJehIf8Ap%)}A!ffGQe>Xi~&8~y>*aaR(F`Ziy{flRB zTQA!+$b4r-_4y-tAHYiM+JzG{n83N2r2rVSiMYWo{h2ZoKN=PTb|eyln3)MZ5w-_U z?u)oyNAXBaUDuq-RGSkO81jm!&`$7Z9+O!6)S1Gpz^x}@)(=Wvds`yCd!3ORR_>E| zEOK!a98OMCcl7Bjc1KtaW#NWt*6w?pq~_Si7c!G){zDcPutzq+j9mR-QpSEG9z_^&i&vJ{-(){R7 zOp7xg!hc1#(dG%h_Ct>b2!xid{p6C`v_~_5T8Ewla}p4@;de+5IMQ~nZtJkCL-4eC zjy3bqGuDl2#mz#o$!KcV>VZserI=7t7P;4J%tpH(OLYrV1{0a{0fqa{!ZL^9D8^Gb zx|>ad#Nz$v#(S|+5_UJCg}bLJ=p+ z|3A6Ok3VqWnnQdC=YBsNM?2^;O=ro@=BDQ-qj{2$DBlpG_O>&Mrkm;J zwlnBC)~0RQzlK%Zzt$Z-qc>T#SghPva?c}Z(wH{QF}`V--3b{)l^ zn2#7|%%ZL|g7rJ9v*7|^3kEI2N#r6wJp*+8T zKQo&hZ2v^^eX$0r#KZ9!!O%X2VB)vfTYJf3AU`2z zktgscH&i82onf^j_X2XEQRF@W{UdeJgWZ4+GmKK42}9B-GxawNk)ub%D^L6YhbcJk zfxevD9LS1VbEgK*JMq)Y`2}IO|G15BgXkagKW;y5X3o+wZ{F-Z-z2!n%O=$AP}**k zc!n$}zWB<53>k4-rk<>)oy^Mz5?nG6#{TOiXVpU1EI{cG)VBiaQ~aXgBAfkFbxl4D-uc@9y($_I{RkaaT)<->4D8&;ptGtstGpxWI ziUf8xdj90hL2FnqrI&GZO|J8Ha_r zfMR7|2{#z+=gQ4+=;3hWV`^=cL#*%{1*O3ooc`n{mwS;1)K4Nubd-0Re8Pp>>+9>z zzunQNBnrJb;V(qcg>Wr!(BACZy{%l&gi#Z(kc91k5oA-R{bm*?OIxb0FWENw!RdYDdy7Ywp7sLiF zivRbO^ZyPU`yu|{vd_}_f5+Q)*X_Dix99doJ?CQBAN0Gfvu$l{!S8(h&u*{lIQ{-t z8}Y-_^f9jgFPZkNiG|F2~ad&55D|Lyf2;{PuF1CX^RT0vhVqdrqojfh%C-kwP5;SH4J^0G+3BiNvVUS5cHTNAo5sj`PF0trV&s{ zct;YJkX&15=3behxo{l<VX+qOu3v6 z!^g@#cTWyz`|XkoCk3nQ&PkYnl*Q@HUY!Bn)Zrz3n)0}0#&*IiMHFSGF>+km9jRX} zEU1=p>o+Y+fdGZSkpf}L1}AiN;Y=UQvNEC7gp1FVpFh-SfJJst>Ye5j8#bzcjAK742uQ5v6w=d9iLHqI>4%davt5CN+SXG< z85lG&*rBf=mlTT?Rh1yhm|e0u8zgbwVdn&S#6NaM?0_Jb28ARx6+vW^z9^I)CsDb-hTYiL~o@{o@V(~%bFI& ze*BSLtG##Mmo`k9Qbn_@P)VcTM&`(xTr`(`@0(|zDxO$=J^k2E(G76C zG@N$upJj8Z#;zYuIuyx#P~QNWwR0kc@6V2GB`YK)qz=u|4C7nBZ^R3Mj3o{tdJ~hC ze2J%y>b_tOQI$fu5N4=FuBJO5mg8;O-!jA3*$T&MOrJV zl1)p4N__qdhn||A3QD-Z?_L!7C}asUY4R(O66L$~)7{qxXa73i`{`isAE#zPQ1tR# zo{74W-kK!-W+9QJhT0O+>o|R&f=npzH0i5UGE^9Z8p)}6z9s&lRx!V(}+utP!&8!jCo5uLZbXe4P)YMSa%#Ehv6DfjHm4_qBS) z5Rw~*ed=Yx?PGZmfm~{EBWjINZVbB-%hix!x(JCdFEld33yQ2?tlvsp=Dwr5$nIph7E4Xcu`Wzk3ls<(Uu`P zH#_(i#dw5$Vl9IGm{p`Ki%$W4r;Lrcx{}Fg%FR^ee93f31yzR%-3Y1T&eo)}7X{6I zXLTUG54*2nZ^(rWZ&A5$)@&}!Ln*hnV0eR^(*DR#QN(gk$#Akz(=vLfCx?2!uU_is zt~t~WNt?X07cW{8DuT;I(WSm0igWFH&=v*NXx- zb#N(ZPI&If?J}S5=;Gg`#pvSSu+sG2K;YvQNbe=B8~uV>5Q%9$BS)i`kdT!GSwjV7 z5$vFgTh(?avmhhF(35Hr=*cPtAcgw*{g)BCh7!!LVNuMWwR_(vpOkHnPdfLwA1dgi z{Vjt{MdWzEsI*Nt!|Ia~0pUp*V!yVeutMQLL8Met<6XJ@5uh;g+}M*a%B)w@+Zp5` z+xN#~OyZEsR;>wGqMxl|~s%(oWXwzoI!BftfZW6`#e?6^(GF8|_k!sxZ>Uf{ntlUKm0A zL2p+R3Lx~xZYGbeaGYF5QM!2$xJl}dHeW^aaD)$T+)>)1!DR`n&mA!hFWd()(^28lbhXaau35(Kg4ZxG*9Uthavw{F7$uru15;dKS&|+ zr(9@ne<uDfSmBM*r3tgG*!D1pLLDi&L$fAM$eKFIEozmdhR7%py{Z{y|ESKNaBo zn88N=prFB@N=tMiXk+|u+8+BQmwrWp=pD^d`UfdT{!|K)IiEI4$)nZ2K<9ab zfqIQY&{#vuB$lkwEWD}NrW7F8(6sbb?Lqobvm+Ym)`%Dq-&Dg3yc5K*GN0rs|G!oE z0XO#lb*ygBdGP;R_F2~d*B#on-5cVqEo;!*?m64mxVzo&+5_x5!;603?Eh<9y{|Un zho|XNy8h2r;{aT`{_TFh-zDpR*y}liL9Yw`zXNOVu>O~QwDm9WD?bbR|JL@(ZQzu; z$K6nCdwvpMPmeecf(T#aiU}(0#(t{MI2jvqEXV5D&+f-@Rd-q~cNFFBp}d8!8?w{@}=^}dfuU}3TIHo7gTP(-1k%W_$+X)WV2ET+ zSL#r`cNwBu*?D~jvG<)na2&}26Z!iH&RTNZL}tAzj#!yN+zzrj{jrRh1&~>Q!G=Dw z5Eqe!joRS_%1;Vp7_Vbu{Q>84ArLEyU%gZfhfspgTx(}2`&j7%TGRyplvn(!WRzrU zqP%1)YqMR@M$UjhM~OMuQ8wDlO1i*xCA$g9jZPFxGHOrM1&?Z3nak*Jqt%SsWE+-w z?(k6=r~S(hKO690-GL+cHhw9p_ml^>N6vc``e$T(s`j8V(u^aXPuCG zlOT`tn_n=0jfrW#Qoi6MDW@lK9AP=5vMUX8sY@b(^U&q;A>;zGVnfz-a&)0F<-yf~ zhLukvDW#f}?xB1aBULM}LE{lj!q86vBwsw6;Lbp)8w>Z4<#Je=80vs&I^FYZ~aRKR%S(bHrIN`~I zpokyM<=9O=_(qW=Qgf0Qs~lU^;1!_=vD}2_IYJ%@o=P(`({g3BrI1!>@O~xRp){*5 z0u4Eh;}5qQGYmnWqL@Uv#~vj7AcvtHtzAQ4`z#Ps5SW8v5#)$Nw_3Z|*_i?@ZVXTJ zQl);9KE>%rQt5~ck(&rMsbGy$uLu*}P9b&0m;tZ{H)f6H& z-!DCdzKuq1U^uH;v(KDcK-Y8boFAQ>zd!hRaH1CD zhHqMBgHK%UNURQt%vd%qwsYm!Nm+suy=FGPVEL?ZNW3@b%Jnr?O3Vo4 zl#j~bXjaH|?s;{Av&>`$JqyWHR3qSroPq%^)=Ja~9K+fC zl=&smKFZ;2$$+pKXRom6;)N)d$r-tNIzozoC>9gYsXz4tH`er}dHQU_|JF%5N1DDa z1uGJdWTXX4NMftN>>Y?s$(Y4*PcDFHplarSz0S;8Km(fJ21#}pu{8mgq0INTO|wE~ zf{yEXF-{Uj6Xa;u0?(k?zjCt<$`C#{Il%!=pPC zYP!h~3As=`%iE!Hw2XuwQ1RBol(=*PNyj=bGwwg~w3BQUni{f@6nQ-857;!H(Fk^5m8KSYeP74XGE52a#0T9%tTxB2L?hiFdp{U}UN z=d)Q9r>9y6tYS@Xz#Oxrj%OKN7gmvUe;LNnkK(`wwo^sQLsV}o0F#Zcb`MzgRNnut zzyM?c`;Xq>;r@5&XIc9X?BKz6f9%;8Tm7Cja<+!{aI4$zy4}7twDES%{$s1#>)YF1 z`>T!k;c5Et^?yn>!Q}tjJfPd*Dic6dtbb?F)AK(JtzqwB{V)40yZ%Sp-k`TN7;O(d z_oCMy_gt@QIqrDe+q&4=?z@j4jibQBF{I2&chD_P9zS9?BZpJi&~Z$ZE%=5yu+TJp z5Nm+!it_}=kPB#s2%Ii7@@gJ>0e;DWVX|hRVHlfyn zcdM`fD_{T4px4#%KRA{(7(T53WuN-_AB?FBgt1pjHZ^?AOT0jW2W0^t@(Tk;p%Fwjb8agpZ_{=Cy5BAgZ`twe;JNnC8e>I zI<(9WDkhkMP@o|nwa{ZGr)y!vy3vE4&{MV5$G%wyFZEvgJzv%Y*qpo|g-L*#BxYrvv zqwTH7k6=@;BkE@xsoV?VwihRuxMYrSvV(s4jkbeFbKpWpv4`UwWWh^+1QkE?xNL{} zJIH!CNi6s1>z|tJa>TFZ1W>;IyWL#=H^=JrAM!sg{nU~FO>t_^4o=U`U!Uy0JNS5X z@{jYw_orvOZ{Hs5FMb}#Q&rK4fb6|TA={zV4VX)CdFkUPH{k-v4*FdB{jP10Ud~1Q zM;4E9$IwWw(4BHYO?ULuG@9)OL1yNVFT#`4Ru!YyWmX%kg;+RfE0x|OrM|5Vn4+vG-5#fvbEj@%Q{=XgOSCT zf{&*-J$B~__UJhCm)ES=rTYo1CL)ulBUy3XF)w%89MCU=@I>Xlajg;WP^&cE)W~ z1g)AjKHo_jHK?7#X?bnFsLWsG^`yp>f+rUN=TuknNZ0qul@B9y)pbkJEj)|6Tg2v;P14U%T(# zBD-The)QjGyKm5U^Y2jVPIkzocfHOinzkLwws#&s+Su5D&(1db-hTY(Xfz7u35jtP zK;$hhTN5?V^qihTARQ*T7GN5jB0bRbTr~GelGB-~eli6M;v^+yh&rgRe)uU0F!(?_ z?EQs1`ZRV&`0O&q$z>D(bFwVj(dh_>_{|5RJgRs!$k;%sqUkd*POgDsn6a%M`rdi` zh@PGnMaVWS|2mqmGUV^QD2U=6^f@NJ-fc8t|6Z_v-5q4#iPCUkvxB8D!-5XW{HD2_8^z&QPF1sqnDMDUJc zrMhkRSasXsW3jtkQ}s6_gqu>^>J3?KtJh_< z!l#$67hNme_4rVG!!6d^00u4fcKYe|BD#6!resznBC)Nm1w$pJXs0TaObAChavSm zIGy3qJaAP??GC%Pz3p&v?QU7a?)HFFUAMnAbOtKfe@O6&>-nHBVzhP~M;8tXIFX2emVkpTFno`rAW<5C&nMUoK+Kd%2v$Yk z9C&^j#nof9#UN#J%SP^g!t#fnfO9tu+~m~%1IBDQJ@NWT8q4m{JNIVa=Q>C+2vAP! z9zm=@P_Gq!poZTvZf*!GVx%MXAgRPLguV$U(g-+0j=3vck|T4uSOO!KC4SW_9@ZZ@y{p3l2L`>_~#RfU~1*afap4UE&io%%bx`IkzY#GtyGmprj`Tp>#+@e#Fwl8o8m_5a23)_QB!KCd%Iv0bG*7r9`qZCHU4f8}u~kEj434^e zDANHfAx_W097{->0;lq8IIQ_03lAiJP!>AbbtDpfH-}(0fe&lACoxi1m)UaWc1K=D zuvxPNygfkQ_Z~lb?_Ryb$)&=ROJslJMmIfw1zDx4`FfXraVHQw2#9oFAdI}Db1uyw zdHWNF5s5h>?@ogVgqWUOZZGhsWRqunKfvAu@5j-MH^Aq{z4@Q{bhbN+qa?{T0{+zx zPw>Q#!rd6V8DY5L+zs|{5YXL)6&__TI`)7(L%G74A7G_IDqaZoLo#wv5Md@1Fry2Q z6Ug?!-U8pn@fC)alcRZ>_#Otf=Ve8RiH-1`CW59kRcyjb&PM3_LC>sAP@KHDE4P^LpIpX zlQT{|wJ1Leb?@Y} z!ZCU22VRUrZih5If6e6G{Ei469?SzA?}n2ACqMaQx$9$+Sm0n_S^Z(ZyN$lzb{w#K zvATn;es4JJZ&|~~kBDmOB#P4V6X5hbE3;wdLG^Wnb@ji?Tme=2|MVPP|LfR&>p}m! z?6d6s&o->D?Vh`}-E}W|L(jYD^&QLI0zV+HHy%HD`~3MIb^XKk1ZU4xdH&F+eEko* z{efoxXAcJbhxqSHKdZO@+uTGapc{{8I7S{dOhNCXbaym@5F8%youL7L3JQM+!6fV* zo?bxGpOS*dZk+mV00%lSLOJzelZBVu0^a8zyubtPRDZ7s1PaXP! zm=FDOK&+4PVaV6RZ^EK+M!{m1jq-XavS=)i)Pc^WkfQV|U0A7cs}+`HO|7Swm5uz= zk})y;$%lR=*=o-C$< z?)O3?SkqW5FA!iJ=;Js_68|E=s{2YFe`OVP|D9&IDK}MP<2ftw_Aw(@YgVpnu8^~> ztFBVRMy|x;hXvUpVpiAFsHDP) z2ni3NJvRv89-B9FXDWFZ0@D&jt+8s!YN!GCsIwNi^Cbgm>5fMk1eK*|@1)l}(Up{M zBc)||HPoF4YIq7PCt~K#Z4x0}AZyu%&KGJ&0s+;pTW0Akx50Rb%E|9EE=LUL_1<=A z>`#|PXp{Z_;#-|W-BHf{?+%UJbaaVYqDhozfXuOWij%~hkU-jMAve)opwad^>eW4UR!T-2n=jiM^?5asNDa47@`CZ zL&1K8!5{VvoG=^kL=tvMHFbs%k4;Q*^~gI zqwsCydbN%-pOq<;Kh=e^X&rW6Vxh=%px=>jkH6(NyErRPOX?T_2k!@)fAdqS|5;HC zsK)mHkpJsJ|GV_Ftp0bn)$QWG-5rm+PS5r(E(Tkp?cvsz+v{#S&dABdf7^Bj-R*9# zUkK5|^Q}E4>wjsxfBux)|99=4m0SNk`yu|*($9na|AYPigZ=-5{r`jg{|fB?t*xQ8 z#m)bRTiq?YI~3;sL#N;Gbsy~iAMF1h?EfF^|Ba;{?EfF^{~zrCAMF4C_uBvWo$ak{ ztJmxO_3Z!o&;}*;|GbPaST@-I%lencU)AVeK>O!1`WG~|YNP)uUFbqa|41Z}W(!M7 z_fB6x-rXIv!G2}AMa4oamgVVTD89d|KkBBNWNZ zDzw1$X36Y9^c`gv=!N{TLtj#-9PUN~@U;=mF|&Jo_?s4NT%-enoT}HCIL7FVB=7|L z;BucFP##go68P(ff}#x2l!W6gDwNCanyBe_B_|g4hG&jN)K(kn(BmGof@4-nOA9NE z<~E-)B#7a+3`1(Gz_;^YdT#1!`C=bR3L!am{vn1KFRHqG_tvgxce{rzcl!XG2$^8($aM9QZ89TB6pD%r*rNn zyMcdY&hzdkG>AI*<;e}cklQzA?iDqQ)AZ(2>Y#jT-BkD=75ObG<2+Z0lNZ_C6b@UR zPRBg`1bwuh+>EOI8*B0?;HKKyx3U(FLQ#(SON^N1xY8tlsh}fEqx3!kaVWsBiDEBr z6sx3NYWbr|GW+{_ltdY|$Q3w*Rjx1?U3ypZ$mYAIm?> z%KsNz+gsLXYkO;O;qAL3c)h{U@w(&f(cr?6|F>&(2isp{-X5NnJnH%V zJ!Ik}2^N3Ieuwkv$vlL+@Vx6#QKm-HhB+}IF^?39Ct4op&G#VXWG)ShS`bptkWnO= z4}6VkL@%ElhTMCMd;L*w7QON~ict#&4LLELACQlpzd*M21M;6eGYW-TZ;<2=3<6qy zu4zpSWDbkFF?H^1Wms+_+bNI?0kv5{Gk*1kt+t*?3G(9T&~e|ViBSF*fIw#U*)v`4 zJ3I*IQ<^*!m7`pSS3$Q$(2Z;}vTxxW$Q|d(a(v2=93uxaERq4c#1l1(BPITS*A=AZkBFEqjbM(e4aV>yq#62uKQ? zxM?oolY$f3@sM{=?22wIUF|#X65=wIJB$7W&>V&$;8iYU1Ff8UolVEaMlRbB;WE6U zX#w)YJS`cMPFtGAl7*OgF(bj(WctaNliYOy{WPE*Mg}-YT_}WJpsJ~tDi_W=EbMmH zs_q^u9ml9cpFo|hpi8e;F|!4&{9wWtnP61pWG`9*Ok(13kG-~rS7jz3R~z}X4};F5 z9BoK7wH$ArKOVzTKC8YVI#m+&0@EdhzcaC0lHs-UHky2NV;ExV?`v6;aJMLa+_gpf zJLoh2Q_XpIhj5VK!aiDS(I>S$&$WwkVF2j(ULXto=Rb)5u-j;1_zG7^(awA?YbIlz z4VKL2rpR?@1{Qth4Xg8ESZmC`nl3i*vL;^ethVfHo#$1Xo4MUt8?U^C^biMR4*nF2 zTHk`HL?rK(Uz;}2(+n0folL1&CnjZ7QV})p+Fy)rC|Cpo8G~P(IK&WELL}zan&Q=q zLM$V9t(x4v!Q69I=l?Ho|8L0uW;uh0_vs(S%4>i<* z>=XE1yI}d*IdhXw*=J4r*HnurTLu8Vo<&iRG|(~DGc+(p#v#i?SP#Ij-^wl!50gC- zu1w^h4Q_YGDURW-A5P47m2k?7a!nYnZ=oOzU_>}Ci>Q>Bo{VkjiMYif>@{@K%GXhD zIrBHED0h%6ZbAs$)d<|53t5;1M@#aks(}GD)RiIBU23SKhQ6v5`A$WE2zw`mw4?SO zZUF1z7G1gtazkl?#HI3DPScsYqrb}`{utw=RH&&%Ol*0rd zWxy#7OY>^NNy8?D`mYgk-Q+eLA=p+VZb4I{OUVm9Uitw=A3KGqXr@p~?0OPLG4>Q# z-$oOLv-i=5kgJzY@Cf@?T2V4<-1-S@Kr)vErJQ^1`l%_3p4G9eEIyyQ{%Jd%TvBt| zp&C3@K`%4$B5f*+qBad5y9w-=@8>~q7D-Jv#-*(Fo%*2&+$+KRJj2<`RyYrWdXSSn zJP*FC(P5)t2*e)kq%VLD`;z~MibT-=v)rJb^G;2RA&Z zPh+dGW%WI^bU8I7NU;zO!?R2L&iA~)CR2m2XBe|w7@%e`;Il@gAJ=ePW9|?*?iBe$ zC^9mf5lXcpd6ia?HmV5;9EES)gkH>kDH5nVw{QdotD~o=2Z7wr+i>G)njNqZxpD*a z5?P(??Xl5LsU9h4m{%!7I+WbcWE-t=3b6`^$WA^qLq_XuG$9^BL|4%!<2}I>eA6Nh z`Y!lEsPqF$I@aWRF2j%nKqVo_<1Ge@mzP0X>pWG}goV|ajgL~9s?Dz51SJ$SbU|T5 z(HLRg-`cwA6!_J4vWMrsp1ShiJ?8&3-2dCd!9)D#rJrTbezA2;)kc{qptrLNigVuBkSZlKaaTKKxsw0`XBT_Q^!Xuj|Ydh$dOe|T` z&u?%SgJWJ#Dnhf=6cmvlVwquzKGSyc?UVB;M8!Lfqc!^RHx9fXl9=+xft!LXO@<&o z;+v9>Bt6-OFmcCtFY*8-aKzzXqbnT8zK2g_t}Frv#snRzmE zk00HAQ65o?|1WtHP!<2FpO^of!Gr(j($BK;pEI_{R&U_+?cTWGvq!_NzI}nagT6Hy zc^2ePmYy-b)Bv zpciN_vsx6dTiGnN1^U|t+$wg0N)sIs(-^(Tvg-0b_V~xnzoOfSN6nQQ+q=Z0Pp_l+ z+KoL@SiN8&v7_=u3Qc^O{iF(^pRn5c<%m{}Lb!!viXhwJ66m>Mi>O!=!d>0jz(UkaV)5a>eUTtnizCzZdDrTsaS%h-`w~^o% zU{BvH5uV^{KlD~XhN^o@g4%-V9|;MaeXYV5`Ck#9UAjlCvM3vxqq-;kdP4 zP*;+c`Jc7w<$|zgW6EN(@;nL!ZAcR$f({fw=_b&TG`$^oRZu!hp`z6pfe@OnqlLke zja}-xQK%@$pMSp8d1e`T9iZ;e+^{8rI%n(*y`<97JcW#AE0OM%a7(L^>;H5+**%Hc z-17{I!&M)R`P>QdjUGfy_tQ%|Q#W)c*aLpm;ch7cu=3N6V0*1}U4Tgq)5hPvJpUk0 z{bfn;IWd*}E6Z#PsY?nd{tL^G56kCUUp_12;NR@>Il+k*rLV@yS>S6UGj&bhE+WN_WO817W*ybjp*M)Lq zKPgLt<`T2HX>@wXb(=-V7`F*a6#;Rj#$;Bjb6LG3C|lt&UXQI7gz(^5G<4*|bam99 zq@t;*JyNZKdV?0jamt5t8{J0eg2_f`97j`>USg69n8r>4FA=;fOVRYbe=?Lo^J0VW z6BI@%`Hejkg#=v!fdn5W6p!gPseE8OT$zHk5ib7L}IPJKU_a^9H9-qNVr=9I8#Iad*{tJz(@5ja$2O&yV;SVSOD=3U>xKOo3z+SizMmw_0FD~KLLpEDtw!p zg(CSczo}q+E*9QD9R3u={vU9y6TAmgV3H}D-_MA94nz}RU>Bm{DZ@m5D0P<8ZfW6b(Go)P!CD%R)5SVpuYzwYL3a4P7rrq>*npS-0`XX;hhv#vifQ8V<*F|X#m{~+cY_0(aPO^q8_m<@+7JoemuiLQl+Q?Px%L*rvD$?H$C53a zMYFefyd-}2q9BTwYXTI|lQ^1(-U=E!nz_HVO7)?kC1TJ?dfii^AgWYewFI1af z!qzc~^0D>OY*^808k3-nCM~|36FATdG>Ozry+Aa9?UNiqiKK+wgd91?ew?J_oKBl# zC(#TxlK2U`iH~D+MQDd76Y!%@PXVN)*hMc8$S~yZ+?@m~DHSm0aUDy03v6E{n?Xv_ z5X1h44Yq$+Zsz!zrl;< zBA7IV{Y>19Q~^JUK=hNylGl8hBZkI6ygNPz?}$1us7oVrhFuIB~BJ zr|twdgMjwQ^1XEqlieioCm~2quVaXalSzt&@BjyiaWW4KTtjZa02K#=RreEgI*Owp zIDti+h(8Ovh9@i50d6UnmqI1*xq?#oBlNQGqZHz_w(=bmRW~3RWfMjRS#NI4S~H~I zvmv@gBx&B}4({4b7q+rR6tF4AhFUa?mDO>`|GVS1)#;7bRpT^6dy=`7+FFmdL)#=* z|COz=j9kJr?us^tHe@?H_A-|!E+IP{`{&q=-6`EFPO}%ePFWqjl!@Nz9ZFD*^M!Fs zF$fzPF|3^v(TtW~DgpK4`j7KTPQPLQJEy@QvLYje-p&4JN?a1ZZ=_QrR30aZD9Yw{VAN8BXBHK;-N!T8TzbF35=;JHVr3>ItYFZhl%A8Oqy8%f+?q3DTWDXUlGHS4tr@dXKk$j z*T0L#R*LTo#;=HUIKnTFZlVZS9?>z4A+b6X6P?M|LoVGCoaOP$8d?F0>F(&P6w3^{ zua4;Msu0~>8KS%Qfava5M|5vhi0-Wn(Y<>>bnojRnpxnjN@y1*?w|AGtc?9eBg-j7 z^4DdV!L$)Z69qLfQ>W?|Q=FQ4fKk%ZARFx%RRgD( z#iQ!DBZzY&-S&Y--hgsyengFqKw(e+Y8fn=Oypi>U}~JW%p%<|g~Wc9gcHqW^h8aZ zm-eE7c>NI1Ap=y3!4GklhC5(r@C{CPgMix_w#+v!DR;6izY@;fVx;SNh4~5;J_WbJ zjnys{oS=x~lqT)wM`?%f7C{F427CXi{_hNHq}Jk-lw?MX=Zr3yj?_&Mt5tjj z3Pa1gp6SE7LpVsV2J&|$AQwz?@$Gtcv-ure1%oMh`<9pKgXWjR(P?yXh=M1c*4d~@~P3+1-1KGW>@VM?#N5VJSpx1?v$ z;lA8QT{|Oo?WE2Qal6CP?O9^JEJxYxqv@im1RHgFtc?~Lxt&iQQJjNW%icVW3(Pp! z&REcX{fz~!=DMqCQ#Cl?lGk5FsAiILeN4+w*|J5omaYk;=CfZHCIju}4jb@%2FplO z_@82p0wFD7xLfU zIz#kZriQLzs#V;ZW=Pb{iO0OaQM~Vu$2Gb&O3tOizO)Qb2Mhxv5l~3xGY@_iZ;wGe?gQGt5f&pXFu^T0!T0xyQ37x zd2gYzVL&+LJU$Awi^WZp47{*4X~?QoMd=Vkq&AjiT?%atVKqu1uPa{w3v57^WQmu8 zj6`lq1>7hsG8{q0)}*E>;BBvnw$&&lUzDhY2KPVzsW}DYlu(F$9e|3>Z&BWoZ5*9Y z`1`GHV-x#WVLz+b)EW#ub0}1>S~ey{5?Tn!H;q{pnf6?jTR3J}<|M5(LAf=7a$5#U z$!a!3`N#55{$YahkCj4sy*!lHCMd5LgmQDULdG@$!$q6LcCidOCAAl&IRe^k1!&6= zUP;4?(jbBQj|!-lBgB%17o|x8^>qc*ix8&yxTyWi-zGFQOE$YLlte8OWtdunbMgh+1th~)HXFOMSsdLEfAZi~ zpBfkih%#(6vA8iP_z9F%+*a{Qx7P;#Wk2%}w%8nH|pNrrLS6C6U=C=y{eD zj=p%Q50L+vg@}3|eF(W`XrB6^7Is{-`EnPC0ZT}NBu@ZKj;U|7 zOK~eg?YU*q@XBIwxyfxfLXhrH8w-ht@y!g@1!#~f4`}o0<40=8`+iJq(GYkxTUN6E z_|eA32GnWU9m{H??EmX+!#gN>z=&rD!Hy4aUd>Z&Nh3ayw%4{udWJ5mMvC5_vOA%1Y=(GsIuGplF zg~*}AEr}s46_HZhSyEC&R1UZfG=e@>h$Vs68nQ7nQHGm`RkJEo<@8yQjOU~tYC<`0D8H> zU)3U{hCpMc4!Q{U+%SFThW>0G@L4|$6Wbtta(uRUqJ*(M>Z8$HIFnUSXy3*LdTC2 zL)_mSaVpe7S6k6~x(A|KmaM*8a#5?j8<+Hw3su{M_`wheOQtI_S=xRlO4?N=|6JUo zc)_ckeTl8486RI_o4G5PTc>y$mRYN&ow<0Zg%i#?$+CXl&(gGbzB$eOky=<()z19c zp^XxwwS03+ZYFFcK^*gU^C0zS0cI+vzq$fH&qFktmOmJks|72s&Z;Z23vU;sam~S! zV+AV&MzM}5%qn~L_|e_tM?5*h-~NKnj9$HMlDoc5de_&P;?!MXAC_ee1_K2DT9&2% zYuQd8{mt&%j&0dPd)WJ%W%q{z_`X6I3ZFSp!r!c=`_c#Z4Lk&=ypJV z?I3$Nuq=DHz4b-r?crI;qpttc5f1U&$n{Qfnh?bm)vUgnPw1WeLVc93f5++#hOqvv z;jr7c?Lq%5+b!>|1O_rG@Ey+wA%e*Eaa&vxIS@8;j3)Sc{*+3tFs zQ8aBkmTm74n-lo#Y@_e($B&LiqhJmUV{aY=emFVBDcnCK#Bggpw&_h)q&b#>4Rr>Z>1qiXeZH)p6K+@W~syBYbul z0n-7QkJIJbdG|1RML1f)QpMi0bM(zY=Y^#U9cOE}F!J&uaMG>-1 z%fF5$tPJ^^hY^lpoc%VMuzxSuzwQpQ??h=3{&rAT{N4w%nDiFPS~h)4rOVgRggBFm zuEgtu(Az;>j)dLmg%2sjKHVySIJUz;ahxFo#_4Y>;IOJ7cBN6QRJZLOt8P1dEOxhR zs{Tew_r+>ky&?)wN)#WLwqAY^?omljJ&-vY^$U+yIPhNknZj+iY3`H^$j} zTYCH2_3-Ho!=~KL+F%(SG}R)$*3+zR&q9{qFw+G>sA4efcz6b;K!-+K2v;-t* z0=DjP6eLOm@c9J00SJ>)3Bi!)8)|7?Jw{s$QYNZw97}hP4sKXH!J-e;a!|(24PiKpbi__0l{j`i&krZk2slDW zd?XAp6mrBY7fWEo5~aX5#t8s8Fi@a);~!u9p&Pt$(@WTBEyLT_egF&(fHGA&ac}pc zIbgx*53;%7>rv@c4Cv&I0hZeapXg)OIq6MZArxi{jznkPJv)u}(3x&k2`W2=T5860){P^JS|LJV2nhy@&#DFsgD*Zah-hsMc5 z@&{$1lU+w5QKskgVGZ{rM#}1fHY_#lfxL`hvt~JWdw{<0J%04wy@Eu73QsPP@QoYY z^!(M_54>u=-lbpM3FM&#BHb4VBk$;(OEXB`{zQDB#2k@#r$GdwN>47g7x+^m(lNdt zU~hu=<7mbk;B({N{Lg$k+a1MGl4KhJ|LTV)cmh5sF?KV;aKpJ9?BO7wy9+Bk%3gHr z0eOaUg)=|EN`+Ls5bWmya7RIenNYxtE6-87+Ow_<|&xA0NeAjA|52_ z7QTl>oRp@DO?b%(2z_tcTRp35Z`u9Fk22G&Qeg+S$vDQzEDB+-J0;j> zUVyt0#eG2mGl?4rYrsK}qXBPZ>0o7%n2&9ESEJB?FDmy|Y^8w1Dc(WChrkUGS#c>99p-eNgFUZ^;?;* z>A6Hh1|0WUDJn&B8NnnLGRV)!F@?#@rczzwO+CF_ms^zYm>_HT}^a2)$y7MBrQ zmgow8*@ET3FGu;+m4Dfm^2?T6v6XtZQqNK9IZA(yBe&ux^}0&Eu2Qe7^w;f5$or6B zGXgT|($3f7s2sc3a6HenJ#d6K6r^e;RZpM za5OUutsV5sZ)_Q|BXC|wh7L){PBO>IPd?fIZ+1|h!ne`21cZ`c)E`<_&$hbVzo1~m z$2KSvjCi4bokG15=?QYpvg`smxe30>pYBg`+L9-=_xRE7-18%z4Ch;!*P>M|h|wTG z@rxcy8ejkMBPmnrpLAel>}xN8dk;Dm#@#{jWVm;*K?odd@ymy*+A9Xx+#9`r;^@ldj9(8=iM7WQ8w1YBmzy6*kk5t3Nj>7@>?Ct zV!Qb+cnFeB(q`-Tbu^kwM^!FSz6LJ#mdSv9zM}@NC)8tH#E7rhwhJuIq1;t$>24h3 zU@!2QjKJ^Ursun%JB{MmrJqc*^@YPEiZk(`J0Pt&Vy)vaIlc79sj`Rj6)QqW!sdJ& z#ihtF5wc*!&rN5v-`m@vHFk3=*q{} zJ7_>&Msa!>O=5R;>5o{a@+*`O3@}9P;~4<6A?`0$DAFCfa?@ut&q?7m5dFUIC$qr4 z6_ZBa9^7UZia+h2WcO$RTtuAi?y7J0Z$o$LkL0t5pu3pJfYHgBc&A^nX7W{vV;t>8 z;T4W2SfO9~=@if0m`NN~$8sD++!DLepGe$N`ByV>D<|_-ic(Ze+OWStVM-Z|BuNbh zmen8jyW8mdZO7?$hmO@9Z1sD?VSmdSK7K?l_)nrJEx%!#o@Zq?N+cPx^5?7BbgcSm zX#ca2X<&u@pVM=6`=4&t=|0&1Ec?{4|0%Qo8+YAp_hK;g#<<(-ZI5~vqrsLvz@EEp zdCpe%@gsJTe>ep`z=U3WL#@&&<-ipJSxNH*$5e3)zg*ynujZi_U@FpUFMoDp-vv(a z7g}oHYY;K|xuy%@P zI7XhIz+nmPh9L+Rn5APBmIjX>{g*#RX9uTe=dVw8-yM8BI{C->;rr9G-M4QK_8&i* zgX;!5y-iX){XzW+5mlK5K%##FiL}EqDjeK!>wtW*%NV;LmUSTNTlV>XaQX_wk)*@m zRw|RgP@UI2ij;VN3~{c`n6nIhMMF!G)4%qPgqt$G%R*p@uhi23z0iARu^dIYeYk3a zoHfd&xX9KINb+#$fu|`*1tQ-cSrv|vNbm? z@)9a_^_N{kN$OWc=z-wYV)Pl^wGnlo*+Cbh zPGKXC;y_0NV&+5RjJjpMEG^GQPXPhX083AyP56J8d27jGSlUEaU|F`}PsBoI%6Vc< z&W2J_5HX8rBb!~#0c>-V(s<`>G->^PP1OF(|GGn)NDtD2J_8i`TN+MDZk*(z!@o=6 ze;`_uRVzhlmViX-i(<#lMZ7hqtF3O2pkAa_=voK+EJDY0K_#)G>uEN0N9&@a@GQo~J&>6%w6WkZ&cyPm8F{ZYy9H1eX01AkZmB*4M(V^QCdy z5Cq1!pMD($RSfQ2F3pzCmCXNA?)L!qv zRmH58I*L4D^O?NW)8HkWh(Sk&{dQuW$;Odf7CMhqn8&Xo#%4kJsuPgvv*}N@AZmXxZM#NT1YkDmF zWr%He47S=ZPJ;8JS^iKa5gV0y(KB{d>|Bx122Y7C*qBJHK@?7KlCFv?8hKa=->O&$ z;MF!ZR!{AEY_EitD%O^%Z`0B#>ARRB3urR2>qX69KwKx(5_>o{oZ>6dUPu(`G!)^n zUoeLz66n@}CGFLM*tnr~1qbXcu%V`oICn$Xk&k>*m)u~xi&g7YRwLNz*C*}%VuMfn z&6w}~5jq)%fzajcIJNiZF=dbTuyQvhr59KYa*vG7if;S4UiD>@)hJmzg%f2LPE_?S zS#KF;BvY!wDuJY!=4&kDJZ#N*MB*r%z%aIQUQn?F?`shPIhL+Ct>Zy0UWtFF#F^NI z@trf`8}N4)79JG7Um=+tDfqd-;+~0Zz^de>eW@r zBmxT^fmx}>JjYRtT}b9ib|8|H2(qZ{20<45HFu>$8hZB3Ky4$a!~(2~nNRZ!V^N}6 zv>t&=$p)dm`9=WDQb#<~a_`<1lSa2qCqxsClfS)3I$4sl4 zE}AvbRYa=PQ^{x{98*1n<1#`WbVk_8VR&|l-}#;wn35q9pmqZ_d@hsyPVJ)G9bUkx zD$p$|kW>9i$pz6%jZv?lHm5GydfLH? z>o92ow0lU>Vt2I&vhM{!-8u-8Wg-4o>CxIT@7=c2>LMFQ;uNmqW}P=U+%=wzg2GOd z!sc0PdP_jIu|4x1w1A?Pf%Mi*Qo`Iy75sSvi+j-DSJtelJ1r14S3U{L*f@SlMr7;zP;$c3iF`^|E>^*29jj)rR`ZUPUb-kc^&^=C8v=r%2c~^ zm~gB9M!3;JT@PH=1)%$Z`jOI|WJR@v=d^1WPfgI>SEwx`M^2>5pLi+3H6x z4Q6V^5{QXF&Fn-Q`SPMmEgk`0SL1?hQ?USCvvWp#tCBm++#Ic3?jR@ST4Qx8$GWHp zQ9f3usR*$w8~kSW?p1Eb^^Sy)tN?<&r960*L1kmKmC$ef<&=$zxXpf=?^M7k;pOxDs3_H$#(nFXo3t;e z@V+{jC-_5{Ko7+B<=(mxWKy?>I}-(>dX#QdpPTj(ZS*@tMcPI+2)wbj+)+4+)lqJd zGh#)Flb0Np5ql29u^;-WNp)Ryp#X*aaC~aym)uuk!;m4E_sL{`UNxVSRb0K$ZcL1? zNn4Z~n%XMch-mrzDWnnB-{4e$mYI@$yu=|$;lx`%fvAyjbc+qgLMiE|k~}ph4OIw3 zv>nbfrOLFu4g=wEI>nw(^ogWG$@$216rt+i7bq#n2CT{-tGgGbk~kohp^u16;ZAa zv*WIOJCn81Mr%~;MPYP}+~C^1P3UJf4e2HJrTYh;eO+5>b<406oLVXSJqkII9MUa2 zw-zKi+6{utUoU%Cdf4c;wH8XPc8Wa`>L14&G}<^T_=>n#9larX3bzi`H(6$Xh1$HN zxSemDOVp?I;yvL$RK{sEGVF*IO_!NVqHj;D&z~_9~|6_@QkL+$QZ4v z-1$0mQHLe~7VwC!5J_c6+p_&d;3B`n6nVs~8;L5tjH7EJ!AVWZZIa~kMLsPG1(1^W zPBLhLorc{sNa_qDCgoXga9$_#_as4)XcHWnsikG?`f$p{ypy#8#gg6$FRyfTkZ)!2 z1w=AO?p=bG?ps(xb$RPb))6WB(M_Q98TMXLkM#xClo}`j6rE$mSzd{mU|ecHXqxT6 z!g4ccpWWm(93hB$B5+u2k7Q6tReSD;k_NXN$5;~f;neKvWWtZ+6T<9+67_}NfD4x3 zC^6IVmmH(8{-rCB1&6a#cH*`E*|b>@L!nlYclj*;B&A2&`&PQqzL`AZT8MF9<`-Hd8VqLZVwZd z&)0YaE;$XUO)qqfz`SqZsCpJ@Mz&FmTA+;ci4G3=aO(d7`OlsiZ(xd)tD!r^(YR&o zaDBZa=&6E2c*^%ba2&N+XPrQfv06libPAPltp5~h)54ocgKU&D^hdf%wrMAH1@*IT z*7NQwrr1=u^#szaVhH`5v};swCdGahcL)awHdShN&PMqFPI4qPI=2uqu9Hpk?rauE zH~!R3ad687Jc1h2Tz78t?o=HqLw#o==&+PqG+!|KVrjkt3aNiN$}iL=c5?w%s@4Wj zXHm?E8dOhb&uo=gNz`=-x`3F?gxrjXB?7)r;;l=#%TOz5qsd(T!ID$ zWdy7;EJlPcHEQI)q7cihQnRQ5L^$L1HcCX-JC&t#mv?!gMixc@@?4d?08>^a3s1Qh zg=2rxxpw35l+ebj=msKu1Tc?OAF&t3(LD7b2A*yZ!0cps0b2K?8;8V9QD24R`n^C@ zDhN%elu?Nq|GrYKQ_&!5DV|tqMI&?^U^l@KnV3#Y7XCKB8W&U=NjET>Rl#9)4^zRt zqXrklxv-e|Fa;$y!^Y!QSp{XjWxA>2XR7)te|N~f>rdCnnaHf}Ch-Vds zH7(N(F^`_K(D2@y$1p8ksxus?jrxYdPVK_<3}x$vgmxSC%tf6#MJw2y!gyh9Qg~Ae zPeW#?H|XdM=7Un1!)zD@1wEb&3-(bFqgJ~qG}`j>YfAgR?kQ#OJ6i^OH|jKZAH=l)su2sAsZegAB zOX^7Zv}8Iqx}iW?*=3$f9IWh(^Af<9m$cq;y^kW=e7Yk z5&%7F>5`f*{~_vyR1i>9i$$Om2BhTr()qLOQpn>I6rqPMCtgF^q7y2c=eS{U$O9EF zy<$Dt4IVzD%B8a;bFx7FV!q&LxPuPd1b5#0kQJ_tBKg{X2er=IFw`RJB0c=Qwi zNL%CbOq=bmdx1NhS+)^(Xfq#%X1QM30MxEcYi_fEXB6cUDVag-)tz4Tzh<#JnY!qj z>M}*Trk-W@%=;<7@CPEOYAwb|8pT?65O%98_GE(%WX2etJ*$!nRbJjkl@h49a<162 zN<|LP99FcS+d;MFc7!*^#8N>t<7=USlanKRr4PZ z&Ae;LY4=qZTd}+)OLA5_w&azRWM{G|71czyxTeSs$(F2m^xxmYjl|^u1lirPGwZIJ ziPa4p00#%Rb9v75@6rDPw^Z@racTJ>4nh`&7D4v;Qex`Qnm)Wa}Xr_J;GV2R3R3|Fm^w6~cU)&^1{ZFaZSAvRbaan_9T+4?ERY=kl&V zl3sVYsjxoctaMdyl!P5j=@r|4b)RKXQmp@V?UVdWe&{%^T@ zjYu!?Y3_Y1e_;Pvk3*=zB(zZ-Gf;}5pR@A9H( zyy^SJ8=a&@`C7PDF9>;8417VcR7pQP?KOE_sPX0Mfpti-nHHkNIUc78eMFYal;HJR zkJV&;^Crsj!nHdPgfL3hR)`sRCWKCTp2#ag+zi33Lv3DFcrd~_ZQMnf;&;I0wVtc= zYp|i|h+s4<)+fMIh1OYdP(5#>F0h^zlhl>oyQexQPA3=22ah0shqkHGh518?nmu%v z*Tlfs47qP46F5`ORNJ32i+t{s&8~7aeHSFb6lY!HwMViMn^rLqkooDs`;;;lwisAm zqNK1*VnqucJ_Pv{(r=Z+%c`D`xt@(j)aR2Tue}^d-%L+TdSkJ@MNQjvvj^)ISWIeD z%j(|iaq}*F;Z-@agMwhbiJaQi457Oyj!~M#_vi{E{1K1mL~ib`ae{(47IenEI52kC zjiK@f@bdr=kvAI~m1;m5tYLVT7NI6hh78u*rGNQEZHAL9xM88=55LNdfA<}z?9%4n zL?_w+7NFa6z~2V|R!>kHM>`dT2TRm0NXGjESvwevi+K=BiU!%rFX<6oHhqiw;*hG3 zS}M?WO^B~H-Ry#Urgi^+n>W2P_k+!up@B)LZv2|~HmPc|1bD0P16tlmiAbgMV*Qts zv>*@aU(uU+GJZ*P9!>%FznkK{Jo+-acEEf-YNE6E$-KZ~8`@13( zg&Yc|vJ8A=GlkuL7}5sIwoL5E8hmN`8t3a2=sC{eCUK_-Ge zysv=_;mcz-=;FlLBK_wiy!14pEHK8UO)8sJ>7c@y?NToVJlPsS|c&TBr)x7yAY9PFR(-QuZp23%X`Z_9rD*s)o%M&0>!9Cg zwU%b2D4EJ{?&?j>gDY#ngcz`rI4)~!stDK|B?5ZUw)yK+-d6M*gjHKddTxK0)QwbZ z`6{6m4%!jG+B7kxWMi+BoqbZY90$(w0fkNgbk z8K$XZm#7p05_*osr{M4Ded@Zh7(RkEF6N6dxG4Ae^<@!L?s`kXLN4vgE(^WLn0Xzei(vmgiewwa?IFHg_ z2KDx`At&Wkzxj-vQWEj<{2j}nD|^g;SB8WwnKH*r1IXJi_m2r)>oL5RP`1a#69TPI zG6uxy9S%{EqMNcM^n~5fp0tD#*{7LnlpH11GyZ}o<1{_|_PD9*5l`=gqGIIOB!Fe7`@dh#FWf)!TR?2BG3no`d(8}D??KC^O znHBfzf|Rn^W%p(l@=%BS8V3c*3UYzWq#k5Vev7;B813#sniN5lB@lLWio%QV6%xzzqp@a^ojg`I$6KictBwk5<_b+o8chaMW6UMDy3At zdnwKfqL;M4mGW}4QOns<*Qu$R6kEOQB{8rkztbqFRzwMt`k@^KW-D$@NA){UtNtaL zp!a9T?~X1nem*)nxjZ~&|J^^_e}8dw=G_KKD{Qt?wt|x|n#k<}8ZwKQWUr^Xsrhut z_az3^HFKp&(xqkSGt;@50az|I3g5c46ms>_UGJtj*zjPjkD^tJ$Y^l`(QY2^(lDAt zI6vlmzDVDZ?GGOCGH!tG++5FHmhkfzVQu9CIthL=!cf{t`H`D`yd(Bvd7pjeY1lOl>Wn`17eS+k3T zypPJaa&2xxva(^7HF}CRJ;An1(|sJ=JG80wXlqTqW~`p`KCFMArDL2Eb}|R;w>Y@P zKPDMvGttOHTwc~@PSFLy$OJupzJv~hN~=YEF?%hb_;6T`1sPSkJFgr8(1|~&l^MES zqvSw>m8UDS?DL+2NAXi#xi)oO$F~qfiBs9pQg&&l1|G(of#EUAs&aD%>==s+&{8nYWTvF@1dX~{eRpOR9 znU^ccczOrRn%>rZ_L*awGSj)gXy5qWv}m%e z6MPrna}+I0T=IP~emyUalk?yP(?-<2Pk?<%0f*F?K~|AlJlhV=Ro}MOJ-Vb1%p{0; zSd-cv9eTs!C1-X=)hb9tZK@P>Pvb(jR6suU z!)@59o~>n0l8~~RHBfb7;_q9~0fgj*(Hu*(uPDd98&y><5i29@BH!D7CEEq?qqzRq zJ5u_gK;K)tq+F|jb_Fb(<0rkU#ekqIw+IP915dsd08G%=dUWH1yOeHwgp2dXfYCp0 zWQiO@*Xtk@Y++GMccnwq_OF8whCxv7OF8OaZ!$XLX#$EtVLv1m|O-uQr6fbE9 zZf2QvF3@r))J&_oLvz!t_#4)~IP3vt!|lS2LXA$V2S^pqECl#CC;!6XX%gR`8nz$- zAvACS20*E2ZGapSB>;>=PL^d71a4@bS1+ui4h=vs0k?6vp2nhimWJ)$nYD?R=#g?! zgBEW<=hM_nTlSQNT7a12ZKS(Gw(g-_f`Yy3mJVi>+O>t%bt|9c|<+{1bO1B*UR?^Nekcfi=JuRU9Rw%wb_F{V=tadDldisWg7}&4)*$t+l3}^6phSOhg zIN(`W&5_G_MKeoiltjFcU{5Ptr6D*v|8PHiqC{N+_*L|GtG&$*pKL~w$^!-*)ZF2? z`s<=uhzDy_&n2)Fnr<-ZkQIGzm&|Olvr|9MK;yp$GZ2E@9 zs4vhXS-GKowcHg5>N=LVYpjm`Dq`A9()OUXN0tah=Tw^2Jp=hG4TqEg!h~lf>l8lI zdOdV?k3yVB(`1)8T@gzYJrSPdD6Qc2C^l4%uxO=9_JH#1bRLH#j0cI4n-Ry$$vi8r zv7{*k68A}mwVr~aVkNPV1q#fmumO_+zP6u!q5*lpCU_*W zUF@`KX04jHwR$h|Ov?F1Ob|O1OD{W2844E0||;up!L^`N=nMB0)B^bG^9ZV->}T4jS6%rDWeOtr(j zA`1frC{kXB4rhby4vOT;q}KzFUZ3N5(m+eH{Em-!$JMTn++81j5nbN`yT0Y_`sj=3 z`nJ(^n^xB=6xG}le~yZ48WCJ7rvObYsGjlJro46@+x7x#SMrg$@tIprwab*73g1KM zw(%uz9AEI(VCl+b)1_{NaM#gpuofZO$WQH6DR0lCtC%3V)64v8%p&HM7Rw7ic~IBL zbXk@?a-hXjr!XU}DC$LLL<21?QVa{5JA%|{ckN6FX>LITt{^_*X0_#i;~dCBlzz;SVqZ- z;LML_*6hnQ{j}6HBO0yVopE|yCALrv?cq&zrzI;}S>|izap;)HY7+SjkPH)15#8eT z@?X>V>>$HQ2rQ+$KAMF_UZh4oq&B@sZC0eJVluO7sme>f!#qrd zli_jYOK5EBQmRTq1bt!@NTy1lx(OER{l-Jm6W`)ogPeA2F*L_gBp8JqbQI*cdpa*( zr*mSnuX&LJi*q8aG0>~Wk&we@3Cr}2E5U@IuGh~SG9BjB0`|mkI>>%qq%bn!Uz+sN zV&Q~bhur5MX^?JtJMS|RbYxE zky}ah)gE$0!9!s)&tPk^huf34#;eMA;POvui-J`}`w?&Aqv|ol*!w0<)9fNWPKtHd zRcS-Y^6omR%{H2cJ=BsU>jl;Y*51vky^uU=#Wag^9hOteUSAznKm^^6AytkO0k-UW zm2FdAs-ycj$@*ORgfKji>@Y5%5BeSxZ?cSk(&A7nHj1L0sZaHPfR!XshJEQ_ajK-# zw&PmHp=3_fy6~OS2lPyNnK$i6dyYDLwaOlSCfdl^ep^U^p5LM7|l7J$L0|<#9a#cjFdP%W^?WtC~s&Y)^%sJA1Y;qrmr#vZ>PmYJDY;Au0&NX1!J4Lw@$ zgo5y*CQ$4KU~ad>5mcq>kWK-Nz8X|MU&_wlzPgrbyxHuCM-6=K0c_GnV9P-g-B8iq zk24&E_gt)69ctCP@t8$u(AG{X1m_!^O>r{5H#5<*5m1i&9OUHp84h2wgsiapkM1PI zo3vw1DsVhRHV2b7E9m=W2v$)a{ z8aIa8B|}S@ni2S{)^AGAaZ{zB3=7ewm0?XQLyuPAy`afhMjovw81C(6mxCfc%G5e8 zz3pdGpSh(>T!WsrnJ3gZW$SpJ<)q^S@wQ*%Kh6cNk z9>eM=|6rfTq1QYPp?Mry=g}h|_)%H;+2@f;z19B!=~Jo9mq3ajB)HN5{qvt}0&L(B zo@fj8?z=uaofN`EP~-(ih88Eq9Nc!qjn@TTS-$~7`Wo1G*TbUT+~^L>zA`2wY8$C; zMM~ja^hx>KbSOgHy+q^N9vXt)C6qxboP_RmR22gPG!4a{_}G;&;-h(#D8k+hi+`me zI|3fEc7z+)$y|{gg4i@m|7HPpVj8|&gm<%ZZHt1UE^`}g|N@sU`s{g zNm|eiNp*r$@iI3D9H~LJItdcY#065D_bz#t5(pyi< z=U}|W-_OnW`ZQX;yi+|A$erv5TogE?$5E9{gl?Wo=cW9rvDs;EiFXLdWo8hnbQVDz zo2I#n%>ss%qBTHw$p*OTY<3=TdPst7-v4sI@x7^s*CX;CWs*4T{iS7|BJd@l?%4#H zSj(@ljA`zgu?h>2l)yfgLf3#OSvFN?hZmM#6C)PtV>9b?W>Bc~dVcGrjMRN!&f4YR za=)M(+)=XlCg!?YQ$9CXK(xGTk0UQ;`s*G91uH(15{%MEWfkxl-dL!Ry0Wyex>BH) zCSQxqc7OG={jW8f;AyzL*=%vz73u6W6ZfL(DpI~q?OqQwVlD^xPr&&FJmfe?&=sbC z;}8`jF(pY1p0MDO5XVJ8gFH}_qnPlhxDL2K$vG|vU}aYdmC@cV@O{pHm#ca#p4M_v zBN~w9KX@rv^$G=J(2=i3){&>YBW;J1LxgN4;nkr8D%tJ|$j|vq{;=_{=eFOQT*e;^ zzr<#$j5Z#Ax)P|)-9omCv44PjS@q*8UNnNF>tRzmG&Ix~iF(W1Rp^qfjGT(5_z(41 zbf+CJdsYkjT{8nqV?E0Z&Rq<(1mVZ|=?B2VtN@lmS-YiI2gw39u@1u>4nXMxtTxb{ zC^Uj8#Cmi9M6cwPSCR+cG?0~B1x@qd;ZtGWNufYDl9~Xz?9f&~=L?M&mEOnC{lOqy z>#VU25N<4#?=wu?w~tA}h1(!j8K^B#*plZuBV4{X62gPtiORjt?})MV)nijaHf6tp z0|Qmk`#k8Y)*^!!+6qLl`M?)v<}gi)x9L=c$E3U9ak3u34o)zvwDRl zpby>HIV@^$C9f@uFh4x~TSTmpjcZW&2)$MVZ*obR+=+k}4T9HX2Y?B2E;FC_2A|dC z*j>u@nKlbftJ>zAwB?**BKx0dl+dVaa!9g)m_n>$C|c5=tB0n1X7cL`yNTyzQ@hBd z1jl3-Myx;SxRz}J1Ya0%&>)(2fWUXsmg|lWl1rjtwV~y3C|NXG28&1wZ0Mu9&J?4@ zV;I#QaBgYZr;$m2NO@viUyVc!+ewsdHkL0@V(?Cx+H5CNTMNq6Ikw7?@9^dB72T4c z`UAKP$fK=TSUcB?4E79@BwV+UBRc5-1r|Vi=qF5abd9=d9>Q|`CEN@NAusFct^(0y z!tW-W933?o!pK~b)Cw-hAD+HTZ}B>zKsl_fCS@ENAqn+S8qs&OHx9;D8LP#t+yqH5 z#o-~D9Grxd&S`cSO(xx2HXL>0y~10iW(;1on9U1%eSu~7@bsrBE9OB=pk9Jv{n>!) zswh-cnL)wKS5na}`{){yv?w6fu^U#4u@QBVIx_<&Rz1AlY*pX2FbtXl z=ZY>T#JSXvlt0q{#($iU#s)V1gbVkx1`CTEW{i6Ig6&T%pzAev3ES!36idyW?n%*2 zd%n&Zy{;HHfJc=duXV2h3xk!jU2KlE4^{=V8=2_1O{b_T?M&;)evH#(it~b+*m+XI zLCr{|DsFc@8G?V2K`ITp)n-~(!@{$NgGcFMlSR`)ya9)2yLdx?oL(d_VZsVx7P2a9IWCElpR_Qhl6>LSayH!KfW3mi|DO+b(84f=9 z-Wg9M2>T0S?>5(x2OhUGb)8(00!HhZ>BNuz-aw=-?X8k2+Sx!m=STi7(QRf1kM7g^ z^fY70&=tPnExqEsqzO;azt=@_quqMcX}e0A9c$Dh1U+j5#H&x+i;gm?hDLqzzmMbq zVmRrnoqzfn*SYeg0YD(9=VjydUq|1c#lMwVj zRQ-3HrL?~DA!YA0@l!4CQsxImFz|&toSoXxLakCwYh+QHRJt6;Tce!JUayBTJWI1; z7hM;{EZ^<*CTTXm>CVX|yE{&Adc`$?lgoQE0>(+3d3GI5ub<6uMw$tdF@9EJ&*jg8 zBzz`@mUjo6J1@5TFM6|Jil1%&WtQf}vlq|%!>ygI=C}DDXJJs_T*P~xCh`68gnb#3 zR7l=x1V{v2Y1BQ%$%`;4V%JLIpPKa*t>12}Q zf~sCnqfINy^Eu9Y!~Rg^=QK5)|JFontP4t5O_AM$Zh(qk^4oMA#Nrz8-|N$~D_sSI zRc%+vIHY@hNb_xV)CY=_3^Gv=OUTxxzr1M4<65mz>7cbY8P2b(&hTv9^gfI3qT(8n zi%mJ0HC0QAJhXaijMoI>JSb4YCxC_7tUv2_2OA{XCP@nv#Bq9u!!88l#74?>!p~T8 zjxu>2IPM=PFSFB(jov(w4gPh^GTd-%FR)ey3zTkzoP}gW`E?d0A6SS{RI*{rFDS}5 zAJ8O9f;cvW(B_^wP1{_<<$NzI2N}`QZVu-)0oefU-BV zEmgi&IY#Er*5d(h;F&Fv`ux*O1xpx?D*;B0>wr6FMSEW80TM_5{r-sjd2+G;w&p=e zPA)hw5b}@rIbBiR3F}ut?U~|Eq-|^mX-xe{P#om!2}iOe;(`Q7Fyw_C|7LlVQ#2Bq zrL(Nutw1+gRT6!+SGLu>P&}EmdW!m>s%>{ zF8gOqN!K#T8^MttSteKkv)ms-04} zVM+h|W+k6lF#ZrsagXe}d9PedT{ieTgTl(O>fX`rSFdS^|jJ9_A3V-F#B#QAHqPHu4 z!dXt=FT+3oX*!R>UDU_p7cT|@4zGf6Gw2Vmww`Zp4TfX9g|7yqtLK0I6S*+4eK*`i zgYBK|7du=<6t}lqO}W8nma7E(_#cvusJ`5MRxwT21<0 zS%N0N)k@Is$`VW$p%r0YmSvdrR4c>2tR`+gqqF%A=Xo%tDlj&chfy$1(!7Yq~GcrrIC=ESv=yQEs7e9OOBo8<@DQ*&dM$nn1kremfQ`-cUZ1FdUXmc)_2EB8dWU41T?XYJZArEPL%0MlqQEPx|51k z?Jhu;K~=STG>>scTsQh1w7CVzeTYR|WL2%!i$!W73UN{p*Mx+;VdCg_5>FW7iS)Of zTA9#LBDkMSV+^&>LBDNukWn(k6Y@)gF1Khw8J*ggePd!fNnu3=^Jc#mr3H9YRqL30 zI#90A|Kr<}EshBBYy_M(h#)ElEz$(SaCqNu7D}T*n0QOS!m?atdun zVfiLO6ce08Vy#8Q6EnRdcEKDMs7TS1_XJw~$7GU@i2>t@|HgG*3dC`~Kbyr74o{Oe zQI;33(p zh9k+EVSl@h0M-%1F;8_E!guKBAS&LZ*-;XnPWadzROQ|+i*hNk7UK0D1i=Is_XpQ_ z{2@O|f~y#7K%eCG`mJnFI^TbDbn*Agga0@>_}jUuj!njCGLGlD9xX3)tf=WZ$?o$M zr_By9=h}(ECq`ZR0E->96x%dI>s7obBB0CL-;+Q<5R0@PZ0^Cm4-m8>8IHKt;kN^% zhWDx@td@-m`;&(vglh{M)-=EoX_HDOld&=ffYOrEvcTzxCS{Cw&q&Xkv%RST^_H!9=c*Vqp5duPI{7~ zAj3=!2)OSxMmf1lOvr)Mp?^=vv5!dlsWIP|b5;(I(~dG_BlPv&SDx?7+@xSoqs1n`y$u3M(%BtD8uND&6gEA&JpnL2-&}6_ zV?QRr4NfQP289h66p{lV#xnagR2^COrfTBUzw{}NlIVR(e6651nh6|-rF1SvyG}A6 ztl$vv=~4^1!M`;XE=P0Cu!Jh=p7oZz{Viqa+z+q$*vou+EdiLAw098Dw1ULsMZ@d` zNTdEOsqF&X!4`*B;IL-9ibl_}$1Jvp8bh}(-Xwc~urYCmK#vEDTE5xiWQ}(CNiHUU zyglY|th_lq&JC)Vcpr?TWa=ApSZQ=7GwK*Sl$AMDo5bdtBe~Hg&WKiXkJOOL{?|N+ zqvD<;(&ydV^ZR5>qxCcmkuLU=S>AEAfj3yN#Bht}RRhnl=MPH(y&Xbj5-62sE10w#M$VN|49k5J^))2tihIWE?; zlXol^DUIy3IyL?mM0tG`17ZLpVSsK%-Zvt|ia%rnu5dpQ>sP*AWCTEgS$1VBc zsvSQ?>i(TbCBIe3S+nw&RJrnMowU$FMGA21QV}wt1_ThXe6Qi)(k9 zB1O-TO2}a@Hfg#YhKyywBT9lIaL1K=!9#6sH!H*Xu8B{aB>m;KtnN=tV>g~>%v9Ug zRdp7wN@@FOxcDVALXyL-q;*Rysthe>7Y(U-y~J?mKM?4bU8G{X$!w_hB6A^=tfyuo zK-bDOV@Xu&6O8Nw1?8|Y);I@&?HH9k-M&g59Vg?Ay2#dK-*HVW(%h(QQ#?Af8^oX zm+oqZ+kAgN4Z|;FdmpT7J$#9K`{=U_w)sP@QX(Gb2Q=CCDM@miW<1;pjSAfYB z0FHl^T+yOxquz#=ocG_l6>*4Kn2NNTPC%XY0F#zqyl8I^4XiE5c=r3@pqaI} z-vWw$ML{#g#X&h1Yc9|VIzm(y09Gvw3$Afk6H)tZ8pw_a)Qm`T`$)5M%(@Ldl2*yN zsC9=M%j%?!L3n*GnFRGme)8Bz7CpoYhz)=R!i_QIkS0$R)jm5^s82fd;~059ZiB4(5Y2OXo$D;OaZVbN&YoFVc%^ ze3XQ~&JmClRUpK=0PA55iglnX9jx>??d#R4fxnq6BJPshb0_$th6%0g@wm$^XU$en zt(nPFlk4Fn=D}YQLsf2z2P6(hOz?U;7fV1?j*|(&j)Wiro#u>Mw^e?Psv1N|U? z;-;UXEy!3cV%>BS&0^bpZ8eWRxM~kv$^aJ?ig)w4h-NW{T5AlQ&~%w!kX{ zD%k}Q^00fTI|Q^dIO44yV=?|nY;GhrXO(PzJTA!Yf{uzZQ`8+->yd5e_Z1v%&0nHD z@SK1$=W*I6X+Z!>QWA+`kf*9xEcLCCIOubhAH+d^4TJ^J$Xe6EPxa@6si|&#y&gKl z=hs0t!z6KWPQorxO0f3crs?dbAdAR1$N34q#Tj$b2pOUY`Q1D;Nxy8)fgb1P61b%@ z%k5S;==W`lqV<8@K+yrbX~9J9(hUmo386l$WK=X9n$#sx9`qa9yE-?LV&D@G4sl`7 z(c7ZV1)?hs66FR1I>;;B7&hZZG4vfxF|@yAA67C`{+zB;R`{0rVfpFz_ z148Mu3q{@-`~t&sNOuSPiC-xANbLD}f;pCIl^9XsQ7-BZjB};;)Mu|GQT*igO#A^Q zhr3~$*mXjSqG>7FDM0;Bo%YNEUm-Ro6~}tfP-|a42`O#QE3S!_D(lMVX57?h8Ney| zT~rW=Tdf?ZH5~^zMuT1RhX&JDO`ml|i;qn~OS>_w>qZUsL0uz!W_D|}F38;SzepMM z4_w-4B#uDzs3ey>bm&WvOy%mqG;o|#M1>`KO7glHujo2q@sUU~LmAXOaeHpu{3>L1 zsUis+AMM1kwXj)bK&UXC^S^Q?aUF65g%?KJ?VNmJuFy&=#4KOR8kGatB@1T1JF*)w zz{92N0D2~M>}5$*Pa^~w9MztxR!9HvSa4&vArPHYAcwp(S_(KsP)qDMIAGJ0Iv}~c zClsgO#gmNXm|?KM@IgM3;4#P4a@%<3JZ7h5)|aM?Z_G`0kNjhC(zyG!;bMO&T$GL) zyVeor4|H594C6f}i4PmHsA(KAx(jlYGZS8kA(KuJ7Cl?rXh*)nO)}GLu(+_$NBLYg zzwM42@jO?juGg!1KX12L2uhVW3iXU;P0+#`BZc`X=t^U=U)$E=M)SQM47S!cwR^o@ zZHIXg1zS>Sp8!mn9a6z2dp$MG3z!j$DAMI$Rj9jaJsVVUDE<&@wHc}T;%9iq$2qgP zkqmy+AbGzop|mYbfpy!f-z!F*17e0C10IP?b#LGQz*#C*|Ia~|81M&VS*LNxZSiPN z0>D2=lSwq~-UV4AlaVFIOqy6*-ON6QTpKO#w7k`F#Eq&YhP|H|O>G!+3Ato2_|3{6 zFuLW%yGvm=%Rrr~i}7llCg;n(nLu!s1l)S-q11>q{32l}txzcvv-DhC~UE zi7oJQ#O{N47EpSq*fMdO_|>clU19uGx?Fdnat3odq8s<9gVvsqwx7uPN5@p4P(YGM zqJZ(V%Yc^&=JItgn~}_<6FzAfu}kMjABR@ofU@>Lij#)%oA9iCYmGp zVU*9};GSDWoEoRp)HXqm6Q!cAMT!s8I8y+*H|uM0%@r0HTY5sJd{?uULn}0)HlV1fC@TU15@FnWl6R4SWGJ!O|Wv zyziP3D(i#RfepiC(9$a`WVcsz$GC4jcNs-5Bz$`Hy2k7mf_6`D2|O#qJuXm&>9mIE z?wYtDkvSE9?*a36ZY_qhQ+C=$%hwK~bWRXqYRP`~N z9?4A29;xrsG!`{#b5XpF^5P8V(eF@VmL)_x#Zl>dO`3Wsl8~#8)x;Beeb`ZxAp-j> zq4rDv*A6B7%ivdoMqi^rzce*DqP;D!?9eQ`)j?=ve!bm6!xzT4n;kS7KqN+H-?qTA zFohBLZ67W>(7*N$7NOOLv^vz7$pw?YWdH*;|0MX1%0>r?zr^Na*VPK)X0o}T5dCbq z{gK)4NMvP_H713s5+TwxWY$)PlNZ&b)@&oNZr%-hTefW9xFyw6`@=)uekd%qh)ZO7 zMasXVX(Q?+9fx&-lym^-B~AVay0J-~D@udwO7s|w6D0woAQUR>-_?j@N5T7)S zGRO#i=Vew28ZLaqtd#9=)$8e6@YR)M3(E97l|%L9#SLeDU_`7>l_qfN4YG99-R~zJ zwnDv+QJm#L$0|XS05~j!Z7B*gT4t((<}yQ<-x*Kz{>PCW(PJgm ztH=RcBSz|wA5)yXd)->HL<>Z?YT9^gAuIRzKZ1~n`c1Ycb(D`JSG65&BT5zb_SBQu zQm%WEp3?*lYV7bMN*LFAu0*ty>kuqWcIh*&K(?!Zg+z_aiL|(yuqi}^&~;FGy%Hch zmU~+(?P)2Y4MyZ8oPzgzHi}}rfEYGI4WK$V%2#q{rfepvi2n#g4xS~eJ!({Eb$+yK zw5v~u^FfA_X>m=ISv)yFe?#>-XyEcIs7^Ab>c1Cyxhsrbq5h;^!KuEoOlKsI`~m|C z1VY$;QSr`%@IcPoOcLTfivrqkgv$C#eB0mr!~#<7L5!$T@JW=>GtQwO%J)4Z(a5Mk zC-@|V@_cEj?HP8VGax`mZW)%znhiRj`@f!mM5zIJ5G{&1WN~E!+ikSvP)^Xy>Zi9j zi&Gt*q%Cim`LE*e=>If>S%}lhIehsq&){DOLJM)q<_WIX*GiO=wGLW)pXPaV6=Skn zo#6@2h@tqX3KFqT(+R#~sz_$`B93(Lf@B`V&UEn0z*rmTeo*FdrTi=tu=!6BOadP@ z(8$`g@iiWQV7v8xhEKB)XPOstlcQ$1Kszv_K^!6rF%7O32PAO0^m@&S$;@$*1^nRK z&$8e?H^iU0x&=k>%daTNGC7Y9{g$=CwD-SiN50Y-9FvZ);-LOH$g*E>+>MeDfBcoe z8^!FDb*q@wt89>EUCNi&_v;^tXnpKP;YL^ZRIu3!vP_Y(TE+5XuF8`%yIJk3G~x^G zTk^o-zy&8|Gehk4HjFTP8}XGDgYdBw4BWQMSezq+)f^-`Cs(oSHT0w^_Tw1xqM|^^ z()IY;J=8atLBuN{Y!dlKtygHdmOfH-IZ*JfjzrdCnDbvMlGhOL=D=7ZY>$=f>aD$ZF$qK@s(^+b|cXRHJbso8!ZQm+4 z2DWRqX0(pZvbEdrBG8DQaw=Xr4#i9Ok^@b-6#U_Azu6LJ>xykS5{1LI;URHncs$Q?x_wuNU5(^W+r;4of~HiDWg)h$LKkicL<4dKE5Z|+UYf${~^Q}tJzM?TL#w|=Ab zIj`hff;K`(a$BfItY`LDc?a!ziyzaUTO@0b-p3NX)@MzFGv=!tFCfS6m-*2CK;kf_ z?Zl6JAE;@h8r}fwg8}VwWRAdgzf=nSVPEKrh^mcK%|oOQg5)(dZ5$`>vviE}d_Rug z;o>^g^uA5qa$FMT^}zV+S}~xZwV!Tve6fesG&i&~XBobagN<9IO=VFFr1Ey8S;dV` z7m3e*YWmOarzJ?ml1|u`-dIc6x%yr^SCjMX^JrY?$Qel0Yl=ZZWKlW<_X#`@=?a1L z07X<;+&r$Q4OL~9JYt6yZo^yS)9j5?fq?5*&Bf1qegsk+ggw+p|NJN7|2A@utz1Xs zRFC*(5NHxuSF*f5>%arTac&$#KtHwf!bEf5=$Nc6TWO~1aRSWudMuh-T4NN*i_Ag? zMa7dGi3N{}>!3iXJXOqNG_T+rrS-IRwJ$w%PBCvqQ@m*w2lLV~a9q7LkR*uk&`NmdMYs)Y7~Ol{q}k8c zX^deYbLg4|YhD~B*=3N=QiJQA55nYCn#L%~jn|cqz~q;}qvk>xF5@<7VUlq?$x(0Ae+A-!p3rY&FTyj&ts) zYQ5#x&*Ksoe>BsoFB4_L<@&*`+LyBT+5r#p5`7%zg9)Xl7Iw{e6Ic; z|8-NhtWkma(T&IkPwiBh7lnWeYH4rkyHE!9*w|KkzRO6%AU+htF;{jLc|d#zHt06v zt)Uci+?Lu5d+8%y>QKR~wO{fu)pS4n#nTZ_7uwD8FMc`Y7h_|GBHP%vwtFM8L}@&S zBQzkEM7G;8GT#g}PY72AD4+66%ygs{4=owBorV2-^Lg_ZAs->}n(>8JmHCYxuj2*U*<=k4ZZtS#ae;*!n0giHpIHkN!y-ek?`A! zOwfH$l-eL3Y8N^!I#?HAnj-t}6z=D(arwxX$Q^jZXlnvlBU##nBVp>< zQ)?0kRKxggQC+c4R%nE1&)y#j9oZc!_a#;zC*cCM1&gHdNFDkPNx57_Lk5k4NZg@G z$e{hyO&w&ZtugJ=OM$w>Zd)(?m}xxePxDy`)E?h^n%@)z1dZF1NWg(Jx!&6#hed2F!?g zbYcN+que`6rcr{std~(rBFxJU@6Tpg`Z2l*3LM|F-V=gmYR2yGj&2X3myDy^vmpiG zTV9ukjk`ReUEbW<_U-aW!|Qh`7h8>CdT+0J z{?MCAb)R=qACaj%_B_j?q)=|o;Pp#fONo=H-LX<-s$oDvfbOl8r9g~U zZO^J0aL%>gJohInnMbK~``A}g(CJID?@P3qPePPTWBi6>=;FpiB}i;Gi=#1RU$@|X z3&9OO3#fP7u-|WYw0e6jG!Sl&Xh+l*yTvCEqTM;=73=@tJ0aRPtvw8K;;mV}u_lK& zE&`&+Fu*H)C!D-cr>WbOg?y$dfl(uu*fhZj2WPYO=9N*s*Fz=LBT1PTT*a7$D7;P6 z*-t?hk#COk6OwP3yMVEj)8u!R7WZA7ro@4Q!kR(iROfT>V9a9k*&xHG7h-@119eKQ zP8V#cP?c;b>Mm~+sqLmM#@QJv*k~{kpfdnE()KulgXHS7Zp%6`!WW*U+HmobY&&vz z()Vg9#kk@qCmB&3rOJ1aZt~GG(J59*1xa2xmP$7ikyqg*eR98A*By!V%bCBi!U)+@ zREvPE27Ra6e*mM8OXaTW+-=HIL-#EiS|N?47ajDp*)5+W1r5ZtWbYL$~k{w#h@ZLEJfJ91I zUtksfx4a68K8AF(T4thKCZjyb4OMbOm>lUb!S}unqGY{*(vS)-xPe1|EXoXhbj)l< zo|YpdL$_NSjM_t9dsx;UHmL1tyOMmeX*HmNzC+G#DTF)REGRdSTh^<4#qQq)5!ted zC|>Im-V_sN*6CRIwh`=e%ksLC4K5l37P2x-4zv0nUglF|tN zU(r6j56~c30{(AoRWyCEFlf_1s7XNTZ9rPIIAm7830QOI&4beK=xxb0L_b?z)o@-= z2ED#NCnK4;c_W38Q+<6s0 zD#!K<%&ih+q*h1IBP}sNhY%j$5S4XQ9HhxD&T{(7Ixg6c zsyJ3@j}Fpg5>2~zL6)4;ZoN)FM#*$PCaF0|ACHrRG)w12lwdQm8Va`2S1*uXvY`;8 z()X+E3hU+1L6*?0n=V5}G1PutKu{rJ1z*zcfF$yiuQ@0v%NFEWuZJQ&{pgA^4Bat~ z5h$YkI=xF!n#A{1aqr+@zETF}HT-J~l2(66@h}Uq0<1WF7Ds&H*)QGLWNo?|C0_Od zH0Gtiv6N|i5 zrShif@0P7y<~a+6I|)wYvStB2QqEoage+}mY0$~D#?of|OaxyxvQ=XNGFGp!MT0qy z+q}W;RW@H4FCT~7dV7z`Yh$ohPS@@T?}7qnQNZzZ)&0PBRlN>EoORzsNw~gtUIa-P zWTD}jO1#=~;;>_N;SjsoG)XfU>XThK_1lfvs~hg%A_lXbt1l^FFsM`==0!#}>RFb~ zPME!6?egd*%E^Q2AdS;(4d~flq6zx( z6ST}lcrY*0$z=Jf?+rP@7TgOP3AqsJW$lPQdm1j6l=h+zN-M48Fz7zv{wZ6ubOPAzg&4y*mb#k0@4}e!8gP*_D_ zq|ymhpaZjIA5uva(r&We?1v%o7Q9G>oSNO!CAg%jj;>B4xpsaXe85j~vf1KfT3nM| zgD6@0G=f{%yX$C?Njbw){BgacI>}f!?};I89+NEyy+ZxT+J=v`adZSiOYsesmL8qr z4HG_IAqhiduwCmor$>-$6Sg8Qla7@NC?6dWb-Pq*DKHo`?$3RW8m z==OrmGw4r_>UNyGCJuj}yGQ#8c_t85$2_|g$W!b6PQNqg3~Z=x-rZ~DJ@6*Y#%2D` zpRaN9Gqbt8NwXuaesq~%AX!$Go(^s(E{u}4bI|XrR`3ev+yt>9L2+h0d@JB{&^%)? zzz7ZOLH*%Z^eJU<0RA&d!B>i-Tb!I`r(sCl-RliN zTlT=hYPQePB5>l~$X?2o{dLgi|9+Q-co!Xre|G<#-lw{>mvdbqj-i)oK*_L!Hcf}7 zx@kw|>#ZP4w=;YbM8t^4gUEC@Oa#3e<=*{2G(_LgjYdZ0A*gH)JW;S|FOXop?M}rk zuwhbW(OrV*CM_X$4Wz>zHcq6bloTp8;1(ba{@XnuIfUoR2l+n&R=6BWY@1NM=#~Q? ztX1gODRXKMgIR&IBf9@<38;ty;oJ9T$M23VFMd8cI=MVNW&hnj+<$)|>k(9Y%-Z{y zU?8F(4C#Z+L4w>)h(B16geaRQD2QWJ;JnCLf-?1PC2JdM$49PT#5XM=VV$&*bN%^6 z#wYjf=)d0|kv~r^_TScxEyFkIEjETHlUTyonk3x*TNKAUW3iEik>@&8p|pCEztSX2 zZ?wE|vkc!x={%3`Ny0aLN5}ev4?j$kCj|{*u+U@~HYizAPf21bA|IY0Eb_;pD?CXv z+*Nx0dR`#nf5RT>C{B|p&L}yWFYg%|GY3-?-OOS%zQ*GZIWZpoI3v)qy*JTE9I}72 zlzDkD!9?{z+OHb2V--|hKNLW~ioOA&^`lzEelPG1|9*0x@JpbhytF(u-}^K!N~|Kg zC>Ph`D#{B&eUrUt%tsGrEHx85w$8dV$(BYSOld!KIg{VCiye2e8+$jGnu6G#8b_et z$#Hii%}y!6%SPohoQKab^Pet(_|}Ks)75A$hczOx@^K9sme&9aSG_vLy^FrIj*{@F zpe|vOnS~diu>mV8xh?!GEh@Ei#%p(zG`nHyT&+f_jVbFy6c>aH?|gQRGd*~UC|XRt z_dxOgWU5ioINIa=(kNXANf=|`#ai80x%NeLlAR-@2lCYQdMN)8&3L$Ko}zbDW7?@rc3=6WWcFt+=VT#R!v1Ba}G?ECjP+y5Bl-H%>G?%hP3 zk>Mqg-`zxhcM&0yp;j-|f^s!gr4MWJMOi+IJ56wgfNn5{V(Wyhu^gEXRhwl|K!bFFm`lpXPD zsA*eL%T1R}%VzAWr_r8FC+^sspw=*NM#2&eXOSWF=@F(v)B+}u(P&n#?z zT`OsR690PWplMp5Phb-d9b_o)K^Wf$gyS5H^g?Dbjr4=9IhgiB%hcCOcu~Ehd|#Oq zE}BLN)}f+7i-FdJ7lgVms}M_lu4b{E9|lM)X+Ifq-ULysPQDsr>M)3flmFw=hC2-GoK@$cd9Qv2QS!mZyRnPt184<< z3UqQ6YC^%>BVor`sr1wfh~4{2bWriYD!*NWq|_Fb@0;L54c6h8MPKQZHpb#QOYdm6 zB{qNGJXC)fas|S%Ez1NUn8D+Hf6N0g#X5irqTa}glC3Y9U(73Nf6<)}$;~+Zpo>?@ z`9h3$+0Zy$PFEflzxx zPdnC!3kcrn2UVN@i=T0D29hnkdz>|jrogtL8LaXUXv-a}#r@0L%hhF?VRHqy>Qd0i zes`9`h=@`HAK<$vj_HcJ!ra)yoI}tR9tZOrvxCWhMG<{LPJ&pdP@T>Taz(wk#hFrQ#|wDyvoK|6hpT)+?gq*rPd<9A}ku_k|97QI7fFIPQa0t4)&$DuaUV z^-T}B-cz5slEJl(f*b@T853t-v}g71705JlZ^5{KO2}DC1rKOi9;)KGu`O10ow07i z;)`8Rh#7cld*tUVrYZHqkRm%Y8oC}+XR#C5DE4c)=^z2|0wU;A0m7Q7ho`+}tK%pR z@**0y_A&+@Z%k6UN90Bx6!?8W6d^?xjfw1#0<-d)a_Ojry1ZB1;c7J5uzA+YXN|kv z!E)NwJR%0@J6CKoDNXz%(~#wboYWU@a8;4U%xAH3gJ7*1-S@P@)B#x8Z1coO!>-FS zg|X-S_c}VP*ETBe*_di*(1~Pvu!<1zrmU-IlLfdlZ46HW##*`N(8(sQ2=($wbDnof z8>rwpPvptCBQH=f&*Ds>t>^(rgzg@axuzBf#F;1?I<+z?Ye(Q32OwifA(H)Q>n^Z9H>a$Io0c| zm07>mI%sV_&!cHV_MnTDZ$|q?kwsVY0GWyL+oM3AL5c7yA_$jYK3V+(FhUO!@pg${S8BwF~Cgd^(x;2 z`mCe#{^Er^@1zW~fyU`o5LZuE=10$PAN_}E>#Y7}u*T2uV4QA+D^Fa2NrJn4eYnxx zpOLgoKyylK0Fn0@P3S~59k=A%(2dvnW5c!SHNW(u6`390r5V1s4wBOZ( z(&Ny8BAyv8s$BNhfSaCW$PowA{YR^zKWjT!`7QxNI*kv^SMLL$(=fQAA56myvjWode<&v|5%YOQ%nI@$W~N1FWmMAx z`3`V&DW{;nq30n{`%@lhTD^h0nu4fO^-Uu(tZDqQnK5d~jLmk{wi;Elm}U^&yEw&d zn|BQP=xb5_=!WXDCmxm?)0Yq}yn<|frO!=|n5}zs$B+HCIko(Xc+5(D}{rg|m zzyC!qrAptU|Fv`!X%5|J5B;x&$He%i#8SMXmKQ5o^2zaUO%{~sg{gWJAGaT>(xgpn zt43^Xm|p{5+1jx(SsWVWtk~MO3C{ymfpi0a1QV1jzig1cI-XjkI33TWs! zCy-F5$qBwY!*dGHPh}hSBH@_3GziTN#8O3NEt1;l{3eK%6w@M^1%!hkd>gk&5PZv|*Bws_&p3pJ4V;Oog_32#{o8c>;gWlxozD1iQ2I|D(+FcJvj6pbT5qBp!6r(1q0VPBOjA~OxAfO0 z?C7e6=@2gqN~1iuy{nNX%|rcbtN)s<649itbo8vvUsK!_NuZ4gunscrE6|13Mbm!8 zZ5Z-rUUT>C_gpvX39`N}>h+v9ntlioe$i0XX2c#LC-{!}bd@hmnp#$Y+gUO^hs9$O zc;$j2RAxn4A5vpubarW3{BM3Rc+Lfsv(%osx7Lx{D%>sR#(#Af)8t=Osn#Ihw<9gp z;&Y{B6Z2R++Kt$b1LYy^^=$KE*-F{rfcaSsE1=zJMQk{VgISJ4av!DWdFJ{A1KNfy z-b*%Ppbb`A*V!_~g=XP|imVqtHKiW#(CXY8TCKY^V2x|^xHYUBwY6UENg?tEc%f^e zQ4^$LfhS318337W;FV1j6ZZr!k6YJ@l*Qen(p{U_RfA&9a90UA^n+q*XAf0A{#`^b zXBHbStq{bgi1iYZ9FrvN)JI9!mX;w42md{N`T}2iGLTNemR)OHUYA8)b+m^*Vu5E%ddtNnhd{@ z05L8!UPjd+* zh=k}p)x8$0I(i76a0ig_h8RufmIygKvT8KmkV#q$|fH?ZA^9JrQ6--$A89E7gTCJ=CbIybFNtPXXSm^D25xfRQ-FS5T=mNR6L}XAU z>$Y@}a6NOi3o?hNRSoN~D-m=BdEPFWuq3Tqr;DV`Xbs9Mgz67}J#rW>uIF{Ft@cd0 zEWt$ee695rf)i!iu^r9M&WUmZ--3>z)Sicq(gsVtYWea^t3?@SS*(p0&HF5!68GoT ztQht9Wc@$Rb#CcL^TvkmIIGU>X6=12{t!%Y-W#Vk-4FNKeVl%n|9=0WJ0sT)x-xo%aNcvUusbJz%83Q5 zT$4wK#}}uPYdbO7$c`RSeiTL&Ku=rpELR`>txMZ}MNZw5qvM8HNLziR< zf|(%06BwCp>_o-ZH&kEj#$HY@ab+{pzajO^{cew48x|+U4zI=O$#>GFQnPljjYgnE znUL>nutOI2D9m;5bJd1makx`W>($zVLN0;u0*gtdVF)DT+vNo&C5HapcaP`W^at@a zf=E`7K$L6VZwF8qA(L{WY_MEMCBV^DEtP(UWysetNogQr=tNzOq=dJwl2mMGQsfH& zan1ZyWJg1LYBxXD8_3_)P~>V(L?*SjV))H^>tmsSlEYaf3>s?HG3QWyaj2FtM?Rwl z^U|$!*p1R5i%P2qU$m;9hrT{M4MH11U8l5C!Lyiadp)u1tp|+}Zd%uO)HuyRv(YWA zIbH?>7E$oFXJBKIMrxYiQY4%RXDcxiG<_WLbo3FtZNFnody*F_2;lVXjQ*ypPMOED_0V-u%<|n{ZyFWX^Q-PSz3KgpYC8T#G#$Na{q>?epX0o@J@VOf861g7e`MTu z2KsBjelt>D-OvtJHKWm-rMViVZA+1?Lba8N-z&oM**=g?_Mt_B&+uK8geE=PUItP z?Q?mTH;oPCQx)mrWPT$qMl$m@27NuUdbzVKO@uy}I(u{JJ;G?9f)X6``<`e!O@zA2 zCTbfvEm1=2DKE~i=ht$1`1Sl+5jVdcV5{Qnzs3pHlD+kB476uq)))S!_);dO)wDFb zS~Q)+YN>wVbNFTLTjrEizx`#F1=E`V-7$qO3L}c9f)396+k@v6K$A>EnxPwfbA>aK z8795TQ)0WZt0JgM9bo#pjm6!0j^+K#q2}Zbdrk8ni?-{|y_GDLY!y=QhK6 zk!HSgYwxktlS8p~noKpg5}NJ>#y;>x_7dE&96c4AMmy;SyX&{zifeKJNDLH+^lhrz7C88iA&@NJUf!k&MHFhR}1vQEDG8@{K>d1)q=4aTeT zJDQh89(iyVM1`b+Jv`;0!;_BU*+b0b6iVI5yHWQ{r4ZslQsiCcf2VetzhP-vpMDK( z{bJd{%2`2@OCT@2OW!9iMgp9Gn>g2P`tL!gU0NEYt%R7l&NNMGYm$( zgr__&VUN{~=PFHO`go8lK=xg|jO!K%(9<2Tn4|Hn8IuKi@;nnrHRc7DEMFPZnUt!~ zoClMQ4*JMpY0)0~*e<@u64ums^SjmK<#ifXpNLAXYH8H;%- zf0K3qn5kwmX%XqBE^3-LELm;B!KqB)>GD>CR9Vjy<*@08*pWTYDu*BSo(F|DzHpvE zFI;}|auOCjCb$k6*)Ix5lwO6SF1yB1jvuBtKS>LpFkUEN5W<^rEqWL;1LRB%-m9Bh zBX(3u3z;SCn>SIG7lizAa&e8%gBuKFWU+4GVAz?tZ!2$!dSzP&-MXAO|GLJ2ipCsb z`O~eL?1A<5R@R>`G7-1!=TY0$Ry}c0l&tLgC~r2}Neufv%8S9<<*}9CzVd5qC@<=1 z&}4G_UF@1rm4aBTH0yx~=x%u){jPiH&67Ns7_pRkAJku~FyH<2^P{tiPL2J{^=tzvFbW{$p}OEhBu_4vK)N zhk_f+Z*?}8K}opugstdRU-^?EzUfpWT2d*$@h3u+79|1tmw#nC_)#;kNX_eF2}r z)?hf;+!<}{^cDWfpGg$sH)(bg6hEB*cpAc5r6$O{XpxV0;%%*)9K_;q+;og z^LA~x*Z<~l*hfrO`-7d$ovm;B!{K13|8@N@`cc<^#b5bDZgv+(=NFf6&i3CO{d{`% zx69*`^NanrZ;uZD{HHldRE*B=^8(*=57IcsW0t#0{B%NIAzk`%xJ$DS<@c3JrTmKF zyd=|zz6scO>>`2obUI!31HG5isFx&&(KrtB963c4?V@*SlD@{*!EKbzGjYo$7!K4( zSl;xdC>Hg4oZm&o_!_O#;%4d&V%6#Inio;&b@_=d7FwTrIX$p94#ngF!AYpT^&rjC zc@ZU;UBk!#k3I(D0vP3J-MEppA+rgSxyo?x;d@}%qg^t}yC5fFl2`LW#Bav;D7u-& zC`@slJSk8x9+P2H*stp#o*WitBY>)3^-3bhFJSk08236Hwrv}P0|0<%3i6vvzgzp4U0+o#$6znxm3@%w)`8jQZa{}=u&`u-ohm~0Kh=cB>) zV7S>I_MeYN!Eig++zxhv;pXf3Wp+{V)1?g!e!H>1~w!rhj*Fo#7yil4+MXr7lfnAbr;*LVJ;> zao#|oz{;_gBk|3b$gwY}ihx_vWUf4=WAgbv%{0n+R zv)eR!nId#Xu(<5#6qRO51Gl+sdfNQl94I(>)p zJeXqP%|TEHctl$m09P&%;Pi(Bld9N z-{eIw{!nDW7!#;q>P$@ihUr_T(Il!aCgq!tO2cJ_b6iwpXapM-=xXXu6Y7L?j*A~> zfJHeif1c04gek(!s!^vqXsuCsq*N?-pr)V0v9b+2zkjBirxx zM^+fwe+4;Ry+|%E_aEc7Hu>yjM)t8NnKHysLk7rbFuA0R=|pj-(vZ{OM~vW2d~X86 z>od(MZZyusRzHLab$;PtD4P(UgEv7GdyULMzi+loJw|9GcwgeM_+qgnxaT)!T(CG8 z>fE7aJ^+dsQUPqJQ(SPs^owe1Ro|X$3z5A+p!bM{5LwgU17t~a@|yGek)%)OpgC>4 zSq@>$o#u(ZJbzDbXt%W$P3@q;)C%i0>$&#XFL5;qMqfRQ+Y(9k)eye@wvP*EQ& z)%197f4>ubv!+Ax9Uj$tTOLDZ0qI-mYyD>2cE~i|0N~D%IpR}LoeDkT?KiDRa}cfGP$F730fkUg7MO(wE0icuW|<|%8&uX;W# z;khp1ei@EC`{XyLi26>c#|*)(8`B~Khk^PPRXJYAapTg3v|E~G$5==hzx<&B^1F!G zHM^rSo*Y-&O}Cw`nUS)UnXS%*OVC|d!2IjeSJ2ZD2bSnVvMe3 zyG3|Q1=^v7>|i_oQ{{#9#Z8mEQRUt9$BJk0^#5H551_{Xf3&l$`~MGiwg+GRe;55M z>i@rawKc)dw>QHV+nabZ91orko=KhJSS)YQ9({1xOmE?&=*Fvi6F&G_=CAd7;eAm4wssrh0)>iX9Yn*4zHU|ud5 z0N`H#!_BQN!~cIU{2Kqi@W;ph-`B(cFbbwgnitVHU&Ldd9iU1BrOQ5CPWRlW!OvQ0 z`W*xo0L$|dPy%8&__{2sxI46j6wu=N#{`19QNaEHASz#`l$e9Af|gx#=d?B5EXYs~+#whskpNYgMWHF1^Jk_#-i2LT{Tf z-~+TLHyY&VAdRUVw#Eal=tf}&BG`>W=QBv^EjPQulj;UvppIwJWMWPQdM3@3+ww~Y z$V6Q-ad>)i1OTfah!~3?USGRhgW^yKRUUtFldA@u3SEKxqFm}f+fKf^kMH@v$OE8x z{O_>8^)>!?;m^YHznd>Mx5ndfIN2F(zSs$$kA@hBJ3)U32V0Y!=VttGfAD;BbMzJe z>yPsh>z_sT@NIznLGUf^2a~^ zSAP*W9t+Y>-5-b(eCMeZ4R zEdToB@si__S(&pS3DX;`4Es`!S!OREWeJPxjn&Bw=Y^=C-pK8C7{K`A7sn+N0Sz%n z9R8Tn&G~&4a3gAyN&;Kb2&q8irvCpyzvoUzj;NQKXBuDw;J7Ct=r-oJ!-n#Sv^UZ z*?p&JS3)sY0{L4^3T=Q(>r?^;U@!qS>4OIwR>`hw-3Y?ae(&|1)k%g)+W#No^eTui zM3M-eBB~qC^(qiLz{HJ|#8ivTU@}J^Vxxh6M$mP?|kXB(=-e z)vR(ni^qByM>sH4LO$`y#&YJnInNMqah;`iJd(zNG#rllRR6#8)&95e zM|=O5{FOhh_y1LYG8t}dZI8Et7yZo_lNVRdpX2fNI1Kt*JLCTLSNq=|{{yc7YV+%| zEr36#g8U}Llg4eh*Z*L9duZT)@9gY+UH^-IeC&VxkX<7VI%~UV%`)|C9bPU=(}Jw3 zd=`vph3c1b5wGo{U#gRIO@BDEXSk>*6{+6rKoO~99E8gDGwruYzI%Z`7VmI={XR?A z*pI)8zDLP8o`?8-92De&u8)B8K&ym5nw82QgE&s_ex#{(4$_ctie-@JKc}}i%c2mU z$xNe}-+6&qhR5m6EQ-n9#=_WSPIL;BQl}8cvEIjEUZiFHQ13;ECsBfF9^)*ClERod zie+?sa`5)Y!=p>0COX#}xMlnKA*H0%*WSRTjE&Qq?wn2ufkb~+4nUqW&fytB*^SbK zR2y_h-4{j~HU{#$O^vlC-6K1e-YI?iaG%}B>4*96_aC}5B3D#XBxTD*nRz;MfBw_Ma`%W9`+wuxV9ot+$oxO#``>7%|8@Ug z__OH!@5T0u{@`kRd-D9ni_Oie$#xJ7N2BMH{!V|my}kMT&wnB>v74*-o-Ti?= ze!Z@JIUlk9`I*`~<_)sa#^GRdC)|EMcoB}q&%*&8 zKOb&Be_`f-+Z=3g zUK0&K-rY}ik{N}2b>I86%tu`s-BOOH-wS-QyX_rp-4 zPYFliMn_N}F1Mz8>w|2?v-O`xey(Z+BCvERW2idNLGP(M$o~7|U#s8w(0J#KCguJc z1EeaG;I)@4q>^`1|F-e;ghB z4JcklAs>e{8fPr?K}${98zJND3e#OrteC(%1jIgUt%>l)&JEvXZ7 zpLo9>Hdrgf+DK925rv80{h#DhH4VhWst_aDFnEVl>uJd>IPG>d*8MO3>f)hO9E94fLO+%N-FhsO(=Z6bGJn8v z*!_3{T~G>hVCsLLZ}+!eJRd#EynX#F<>OfY z_sMvlAlRMHXT+x8UKQ+K|6AMrf#Ltx|Em98{L>Ww!wlo&VMxRmJl2187>k=LmH#r! zg6U0w?l>;9xVImi_qPYn>y*w~woVqlj+7$oWza(}^ZCt9klnw!AnK+Yn$?o3^e_%_ zh$a+o;XWDn7{m;fjfxkE)kJ^n@2__piYFQ->|N)hYUDBC!L zYuVO8_vu_tXruFQ4d4LD8cQ{Q@-zyL?4sk7w1_76Ji3giMh(XB`fUCS9zLqQcg3w( z;hj_ieD#((V}bcbHG=G$i|qbgkVLb2Oar5=>SQuMT>)*!{ofm_jTItdga!%Y;jMnb z`AuI-$GHgC3(0%uTV<36_vF~o3eGTG|AoJ6entB<`j^@wqGZlsRiMH2dZ@_mpN#_o zkWSXt}x1@n0mf~ zEzh#_D!7X8%a*7Ly2z-~neI>L_sRG=OOxn#7J|i0E8TI9t^;BQkot8UBq2!(0buU* zdg!_+X8CTfH;szx`BiuP|Ji%j<+hDwVRZdYRo-E&l@n1m1(6hWv0}+3OSH`uTk;a= zWM_Nj(*}W|gl!OD08kR+=zE{@8t2JQbN-P3%>FMd|>FMc9IAO8& z)`!%&3_?G=@F)+zcN9yr&yA5Ejy7DkaJREq z@+(LftMUj_msylR*(!`+83q<;icmKtR|8imKs$hW!g2aZAL**pHm8P~q!TW{q%@OH5}=pCgmdhlQVg^1ER0!Mk_|&cX525YHe2ZYcSlvw;`*P? z&O`jC<)3BsKbyAgw%e_iYj16JTXy?to9=8s-F~{|(5KzaPN!)9x7*q7Y;JbH*oYsV zMIYn(N3SqD`0VkY+FRY7P9gr&=Jvz-U;3#N|EZ3uCL4kxAE`C-F^$ud$tiB>Wc)kY z5=z31$z*^Cn z4P-hODO~%(6~y;I+e5WqnfTU=iO0&+Xw|WUB-JyV&^TeE=|gg0P_dxnDVS4*WFpIv z)c{Mb^79Z(Z<9=Y3PC*B$(MrY1{PLAWLqIm%mQiYvjV5`gxW4xY2CRMvhw344Tv42 zFaxS=*JY!#gD|9*12;tkrmRZ^M`p{17xgp}m|GI)_c0|b zQSC;W{bxfYCfG#N=p=vQ(uW*VPfyErR8%5iY zW2Rem-_kg?FQjoQ&r^1yi&4zw+izBep;XPHvV`kvG0PcQ{lwQ%K6uL7t@TN1{#FL& zTFp?r-oQ3P{$6}cZ2>vZ{h>-5jQ+hVYLR!0w$lvStNfg`3TmGzjS^7%K+;HD-_SM= z=#K7pxkG6n)ItfKX+q=(fSiywxh zbk?(x)jG(P!*OP*SpNy`M8_+~OeG2EL~V=09`X0-Ecy4$c9At&1jZ|BFofFy=-nov z>y16?k}J<9t4bRM(!h2~3aIghu<)v&)H@GxKoejfxseqh!Qrx)Ol%`aLR4r*p^p?r z8Tzlil|FY?B#**m7L%MnyCn~Z1#GaS(=O+02tCd_Vm9kj?@Z?7_s;$22&YbChL6b%YWS1`S7*Cq(|nYKk=!Z^ zi<=u=FTK3)#NSue2{89n8SqP)?OYHrobJXNGkC`6}MJM>aHQP>HFH&f^Wf5$iz3DrI}$QLD!5ANvj!SxOj|mi zYF8`@?W-}N5Z088XMw{s#LO6<)s3@j`tBnpjB~l^W|GOcV2L~lHAW>A^+?qHKrAE4 zBy^H5a3WceCxs&o&M5cy;pzbHcx)*=TBJY5%gSpzU~E%-f#x_j1$J^pqbAWU{9*!9 z#sr`%yta~(U7VNfRxqdXv_q264cRalx3bxM_;#FR*f_owJwFGD_8PBP;{7ogq_9M?Yydh? z0kTLRsC_jdZb(LRO$Dybg^E(l6?bq-G3EsV2?5|b4CHmt3$xkWBOc7VJ)Qa>X2876 zxkrf~hSSQu4fksn7V$U?gpL#Q6TFNt2qSbU(?n-izzUNJ1YxrB&|oLR%?aVAE}3}l`n9d^k#EFPIGGm#=ai8_M?uaSTHq~rjAt^uCx&H% zx6(-{qBVjEF>jh#m5Y6kgpoYJ;ta#J15gPJ-*(`-DmG0CH*bf@s3r5~=TYIZ{V|K) zWSYF<{K<)6>C+i25d42Ng>Q8kCajXh7!!UZ^Qi}0%3L+e0D)cV3f%Nwh4dL%O}5zJ zj5nHR?`y%#JDnr-i%fjImYJ9^f;OtAe~nLXjr}1-l`?FDXl-7L%_N&pdss8N*fF^(U?XS)dq;H}a?TEYuxy$SI8)9XkH8wmX5YyOxHo6reBqk)f*uGK^GO)d8t9IwGmB#H z3bmw-FpS&D?UBvUwGth&^8SB3PD0kO`p9I=;G zFXVO17@S#Xa2UFoT$fYji(@rX{R|Z2P8bR1{~pyF*o0IHNr|<#^5BdjEh=1zzsa37 z7=gg65xwvN5W5!X=BIETDt)kV(ikMhI#_(w1vNJ3eC!Q$F0QeulEB^iw1tlS~`bO(f-jWxj`A}o6p(r-V#h!y_PUzCyM-`Mb9q(EmERs*EnoYb^l{Xfe zxXnSefzUkL5YUxg|8sn*(CWI>MSgfB+*!ajxsD@?HpT)TtWLt@*o&v2*EpkbIEx(G zkIxVxIxh^4Dh~6=r&ez=P3F&7JgkGp8bmirM^s3@le241c_HUTf>D!CsJ0;EW%5fObM=NW2 zZbb47O)4q=D6DM%fPihi37#*ph!LKLm3*HoSswqzS{8Po%oE4Flx0N($Gj`#k&_E~ z#l3Wt*8=68KXZ(F~s4VtUOiFgwjR`nLgf2bcbE*K5g8^j$R#3a` z<1E(MSoJ}kSj&|Le>gC6S2_VkGetW1wK&eF2+aYl$v&wcUA~>qxmdG=lp#h~U8w1D zfx&}aD;N?aiS1nK1Tby88B+fP@q@pN*6ok;EOh?=-Tc2cTiwpX`G47GY5m`*ySdYK zx5u5WZkImYvfJ$~$KL6Vo_0pmX*oLouiegetNq1B{O~OL7}x*tDf3}Mg z4*LJC_JjU!>1WyXzeBs*Bie4eqcQF7>~^1yoZY9JyF1&oJKAiu+r{<2wX?O^X>A%I zdU*b5k8%C?ZW0>A=xMO518BMb=Vq(Blh^;Zwz?1bUzUFA=>N5vT&~8aTr(rX=H6dI zh?Kg@l0u-LC^@oy=h$O97?H`IT(xD^dvevmgM>(OFUvxit4>*fXH5tHp4m_aECzmQ zH;MX_b(6la4ucDyHlWxqovgx1-;o0yQ9rRUN*8~51z~Y>v1ibpWL>dH2u`duLBJh> z>=Wny08lsmnoy){iR_bK?hh1XS5ZwMz;YJ?mfc_XTvTvt0wCoAxMx5ps&{JOR5H?R zZap@k7WysUG*fY@c)#%hi~I~^Xy}ThW*Y3n`&aM#X`=ILT)(2pOP}6=Tj0R^m9kN(7n1M$)*E{s&XS&whRHl` zot%E&P=g1s8}r6~gng_@a&KSb&Q+OUWpGEJnkk*Ie+&56K?!rgid#3|l@@2f?7&C~BitfK`oE3Gb2!eHTG=)QGzGg4U^MEsI?Fx;~2U z23KuFX92B7cWwkrBK-t3gueGHb>DHzeeDPbP89k+Zdv7MzYHVqSJ-L%V#{(8t{`KQ zqbpKpKJE%~?HMT>L-qWa2WOrt@u$eWlHDub_s@H8dT)Ct!@>F6)8qGVdJFCh!*KeB zjuRc4IMK$|4_-X8eL=&;TXt?~5c*ft9VBxU)Txzuqu&NqBFPlDd^*M;uj;!boN5AU zmXX692A5KTqa9}~#}{kH6-(ejHZ71rEXILf4HK+wyUu94^>jz$|JB~! z>OS26{)ryr`tLJ4@}-0SR<8fe%~m(P|84Jd|IupiY;8Z-e=Pmz?tcNl>a+3q>#s^O zroN>Rdaxf1W>Y0=s@7@jZeCz!Pa=q8CU2fGaOn?r-zyI00P#?U$=*=IwRz2HEV z!qBEzcsYFnBirv(frlH2L)6yqa&OZhuK6#;h+ix~2n+sIqcj2)C*kxk5pj;xY8fe& zHw&&B8u-%!!!WUZO$m+w7KK)Pk8_2XCR2taEiWeH7Z*Fr7BGRtN-1G*%llIbW?Iyj zo<`wCL?LNuol@Ec)56>zrRWxERk^4r(^;P43>E@VJj6tq;GzS&?U3i)Du7avpQ5DO zh{g$o#jMwD+74e;N|vQ!x~DX3VUrOYblM*eQRQ(=<0J~_7`i5(m8RG@?j<6L^a8wotbEZ7Xj9*U?P zhXIcmZKusP)p}io_Q{?9B!1PWH2;g^ZfQDX-feF_-Th)Ces~srjO+icom`IZ<@i^z{=1!>t(^UDd#AhAepvs@KFh}cD9P}9 z7n@(CsFI{DOeBBTC;Md6YIoaPPdhtfMe>mNu!}UZPuf;{XRG_P z+wHAy?$)n=OasvZ%R1Sc#-1Mr#Rho7)R+D&z8r@CO{1`f@(oCs#n$#o%W4%Hky&aP z6udLCuW$HyewcfOo@$sMzx9F!xBnAXDE| zoKB%?9o&#>2aZ@slWCXew4e6`n_tkl|CQ{wP3*&SCKeM2?X z@^DO^k=B?zC+lOfN5&=f;jj(0JrUv;>jQOL@cJr$j@S3k?ONZ^Xj&M(VpGIhw;_il z;P%M3C(~BD!Mb6{*&rNEYh(|oZCryEL_2CnX&sG=HS6ygw7-`9O41ua-nr%rtA0S* zR*O6*ZNM?Us%wnE;2iuCC7D@cKh_xb+1F~+m*PC(_jLmq*k2S{P=o?{UaYQ3&Gapzu-~MFk zH_|^(r%d&7c!8=L52By?s8(AmNrogaaS`NJ{Q)v)L6ht4+KWeBI%29PULgOpZ|W_m zi5F-V6#KdlUvmoz^Ma=h9OQZ`G+^g1lhqYjcliOYI}2wJX0spUmY^5#Im7~W7vTHA z0W4B?p_M2utRHTr@9C+O|Cc}h-{t(@g*%}K`G2`*>GQum-f>1Pd;6&~>UMVRr=8At zv(?^xy4BsH?QtRh>&{lUyS=%!^KkzE^E}4&f6DIw?m-1my8gFzx|{j)e+T|}SpUmD zclQ5P?|$W_ueRhno@5BFWX>p$RW4)q7%H)b@k;kyxmIPxyI{2E$b(s9oX zh!E~qUQ+A)nt38y4DJtCWW|KGsUM6iwP@H=rW(m7pvZ>(Gu@Emjj=?_NtnEk)euh~ zavAR%x!(hD@wQGN=K0#s_A}}4qnNz+gNL6BBicj5co8xA>4?GFFe(qwX#+W7O3hL06Ga3HvZa<(=Ne_ z5Tb0|iVNXlsJV>dN??Yk9gVZIvmw7j*!WJXv$@{dUGF?K>bXR6VqUAytP+%*rb=Gk zG_7F+QbNUxt83a^4EF&IGZ8R?!#>x9r@SwbF6fBoWy8#z+%{s32kD2UETnYwTkGxidV8x1qC`zxbb3W2KeSz8lL3Ie=P9N_{*5h#Y*y>xfs(6t$&^j( z$z^1aIimLNr**dMQum0+4&rebO`1wdrwnG+zPqo1iNLC#eI(LnQBD(g;yY-V1_`75 z{6Lj-4=g{vgfMs!iRVFL-&C(DEd^u9%P&vH3>}}9mRT2OjHgLcK0k3YSnij?tHxJC z=5>aCPb6Ol%9`+)*FZ&t=ZvsLmJoyTyS}C0wlt!Mu=gu5^8?M6W=As{1Ag&QD5i}D z;8VlL3W22EUhj0%GTD@AUhvkw>D^4J!?TT<5(tgyjf5zpXJ#}c%!f&~m#q|Dx zCK~x?fGKnKFayP{m=P-WcQw;#?XGXO3{1xl9ot8f=QDob$Q^s|+p3zSb@h#`vzj}G z+!ZecD9pslHn|i8)l^n&w>f|2O=Yvq+GjU0#~;Db?q~A-H5J2hu&ij3Baw71O}|F= z)3+AS?I*fWk~!~_mUt`Dy|Z^Xr?Z&84`LV!vjpd1xpVhg`v>Zn#rSH8_=Q4^boemx zCLd-q9avKVzbS!k=3!l1yAL+?MJFHA$08CQ=KC))->Q`TH)a6(!^Q(~EJz%G83yq{ z59OPKDTDhGoH$Mo^?!U!l&_3?!;YQ|{}hRwzK|M2@PXEe-lY-`MLj7Y@83%y})#$CGYADd>f@xsWLRU-xs5u*BGZ`Wp(+ zKRrlP_cZr^iaqjSx)+%4zrFxngB<>LBGYFfjlT+Wc%X)R5TF-g!haOOaQS6%U%2^W z3()0w`kVsvPhVVs{_nq`0R7(&64gD;{hwlwe3&hpBo8E`&qlNjFnY{{2l#6U0dYKEP{TFD@-k)m5c zbc(?Y@|s12HS@Sh*>_Ez{Uui6B6OKSSC$!R5F9HD?sp&7yIJ5|J}kE{wA>K;56f*y zy1d(RvwrlFOYEj0hgcEIMdl`|3b+OlMRu3Rn(FhPMxev^raZdI9t3pYAyZ_SByt+@ zD#Z|G5V~vftP|A=GY3yBoZaXg1Nqg^huX#&k%ag_90QgoJ6w#%4#Fu$@2PO zEjfRz(!echLGHK(F^ulp9qVryl_C>y!hx`chXEvuqfv5X`~JvwJ}N=?hL@0d>(ajR zLL?WAgDA@JAc@(^X?#Qsoj3Mws7t(nT(P*mq-}MqmPPI!=1D{k^CB6+k2v8B!jZwc zjS1$n@WvSSF`z7L-!!5zjjnjuF&`ju!YG39DSUXd2%v<|^u~)Z=HxUAA;5~YOi-$o zw~(963&!CdxlEF2ytlD&;U$-|k>!Mwjqm5t+z-E>{W|}+k?t!St`|GA7}FkawA&qw z2zC#|RXW{eOFA>{vbjRyJ%^X5mH$o?i+&i*-`asUo%xuVtxyJ@EbJ1NbdOAd(Dt9_ zFSj+>%@@PHVZdDeNno#T-q!>?sxt$66lrh?`Q}|NPNl^C)(-3o8nHO5uo;K5;oQI5ozncgV}!eI>9vik8bn$ZUKZoRhSLLf7E*jM~yv3Rf(?9V;6 z6I+c9yC6w%1hI*0fIzDBwDt!fEA5hAB;Dmgw8m3D@{Et4ZS4zq{~kO5W-H4EbaVIF zX6%o_ERs500m02NgQcLY%{uN#k&Cd9(nHDCdh6+Wd;1;^B^ZHhg*+i}kPF8$J?t8J zLRKuz2YJ_kC05hO%;rO2%AMG0Cp|!DFEqHaKxAp{DR*RVynxzK`JF|RupF=$R(+QK zxlj0s-V{Y5a~5k7&4|?t2?e^sDZ8oktJxX;Hu+`hj z`WO%Z-t4}a|SPR<91 zFMGqE&W~RAj=mp|Z@(q)Px`~3&JPEJ-r2B!dNTO>tADz5>;;r$ihljoKWX541cLA z_A{mMT?#CXJlpqvr7u0|ySbv-kFri~esYy^UuCT`J8;7ZTp4lv;O{i=ja2(*o0IRC z$dChM!ziP7+#jBvWs!$s@pmanl;_j=aOk>evL71E8Y@!HP1CthkoyYBb~tAvd*p2x zgfFB%QkSDRpSPEzFA`XUdnER*p-q6u!%3&-y-(zVCf|`M%YX#eB;REZ6?rU?-+s%l z8WWVoA)dn_zz!T$RW1;0>Tr?v`@H$Q;C=y#c8cdcJQu#UV^K|eC=>+`r&Hf^7#Vpn zqYq#%kFp=$`Su*LfSQ_u2N&BLZ%ly|3~(@w6(+&R5%~769w@Q{0$mX}OswROiRzQB z-Y6?7XTiF#C-fABjw7JuWiJq+CAFh~Y==7vLkZdp3ek`ZUF9cUCG zf8Ynk!ZhN65$>IWFd+^T?8uxZ7J0{R#%$MR37}N2-}|q3J@|PtJbbfCIDbzV*?vFp62=O#Mq_OiI`rgQl~Ii77_I`;Zuwr2w(=&l zT|5fr`!|-fUSP8WhX(kLowYN`2J%mG8HLx#C}f7T2F{3yWNwSEZ^_1EnE_Uk6Qmhu zf#p9z;*4pBB%vFkI)(KbLwN-!hwu6@&7d5iE*VGRgq(_$S&cP|3@E#?!B;cfb5A3e zMnek31Y@?y>+l+o?$QKqb0#=18qVORO*|)uejGN54RjD;YA~1eiJcYevPS*69z8mI zmQyxdjEOcy*VHBU7}AU&y`whs`qFbQ#WH}4{%h*WCE$Se3ut>4^Gzh89avws@AKpU zX+M^hdE7qUFlxbcyjnvJ%FY3ojtVj8a{G!u{|VG{7tXHPILyu9Zm00~n%lwxTb>4Q zkJ1c;zszhuZoragrijtaLk=C9R^<>Lu{EY`B)gI3P+pl?*_p*jIN?0z$e!Acmw-BU zy{%71%|xpxvga&sPR!J4Ib!%xH?>>^KDG+i*||iCtBlq9cAVf} ztJwxd)Bz&_n_^f98urMBB7qgj&XP89o@mjH)~6VLaFjrI@?yp4y9=Iym? zUtle8EdY&Z5_yzg$t%OaT>#!erzuF8ma@(MNQv#oA#c|M&HID~39(7+O+4QQ7VlgF zV;qMO3Bq7KJypcax=g`BgaE>*Co@0srat8hLzE4fnLun$D8FQ}vhW-RF7cAp7(n5P zNippt^?lCMu_Z_>HS=AD-*tD!gh<#208P9cmIy+%3rQWv9&TrLG=J8RBT^jS)|#Y| zJN_Vwe~j!YoU>J{XI%dWZ zYWHZKRucw!RfmW=4UU;|#AO#q{JO5R;(ya96nAEI$`4RZdJ*1u!Ns8uCVWt{9~^~I zI7>jNuF=Q~8aS5|JNgKhcI;9O)hms^2cnRYDuv};Ad_2q2#RXqzR?Y;3gR0_O?ku8t!GGqUB1H44XF^C=#O9ls8fGm6O{`E6WIpwS64 zwT|oAb1*-<$}@#omMs;JaLnZ`=V7UF#?LlU5YQ`5^h#AWw~c=BSZ};5<^y{rOY-hc z=ym#T;b}FfNwgD{RSAfrlVW^`=f?CTuo{c=qH-RBjdesbCrCS|M#Fx9rGX8!Je`bD zv6&v#qb3O>Ftr9~+z?DtNrVKdJxn7hvcYN9KcE;opZfM3^fq{>4ubnT^~KSp9b8bW z2c$+_Xp3Ez8?-1|ddgMir^2!A`P4OPi?j-W9R9V3MLimHSis$|ObezTO-W0?`_PhT zZUUYk$)Fo$tr*Yz+75|hC(b2lFlDmz3YLq|Qtus}6(Bt* zw7|G72o78rEuQx~tybQCN^C4pxS`h*JOV`ld2Y}m>>0YtgV#?7r%^v;aE(Ytfbdu% z8Z6z18!J$uK&R4b6pZH@*^_#CSyl0oFR6ax;$qrvLjc?qI^IlE`nFOXMeX*|Duy-{ zEk^A|l{$r1bLy8GZRTp2TU==Pnp)+&LEReo$*k4F{?<*39G5sWSG{ks0_-Hc>Rc2V$)1i0khA@ky8*vK?6wXu0a% z4M9)E?zK>rq`hd$-h~Oan5y%?%W=ZPYx^VYGW!Q9i+TwMtA=u7YSssME#HB1GgHB1 zWyu1gJ@(>h7-!EiMW!xGY0Zw6+iNY|<$&RhX=Rg?movNR3f7;g!f>ksqdO+VdCO`| zAvj6fAPd6oZb#^dlmo;hrP)zr>2Rvx*6_3Rj=vz#aI*pR(9Q>A(tDgU4U07RV4O*H zV#=D4_eM?xEAdCiHuCT->8-^(;HWrS)DnEBb||pFu4t z9=b03It*oT0Is2*v8G0Is$FY!n^iYPwP|JRU#9uYE~~b$?*FBlCGjWY)TVxoq~LpT zlIdAB8_!P&6t<3hYDWc@0K4%kns5~<1A@soN_&P%CqlZYtRM#2P%h1E_`jBRGTe{) z$o!0j2|oixpns)4^Sv+}8ljvMqV-yoSn!vjAP_q%D9snl$5_NJ3{Ln6lpJ}TFi5;W z%kzo(R14rR>4G0JPNUvrn#>VK%Z1(Tn8r@z;mNuD1h1{a5b_G$PsBT;y^sM&bk|{X z;M$38s4S5sCF%@emqD%pT05AgxrrI5R;0E*N-TC;N9;IbO304dCGB|9r<%By_)$`x z`t~$t{vE?Gv3;zUe_2-Fj;V_l(9_UI@k~aya4plvlJ@YPPh67ltpoq&N+cQ$c!{zJ zA>za+d}J*7tE6w)|H}xkbokYbYvo_oX+sQv*Jf9j<@IPf>{nDGp|NJJbz6o>5p6;_ zBgzOA6}WTLD>&D(#d$?s%vBA8T^6$GuPDnDF#LKE*G&4Rs;UT@;#%y_DpHk|cziit z4?Ul1OsEL9!Y7nPBB`9vv=(+I?>5&LX{YED=305@tnwDlvo2#+`m>~B8Fk@k;6_Nn zWDGwIoO!Kqv=>j=t$$`2lo2iN$LaEk5=;C#jgGzXxMbslEv&f2OM4@!7FKjq(t%-D z5@5R?1{7KZnl<8U_eY5h(b zD!b&hf3SV>1ksefShI$q+!0FchY9Y_DE{0Pj4KoZx&jFPvpxt00??VN);j{{4rtB1 zJA?MbCYRWO&?RMG$AyDhTBEV{9T>@`MnGVgByaX(Y2|`K6kO}Xv*|R9!0r`9A95Kc z{DRU8E=t9;@4U0@0)nY_O96aYGuTQWi|7rTS8s z1Efo>N#YPp7)4wmm+9V8Yi@28DHkTO83Z1U7u19nOrndn19=OBS_TGLGaFX3;Y@EQ;Kz;k@lEukanjvzL%ludpY2} zlyo8&9(SV>>o1AC3$XS#PAi6|vr)4`ZxS-0!3->d!YP#w6A_JPeiEZ1iHy7p0@x=1 zJDW@`a^%~SDRC1P>kC~^Om_D=%uDRmLr+THe98*!Xid0WT%ws4XEVEpjdwxd|YH_ zWxgt=N~4I{9}VBl(BF8V->Ct8ZYfuuA5%BXQZc>aAeOdLb`fZ(k-I8oVo!fEp{{2q z<^HAw2`pQoq4O-QYNY<8mz?@dQ(L(t`IWM~*(`|*Rc^RYXZGu~qm`sm2~=Zcry7O9 ziSvxc;Vg1!Y`ydXmrX)^ItDg(==*hy#IjNJWZTvoj7UtLVTK9j*7nWHr~LO@ciycAIKAPkP*xrpL4?Wf}9AImWwY9Y(g95x4 zAl%;i#}gm zMS-z8z&DJ2WZq%SDz)fzszrd#B2x~kv2y79+}w#=gL_t-gwrW?B~anGasWj@)G4#F zW*RzogiLWXI?TM$SQ3?XsJNdHrUx+=)p|9NEZyJXto*QeGy{7yMK7Yt(9ctOFIAoF6=j2z#=cqk zBnkre^23WPqq(g&oZ>jjMv&?LysH0PFL-h^&g5alyrCMY;TIft?r8p{*GnK6irCDK z+jRu&?8ODROg@WelZhS853;Wz{PZM@(Jg8MewWOZ)f-d19NEj3Zd>GiOrzCUs7RTK zT}*6V(F=$K)eFct0vFDcocCtO(!`%kk0B8B8kPr*SpEKCc{GPuiNMR%6}+5sDG7BIpr zWd(m1!9KhILUx0{Ld-gj$u;vZmOjahg}OrH2B6O}voD9&@Wz_Y8h|gb_XxlY81!p7 zJa$X*D4h3VWl9vx$w0M_nIXbUcz=dRstfN5!|ua`XTLG;Y7~`nOJ<|EW^}e*70Xh$ zB9+>T8Fb#7rCvqJODy}p^Oy^HkDTTv*OeQeJgbz)i7NWPl;z!{t1;xwrYsmsxuu?U7YH8H|3vH zrcIrNYIRy(q~dd8fg|}lJF+KLx&&6-bL*8;$-*FE)&SG+8jOJT_I@P4d5ecx*_YHR z3aAG4l6vk)1N%hO39oPqV=ibx>fqT#e$O+Br29-vF6}EwHbDa+;LBJyY$1oUMBahA zXaF{X7J$`yaXh0KH(?ruSDu>&nexMnc!A6d&l7vJ4_nNHu7_9a5SH|xyia`q9n*m> z`$ECylP3k=Djs=(>@&W~?njG?iXef!EoXERUg0q%e`;XC>l#_-73)ptd~7g-O6}s? z*Z|7{hsLqkgSmjgcExZk0}@%<$|%vG^C928aZZp3WJrrR7iA=Y@J(`il+p}_3u5~` z5YKhwasLP@3WNcTHDIs^hcvQY&o~iYC z!D%tNyD(}P6WJjj;Xb~_8TjDkl?Q6Y_W@_HX$!zM)CSOK(@yNeq~V#ZfAVJl#(Z4v zGlZL(k%71BR1+#}Yy<|M_9M!8EKodHo-tw78xyBkv7|*KsHM||x;vCz_#9Qr2W%O<4X+T} zuzj8SE}MlW@tSEvci3GkgBYGMTru~v5R^R)m@D49oVJp#1sh0X%rhe(iWWX7MzSby zny%Ks_P`6+O+`4)ZK~;s0~u(X*bp8Bjh9eCcjehc8Z(&zOxIdrqbfn4=9T2hy};!h zS>qy6)O?n(k*rpl?U^cbf{;_Kd?$C?6*K(5*i-EdVPk_JOJGO4h{MS@S{rnkm)1}723Pv{~s8RFO!3znSm zm|K#pBK=cpMSd#lGmT57zeQ!&GwQetVAKtdR6^>~g7r0<=x34$4+PzCqu64B%oLVH z_rwX!sAO}~Qp232aOF9j`tyO*vznA-wX0-%Dsl>Q5G8|)X2t5z8#BY!-vq6=+n)f- z@e+Uj0G2>$zq1CTJkx2limj0$A)%4OE4a>0+!?TDhq*3|SWqmf2>Ty<`oeRhm-G z<#}`Ep1M^U0CAryVYIv$Bwu~30!_sXM0G2xBBmk-nxTay5c=*BSAu0b70NJehpsE} zoer{@ZNUU>$-y97zw}I6rrA@U%z;7-mLDTD<1IZ@h{vpL$~0-#I;jnnYoD?(*3v?W z=MG9A@t_--syT;j3;3eoQu^(;B>li01oufRt>MLoE?nDR8O(jvM>OWxftuj3e#N2( zFeIk0cR7RD8PKGcYXh?YLePzRng&vS+fnixYPZLILx*Etay(;O5pa55x=zVP*Iz%--=wM)ZF)iwUg7=G2ckUos)Ntm!> zF^;rJ5-XrL$@7w%_&W6m-Uw1VF4GKb>}B;Aim5pS~m{Ib674@T94J~dR z%u0#i2^UgpgtJ7%zrow3#)l(2ctHU_KZ~3aA_qM;*Ax+lw7Jm>#0*ojXxJk))R8&9 z5iO=`FBU3>>B+sxQKIJFQ2GK?1r8NKz>C)>8V4b7bo+nCi^mWVWYH) zHl1$>t{F0$?~xrR`H>>}Syxs+<{7=obJ6=A5BB?fEjLBkyAKw^0PZ^)>7S=l7JKCI z;v%AP>|N1*;CpEQrN0ls)g}c3WtK}MM@ea8S^QiyX^`G!54tKf)%qE+MMFZc2$0Ef z4Xer6TH(OikjAfL^PCmv!NoL5cUAbjhCf^JCI6>{?Qd z@uMA~E!HaTyUL3GwI* zO3DeHgwY(WB^_?`3RWR37Y`ZDG5iQd;#gvPeqGLwWx7L4x74oE7pNP*l zE5nd{3?NhHB_)^M#U)r^2D8bCnRv!ZLN0$UjdK%z4w$jUm^ zI=05lL=KaNELzV{;@-s@+nI^sC;4|F+1nj89JMs8 zchPug!7oimR|R_U_GQ7SJ>ieu)lDu^=^M)~Hi*}*b^DH;*I>g6-vgqM;eAA=zm zsyZJJVJ+tuqR(|9(cX=Ur?rB%KFbb7zKdWtLsVq59I3v}_HK>B|YI%zr0@dD(tfVD$b|Ec(GT-vd2TLqzY!n2|8 z>++$K^sr9$MNw-Q&E?qAPMWDQL1$|n(b#%z$7o(wrYnJRIzzaeY|Hxn-t&FE{!hSK z!@+_@P4!r)Mt)0aiLe$k@SA66oG^6LfN;OeJU|Mn^+71nL5HY6Pf}ALCc(e446Y=T^I0iQY2F58{dOGp)Q-B!6qf(G#{qGTS#%+m(Pl#Zy!a&Wr zh#om2c_#J)lX)q6+9RJ38rY6*@4SQQ(SutVw0;L?n@T5>2yS$|AZdKF^5GM^wFi3( z)Nb7V%=Om7GJ~lD_C86WfW5eFrZI<=k7Wr3goJy$gFaFZBQJDEi^-c!0h3WKqCQIxsC*H2qY%Q*l% zgEGE$+HEB9_yU5Aiv7ZdAw@H`m4S0U+G<4+=vxeu(vxeY9s zylO6T!(hnIeIK|G_%nGIQ5Rha(>$JV-@xASJ6;UWFbsL)jHmR2*mLOsjBRz%D*0F> z>rVmei`%Ib8l}G)UDd@0g6@Yf^GRxkjT2-@KS(rCepxgEQ0zFCkJhnZ>d89>LaK64 z0N9@F3!Be=fNAI;Op>N-nO*p;mUrIT#7BD0}G2a#r;d`SUqKB{YU$9 z$yMjnDIY`0I7GjXs+TEhx-fKxapC44h;*Z*V1WQdAn?Szehjy_LMhkBb1VoxHf{!o z@A_m_^kgx!h6d+Fq5+PcRf7?<0>+D3LRPcYR=GuyH^y^ng2Eb|VoZr7a~Q|`6@6iQ z4V(JJyMgT+uCK2{Q8BJa>%#;06~MszVHW*vI*TwfMmPp%&tGPgta|P$s$_hcg9^Y; zgCN35jUE3gf#?ThGAH5G3uFw85e?|rOJe94tGVH8pbK$Jc^=3u%1H0CT%m zbqf4u<)?6lOdkAlKBruCJP~Nc(Eq8J<{}{U#Ol`z%U6nH@CoL4AQgy9I^xrk@Nt8W>>!rfe!&5vn4g- zBZCtrQIm8=SZ1uU$N{?ej!IkA{`Z;8)~TiJz4=h&`9(T!DLqvg1}f-oX6M4lX0pNU z^Q!a}t*tb!MbNknFo?{H@Wu-+l&FNKfkPV*SC@dliSgP?8-(dmzTHDIkwX)r<}wrl&dmr#)dosu8=1rBP0yNpCIWdXxji7H05|gRvK&U^5fdZ6huh1 zcCImu2q-{}Rcm7&(`SSut9OHVPpa4I3B%$2Cs=7BO(ccjQ+%Fozy9j>>#zRt@ch-E zsqK8UFX+Y@vxVOf>f4QCw0$SGCN!}Z@1xafZEtTA_!lm;a{sovtq%D|d#lyj+1~7Q zHe3H_bvoPIo8%v@&oSWqGlNU&f3%kFD?hkDz|-DpciP>Z&8?kQ2EXb9p+aB6?NRar zjbg~5O*&tHbushYJu==LZ|#g6`gCW<>F#t#cBlK4jTMW={RwF1 zXoQ+8dc(+v=f2t_pOB%XNtM-Jq?zKG(B;H?Op%zV{9 z-XksS0wOGcD6mK17u-uGFJ^)3(-V6_3on1LBhL;Jc>l$w=MV9etbd;M+=-X%qhkGU zZg&Zz)mD3_z0>_itJ7+4?L4giWuNT&Pw}fhUw;MiL_D>f%zZr<>!hejgV}@#k|29z zG*2=IkCPC^wU**Y`VuT;mET99AF7U~KcLxGr|@R8@TRN0`S%R8OhMMM^^7`dPyIms zb&UCZAH*8{Q)m6(aod+q#rkh|w(|RbyS20Ru>O~QmfiombhJI**>c;v+jiI4q`SM0 zJMP+Bqt0k^dvmk%^;bYL+*^2$w6}MELLaiqqCwy*8qmmd@{RVrFyqeEFf#2CLBT%uO77hzdKJL-{7F38K@7pAT42?qSFQVNI7-fbKNCp@o#| zq0Xp~-cgf(2@$wHq|Rj!`r(B~WA^GOmdCJ-ksppWwmX|GI^G>W9Z|R4?YQoE+uov^ zo4f8dZH?{m=H~XUyV>59yrXvmCqZs9>ID}H53!v1pKmtX>uFNX6bIw7zwnYpI$djUU! zfL_>W+pd~tdXuT`pgrd?y`p|NMPut1XzFQ^dSL}tWNt3JkjR_(W&y>p3c|LR=#6_} zRUKn!LNb_7Mxh_C0)FS=3^FFb3{VIdL0#ffI%T29FVF_Zl%GrEvf!a5Ra z=^yTcvaep+zCW^^kCkEU#Y6#cMjynD4Ppd%O_Sc5Ee^DO5=qEJ436M}Trr6gb9__V zEp}%FJ|7kc6XMFkI>>q4e1IJesww#I6VC?=q{6tgbck^nNyE9cqsIjPkERz;+<0l# z3!D)0;#u#9FL%KW3t!Nvv1T2C?Ru18b8(ZkV~GjR699`q47vEu**`vbui@{-y;(#K zXR?o`{j-F^>S9Fa8=c$a1sB{Mq^nkY7ppE<=t<{~q3(d-F8PYGxcc~kjSV9{VFA72 z5N-rKS3ulgB{}Y39L8B;B@wz8v+*!wZtU7?#M;44GQ$z$Zl*E=-^j@)qIOAcE7LQv zirHF*yJ{IP3VOwQJ`HrSQgj!wz|ktw>_O`+jn-&3)(1E*H9N@qYLXJm1691qZ0|KK zFMt_m>KVZ@2m~5#s#G$0_vrX)#SppNgCmusoHM5ow1a7TfWmRtf{malHlvH=vM_O4 z0~51h39KftC=r|HzNuZcg18W6tfAb#uN>nA1gQ_AC)Zb5R|W#VNG|II`RBL*Vt>Tq zfPV0Pu4l|yP9eF`-r-X%ELObII}YSwE(BK;2MUywAX(_x53liDVQ+M|cU!w%6M4f_ zWcHeR6g&$Yh{!-)ec&`9=}l3>+u7OKZa+16C-D6aXkx9?-rjC+Zg;kIF{kcIIidsn z_y43M^O#H*Vv|t6CXtCT4G*{tw zxz0gh$q7%R-ej80;iXopN$I=zjkyXmfWMR)fq}sbWU4iJui%L)vM>nS>A11_pJ25~ zyt0h59_%^m`eR}d@r(J}cxE@7AR+&o16J|PwN^00DVq&oVRq!jVPKs`t{2#T*?9gJ z_71P+aIC>>#OAO8m|eo8ZOv%XBg7M-|EsD0UFr&`=Kar3x7*p??ry^U&(>D=LI1n# zle_`=1@Vvpe4DcDJ@2ySweScE`?Ud%Lr_wYl4MwkXZt|Ln9jH#_Z4t80Yl z;rXLIW$Qn1?a1xfpmtyC3aI@4XM2;ae|A67-PwZmzlq=PbD*Z@Z?pbW{HhNm#|0NH zu+;+Des5zV3P&_brZfn^=r5dXP$YqkufKxA;dCB(7nce7|NdXnX|>wq42zR@SRTq? zxpy?0crjD&#h9~ZG$$949VC$6VjNL)Pz1%-1;vO4b}$E3c^n2L9KjKo#m;fU>0Ejg z#^E@*h6K%+s5y>9$3w40H*{v8NoSEAfThKx0V3(jfY(@A!%kdk`y!fx_=K8D5F8^2 z`ok_@;6&p1GZ4n)XB2c<4;aG&kbq{tGl=XBa5l*#biFbBOL173X%bXGt_MwzX5i5t zWBN%NKrK6PH$n*W?n5ApsYki@WC|UYLE~aTXu?s1{a#=41VM5nkm6?+1zvo~5?i|= zi9_s>nR~NPAL9`GbYW%Iry}^K-o{|3BcW?T=<0k2! z9KCse+&_6mUc4WYlhYx2(|_9^_KwN$6g%Wi^?L(o>}~Jt==I^r@bE?dO@H`Plf3K? zPoT}0r)T7lygNJ__K)7bIXolp-k-fY9rVcI$uT)OJ?WpkJnNsl>b>oq3@y?>At$G# z_e1YwNCvMD-@L)D4&M)7pPnInN2l+8I_tlBJtVJB-yHYO2INJLyy=7Higk7J6FGWw z*nit3$A@nZU-huo>F{;$42yB-etg}-SN#)mctQ@3;IsGh_e%@chY060IIVya(afp-w%2zEXTdWH~o`W1E{PP zw&1|34NU(ojAL))V~_}W`6xqD8Y(dXoSu%+z$|_-M_rJY%ulB@vXd~n^R2M5->CvS zQ!=oCkC(PTe&_LUL}Tk+pKOrM_&d$%Tdf7x5|C{Ht^7ezVePcqTf3F@xOr?3f;4#! zwD68bUWg$Wtj)15!x5|44|tsh`<-Bv{5Dx9r!&!91AZpjG)b(IQdG8*JI7>!b?iAy z>kC61=T0w5p%i`Lb)(ZH>+RNm7CK7IOhOrDcA+2cca%qtJPpwR%oCj<#}J*@E!BW&P-(Ke~r@)PhPoPiS$ z`+ZZ2|Da9w$&R(P-Py{IB{NM>tYhsI3c+#phCCx}fL(tA7w*n&@|fJff7SQC&|;@v zi;Wwy4r^m;%*#V3Pe@AxtEnSvYmu%xR;SR{)6L4>bPa85TH5XA+A4LdWV6!)jTm^# zb3$!mmKMy|VhpCN{YXT-U?s~-MIdTZ#9?fq9}K*pB8)LG6t*gk!ngs;nXyZqA|q}2 zbe2>%oi4Vz&Gv&@4X?L=-X4=i3b?`*k~K(6P}R}DXSQ2`TWG5a3)Ri6Lp#WAIyDAg z(q2Ly?-yB~cvzCHX9jDH984U4rV$deJ}y54>+108;QeSe@|+rouY>#=Z2@Fx!or)( z@o^o56%Bu;X}I%Lh?!s`?WiNIB)EUi?8p>vJUy5&cz<)I;r=tDOI4{dD zlfvY%G1r(NFIZ%P>P=E*o7yR=y?V+z_{_6(|Ep+$)dZ%LRddBNG_}ZHR-A6P1RHH@ zZ+?YRI%5tb17`_OO&vKYE5YjcHGL=b8V|Es>aSy(*8ZpUQRHri3n1A z{@Sp!FpCPQaQ2JUFJ3$W6w`=J=bG6CHoFX9i>G$++-1=>Qsg^r730pb>pr)uW!rxO?bq7hm{z2GHd8HDHEq;tP|;}B zS?J|$ifIAF)R`G&G@x$+ghAE2PsS59FoJts@62Y=t{ zi?Ui_(l|9^KApvCQfI-Si2`=6zsW$l0H&Ukyv+3a?y>vr2a zbVSFyyIWgZ-PU${XV)GV{l7OmJFV^Q&KDc;!?WmPT>ohd%B3T~RM`LQv^MkhKdtUg z=VARX`_!@j(K>VE)~@<;o4;6Z!s|ES%WAzxGynQN+1xFF-M%ZS2oyLe26l z32#E@W31~_`h;^y>l|>TE6Cg=Fu<%H67>=h4U8NGdzrY=P0<6kVhx zMe5@q>t`#MZ}ZZNKcG_pW>>H2WS4WPz^v|oZScuwzn-PQmE^qxSon;5@O0_j>%~!j z3z^>o7yZajeYa6aCkg`$A>OA;Z)6l=mL$G11aY5_N7OGTK2b`dL%t}%h@nr>gaSlW z6Vg=|=T-Fmb2H66sv*J;q66^nWN&26N+%g(rcO1>C!>jdIg)%)09FM;m*k}|LZ0rf znI8mCfv4$0jw-bw!qDh33y=Vol9-ee0;FSjLmPq#P{#%@_B7WKn3^UuV)-s(9YS>- z)uLo22dYe1ipaee&L~1X7r0_!T1)fis)f`Hu4bA%2@^JH>+L2{NTN7T!aqsGmCoyD zwRGqOcZ0z*Zp?kSu3puNkSFd}1lYc|CHgW2y!B zPP3qpfyNkafQ@e&V-6{gZ|Rm<4j3etp|6p{5hX;uFuo@ z439}8J!(AKXa3v9%dd@%G^keNn-xHYtek}86V@(fG!~C~`VW0qW;!Zr0@SBUD38gLa!q%}DLngR}8E#!Z z#!JtfbS5(`d@b%*C1WIbSyW8M$Y!A`7b98hu%W3Y*FRtHP4z^g;Q>|6HyED3 zJUe{b`|sOoVMags7ETC7e{N zJt5i!p$YG#^zyhy{p@|UNy(P#eIY3fV1ewBKBH!IXe%Uu<~0%Y`BmB`Az^=u()0@n=oHOg7Nyq zFSb}fGF9H;hWTBg4L;vWQwz`fxo(2+0>abi&eFiOKw{^9=zKI&i~@fxy3t`c$F<3C zzwxq1&Z|h!tboCXA+L0|MD`B&(r%!))pRS6v;@KC zSfSiA>d>c{f;^cviFxZGbw~_Zp*#|67L~=csUDs|EU%DPRAnMp!xlRN4A(x3{+1Z6ay4)7l36pU&39 z`d|7ftbdMQ^|?d-hkv>}SiD*^jVxD|9)eSu1u;B4pGE^3U3m_TP34dp!)c*djT8|T zMoMbQe}yAcehKyt*8*m~+E*-^EVe}k-h@SEm!<04Kuzrke|XInQ_(3TX;?|#Kr=i@T?!#M}T!wCcGW8qjpQlsC;SVn^A{xiu73~K; z29HxyW|O)WY<$d39AZ=Ciso;%o^x59p@I-af2h~USDLhC51JfF`3>UtMoldvKE%L> z^SfE{v2%Tb9KmqkiV>f6Y=iJi*ZqT(s}O!qY0~mTSo8A>nj|y=gD)g*u>WAJlpXM6 z4V}7QiZEEi=_mqxaScAx16~HK^hM**mE@$5*?PvhTc>VQ`E=7 zbtXeflo8oPD(gN^AN*ah+EgSt-6wFz5T|0@Fq8;xD4kpVgig%XX>trQp(f-?ZOVS~ zqj#-Dkv7wQH0ClXI?>H;e?Q|(sMm_+st7DuB3hYUNLj%1os@LQ{2OsYkOi_L02Iy2 z9*6~F4hn@(q&x#{;M)A{H}WX6pg<__aR0@^C_^>;0?-f zA<0ZaKJgtQ3y;##EwYp_0Uz+OcQK2oOPnx@sFV0}2rSO|1hM0cM3dUlPpq7KSC|QvuMi!J$ZPL&{LIMeO6!TEQ%QZz>8jX{3 zw1nlkG)TN;UM$BCgBD!ph`;B`-@k&Thb|z3C~&O{TWZesC90j#m?l*j>RjvEj)Gpm z);kIWaZ0X&dmGDWk@=`VRM=$l;Vu)4Z&CYVvocB2+;c&0 zBDEybjScl^V@)G3NE#~m3C&_8%F9 zd>G(O>Kl6=&XNZE=X)=3t=bs}oG09ZK# zoJc&K9MfbaPzQSL`94H~cj$QLqhU-qCD)fU$hG1M0m34~OB-G_#XAfQABd9{W}1wc ztiVregas)dqm)I$k5+bA-$Nc#FCY^yaQ9f>e7g-U$keyJfE@jkHy@J*h;J^9yesOm zgsK`rjg4^X&n`SZ#7i((wqYhglas~ZB^AKKK@)xgSBnIS#O|I08y=2q2_(nYrEa2% zV6wpZI8+)FFNyIOLZifktceLA!b@OkFDZnzk5*%dia!m5*c+j}6*NnOcm|-tq-eT` z6Bs?c@!}-54Aj})Ui-OJ^;Y0BFn%~_5yuW7&OCF^V#x5l7%9fabWUQD;LEd^QsP8( zyuZS9ZQvXT>BRbDE?ll`9FQx|&gx|wYY?zLRr5C14CCl@*M24&kCl-;-q2{axdC5R z*_KZht)#-XSgIk+3rr(&9*?-Oi?K}3#y6uvD(L%#odH^lmR$lsA&nw6TVGMHE~KP{ z77U8YOb0cznA*0b0##|tGpM1{JaQTFzNmcFE2)G=3j0viQYO`^ff#wzXZKEuopeXU z)-?wwmNZ*#nI%E8p-?{%$rjNy(hVVAP()esX<_#Q_jJA_EbEMYW(M%;sv-KI-3ZM) z@Tx2hOaW&=AGe9VNGgkdFC`Z2QA z+&S8iS+j?^MgnI(NWy6&Gh8D+b(tx1aA;F6gupzGMADFceCS`>b36l_Mo4}+$uT7+ zq&SntI6>2>}K*Pv26^5?x9FA*f$A2X_2U?BnK<>~>Q!N0=!nCjgKO70K@ zdjfH9N?lI2iLZ?cfX;vnZQp)N%2^g+)QbG5WXu(uMm*npzF&?(Lu5WN6H;bScuomy z6{t2R3Dulx3KJlxDrMz0jC&<^=XnXEDH!@0Mb%67?t|ZL$hS54=uM9QKe zzxNld1y?jejs2ak^I+0*tFNFj5|D=>#<9J&BNqi-h&tn1j&DzjC)!%F6{~;Z? z_HV60R%6SPef1Iaf{LFTfkgC5A$|hd`p^cgcZ2I}anov+DCwIy?L?lo6#T)sxMsGI z({JySHio0oj2#z@qTSvnN8*QdMz6iVg(0Uiq!Xx18Gwd_bjv?G2EhjaJOk~lkx#Hf zX80pL*hOKOn0AbMn?(j04T+7l^As^Zh4WBAV?eC_Vo#!x?2|`Eq~7Z3maVv9_<~+| zOx3fWz6LN-d_ox5Qib&+ZF|4{mb>)|SYRUmIInvmazv#o;KHDY_0vvAUt@ zhRQ-YWzOy@;F>C#ajowwT^rix1*nhyra45hq)d1~?E+kqUt+#Z&_YhaEBJfFnM$hBgK*bu(4e9l zhf((PdYgSTca{P3NoE2JqbDqad*THJiCa9{qYsf&kNevYV~O~9J?9P^8ggi6fU6b? zNy;8yGDOH7o%eXaLxR`Zww1A_N#($5)w`nEjeNb`YPE{D+sb@8T%2RdYPie^XEDb$ z8O>qh9Ms}NicqnaaNT_plGYezw{3_9t+L35xA)1rUBd=Z={*hOJ@P4w5p#?QHcG54 zwzOgRE{wC|&EfaCFdeXOP&grbIy{+rR6{N>C7Kt2o2i(c0rkfMmPWQ`vm{Ssh!yoN zEi2Vxqm9zBHdWa+FPNr5Q_4aVusx?IL}E1S!0s3@T)rSH)h7+2!r>mDXZ z?7LF>Nw*b^<%5a?P0g%yDFv4dWRLQkRZ}3(Sz$q}rVtMXCZWl7}H%(azWmyhmqVG@3)pY6ij ze;Mctt?@^TEOJtNp_?HWI*_|9aB_c(oYYz9#Jt$WlMgkKA&TFAQ^P%FWt74Penu;g z!cy!qPl(1opY4;@;?0+~{)#4G23N49Tf6UJXgXp>ca=Svd3B9fg_x*EbDbQ@M5b~r zrA9HvqJFY^k6nIx&clL+JB_hxnw|TT0~qB=B#N-`gzQSbDYD^$PjkvY~@7sVayGdntAJ zAZ5@XVYkF^#AU+P*h6Cod5_E*i0Cgf4=(#wvkHgRx}a+h0U0q#o-`RJS)7rR(i;-> zS&TqyayGIQg)%G+_~w>cOBS}d8u(eDO>XjWzl|cxUARddg|H)jeaave)bV&@p=%-Y zy&`H;Yu-ws$&|R$5xe|a-b&>@F03Sms^tlzz+2^=!45>C@$4~$XD^3aoW}CkEKLGa zpEK*$U%m)|k?dfN*r5xFlo*z_8HyZHD)g4BeXGuBd&IG_QUf!|p`mkek zw0h)rDvc}51_v6Tl?ujdQ52p#atY&_VYZt@yhEEzxXt2BJqgKZK7}9&xWC##^41Q# zDf%#+ux%cd9mcDq3^D~kmiXh?1CcKq_DxHLS)#AFmaT0`!4YO)R|t!CCEVq1TM+;V z4M0z8#~_SmmWB43`%V|tf|1uaB<1eljld~zvD1qF%uWQrBOK<7+!7$jJs5MS zdkhnH7Pqaas$VlEY}T4}LDM}Q0+*mPmfEH64IqOn!9r{R=-8_Pw2((az1qxPB4z>5 zTn*Q<@hkOORIZSc{DqO0`ikujqj}C1NJpg$nHH8BrD+Q0?cH*Dtv+x=_hZk#2tr73 z8(Y%u)b<-I#*jrTYHWinA7tujZgM_}i`VaJu<{R|VE!%iA;t)dw?7ll-TUOZw}gC} z#24_-D>Tm)hUty9+m$A%>&{!6`vrUpK8FQ(UH7SMf{%=!K#igx^3^B?@qTKy#=`>D zY_zI$I(Wq}QfJ4J@oy-VlX6Ab42lR4ic5cmuifYHOM^!`@R<_cWZYrP3uQP$N$Ie5 zIjK~wQ%JPr;BUCkT zHYpw2*cDpn=V;W;2gohNHF<_^!5GJ8e+Ar23-0+V2bW1QjrTS-F1+M&HnN;>vhn>q zn)~7RvtQ>QH`3@C8?F~Svlya8#v9#d8`$=NiHj+6hwACY;vkXpbdva{uZ2!4PoAqJ z!{)Zcd!&5DiO>-#w1+YHdSJ|1Z3Zb6=C5moJ|O%0QPrmKb8S#FO&ysTW&c2j3DmZw z%__+PG~L=UpCrvbUrhbQYw3i7Br4=fk>K-cTJ6g%aqI+?0=*lDGEQecowBjKwgcB! zCQ;UGXth>(>9*d!oHqY#c#t9LVH)nINbApr2ldJQ`jSSJ49Omk38*7~!OhcnD3GX! zH-S zl|D54)oV)sVfezc;lZ-30Xja{AVLelP>R$;!)e+?|M@n|N;%dsM6^+6nN2&pCo^b? z>nig|O@3Ge`47z?kuRFtE`txVL!n!xOC67ep7zGlvlLQqqBAD3rBV#t*A?G%HZ(=h zSR=`06kf*=9e|3ynQOjmgPT4Hi_R=if*tGW9JA11vmoz00VFO%xT2oS z{KT93lpI~!UT`F3IsmBpsGjF^O{B_2>WLl~uUV*3;*e}ogw>61Bg`T-?T}AqUEgh! zeENaHU)`lH^PnBIGW^aKDRL!^*KRJ-knS?@(vHP>8a1QJ?_6=iPWb<`_pRM++sdN( zoVD^FknDY0xpic{{A`^r*H%)U9mhVFowmEX%ZnBvn5;scB=?gCStEL7ZL0T5Squmxrc-%C*z} z=O#IBQulyh#cV*R>hSeULuzzmV$RxFm9!Vv3vJ^{H?KC7txi|zT}}I)?pAj)*xudT z?e)7?TfJ>%XENwaw+8CguCle`rQ*LBZ5)~w++YSUvH$VD+v#`PLfReZwz*Dn8aUR& zYvLo||3cfhPROoe1NwSynYWq>RiD(JelfryoBdP(kKBF388XMvA>mMv%qlD$2o1Um zopiLA;r25E%g!?r4G@2n5(%E&DitS+q90d%5THM`N5-xB35H5P#q^zWh^alhVtxbt z_~svZzM63@_ItpcVgr}PUVM@{_2(3tFyGSkBh5Dx+yPws`fZF~^dI9DIv8c03?A2D zqKl-vG3hg1h>tG9UT)~rB*Xbr+wTCRO7FgKAp))bU9jOc4>60(>BtR6KQ zM_@yIt1ih#h)10+ewmp8B=qx^7xsr8|}Y>1F&|8+=RA`4&J7 zkmf3zxPaZvVJflEdqKZ~V*fQp%u{-*?&qJcm>s4ol<3MG0p4PxnV{*)!qqRptXb74DpsYmk+qLsB~*bY=w#TBMFS1~A3_;*^kvX}rcByK72PESMI=4e|N?S*^W=K>K-$UuiWKbX&mLQ#>ZdV~Ltrmp#~zY=F5_F|u2#vCc&t#P8|yq%GKQOP9wxx3MH2wFmo%tF^x z1efa?9TdkoR{^U0zyFIy#(GK26$iyaH{(@^63wHX9JFzRJah-gtRc_n>cNlxLRTb6 z2FAH_liJIn^tnW_86Z3uu4WWZ0r#~S;?qyuHJ}*0<_gUNjv$FrT=FQEA)s#vj~CBoQ5A zHn(kvB0@-*;wu0)0N{6l5v^QL;-#oAi@KQ2Tyvjf96Vsc`qF;8xU|%9yZ^Mz)lclN zZM4V$d#*S16I$LPy0zBYACy^Aa2Gay{#;K#K=&6?rnU9zOJ}ds?)>Ac{c7D)1xY#F z-O|$bRr}l|iG%qv&_Z_rAG+YxN<_r~8b{7n3&@ecjCOz>`%r!#zP`YIu*Ago!fF}c zdsw9%r)n-xlG7vn&qrEyC?ah-yBY6>60gVRSyxe}34G?pESWu6Xb`9Y^UHTYSaQxq zmcaC``jn5VdtsI0>3)qz^3c>xi~M&vNKP<7iX-_Jk0Lo?>Cu0egXXOZlp;#Mr$Mz( z|6L}keGb)rDpUu6Ilo#Kssj$yK?161(+~frL?qEN6M<+2^%{fwy@&NZ!goEg;e*%k zA->^fui@wThId}WJJfJ3hE{$Z7Us_q>BiK38SBuRUl=$~B~)7s{(pIm*4=Tizqs)V zf-wfFs6+*yYgT3Al4$OO!dN7ey=futL;+jVdHeLmWfl$YoAD#Pq2I%3U zA(qn?NRdkN6^Bp>ic3s1>sy?)GU=o=dY1vm07hM5WRuquHDEfp@)u6aW5LP7Le;Zz zd=#hQJ%0!v>0OFPXVVoS~`iK%7^94m?NRoP6l|v=2>}sgiVjx>n3^HjiT6d@Gfo{SFw!war zFIdN3t`<$AaM_f+_h6#30wkC%!A;>9c@Z>d@H>1v`1v) zTN*nwgU*eaCPe+!v58{~rlv5!HqDh(F{Pt(O2%D#@S}pjPd|w-ZlzsF1Vtkl$0!zw zjEjua2ii0CII8ezHhToj_S~HRavzTDX%Bxv=$s@#Wj3o&OmJ`HtHSK1f_?&NiP&z| z+QGRTk#L9RJ&BI_*x2BtVvUyhbnECTxHx>!2_)B06fjX1*Edcu7MW;4ve@R!5Q5lp zMIm1z99k|sqZS*yu!7HFW7Q z55*HXn&9-V?WNx}y~XV#`aO6>uX4W(brnD?-GyY*Hh3Lbc+Dr!9w$>@;F#TWdL=pV zLtDd;$TZ0K<4Y^YgC4s-U#vAdey-Nc>}WCjs?OzE#551n_3{^`Wbr(n2rg ziCg0Q3rUc?k+2}$>h1Uzwiudw6Pv>gE%0d<7}vDG(FWW*==`GCH|W}VBpLDWn3yii z-r$RS!TMK3eRFVTPtfkhb~e_=wz;uw8*lK&wr$(CZCe{-W82)^{JwkZet(>*sZ)Js zx~8l8Oh5B<_m#+F-k1L(ZKvX54hcx~F#HY$t$`C@MriiLEH8|@P^5EGKTdGV$QJ@X}r*92PLzA-fAG> zW*`JJB>Kq<5MZ`IE-{GGNlA*(0*bJy)Aq3Ik_P4jW4RDSw$A|aji_EbK;vbkwA-=z z7In+zLFhA2S&6}%jf*Rge%#yCLDdjs^jjLIki@q7BZFJS#>D&_}JszwQp-*D~Y?R34kx$naCG%yl}+8S}G$ zeB7aR@&(2u5Q>#9uC1?wp8S<79sJrjePZu#yfSNDxpZoU+Q^*c?grK_Ldw845Y%0g{?PG8FT^<0=&oW_A;_y%D}4lH`!et6`Ud*-#aS3fL`qsx^B z_RE>SpTSlvZqc-Ht#;rz@tj2-TTI0LAvz;C0ovHwTmhe4T?lQ4rYX)T^#1)71S1m( zwe&PP4n?8(+Sus6tR}cQvaD?kKIr|6%X+8(fR^B!+H(O_sxxox_wd7Es+MYWUJ~gp zYKzK1>oWXv?{x(729*;ed9x3)w8X|romVC>xKNeym*Tm(YkkW znnpC%!q<>UKddV`|IpJhVHFu)A$!*uG(0e`o8g8DbKLGx_{Iv?eY6Aw0qT{r^wliU$o)5sWzfO^HTH3(r29zuWTZs_h>|LZvRi~9@k;n!-|cJJ{f=L6T=F$e7NTR<6_;Tff4@fST;*o5FI2I$^$@9OlW_={XXW<=wuV{VF~G;)pM-rPYp+ z@%pjq;LkqGVcTc5dPHX%p9-2)z%~kpP-~og2_ah;sE13i4S%13ylzfJ(OUT7X4*;$ zbMHL4@g)mzd@;F+cj@ZajG=$VO%j>xiE>Vp)7TcW>Mcsdb6P3wdcC=FJ(4dEenBna z4AOQaH}S1<8AT3ELDkX$zSk&3H|idg&(u)SHPniL4=(owGRcjy2ZV`0+siKQgJK}^ zVLBw(AHPzb_JSrP58m-mID9Rr6I29h$L)O>d8fH{Oz!{Q-~P2);XpK%jisRUiKuEf zEX=%n&l_DtYUOlnbbNN3*e%`16=k~~iGhf=f*Lo8rTDd6+h70SPQAyj*HP^~cU+ET zaf55wpU5<~=lUn0)I4vvR}n6!sBJjCGU;0j!8J&K_od@-sZJ3(V^6e!+P zfHnrFyjM>&12b3-LK6Ublo1USf$zi34E%bz0E3q!ZJcWdyKiPvHs|FcY4ZSPW@bb- zr_X%7xkNAhY_Q%P4*MmO*Etx$Q@o5y{@}N=S&8i(DF!>K_nim^I|B45xx6g~vpm2a ziFcZcrq#`39||*sovj+%Vh~4HEd_*2Ow#Ch3?^45vYu-2~;(%#9 zu@$N1d$&frt~U0<4_l4KT80y&FL0DAZVrS%Zd$%0qGrjbd?J7LjbxrPDd* zgeE*POAY1%A2xOVBvDWSJW4H0N}V$)Xzf|B(ORa_I9CJW=WKG8F-fYZkbdr~)&JEz zGK$ffW-t`R|L3mutKIJzfCj%MaTnpD=vrW$4u9`O~9}n-L=;hqQ=I%JX zWtiDHqP&x$Fsr+(+gT{CQ6Dedz%-)<$ftdy@gV^p267JXGIG1ifXe9d`0=D%+C^LN zXlgd&aOfgc7NltMSb1Fy_MD|eST^9`KH6@n#N3Bxy{un0`6 zYZ|W2i0CfZVpQ~HqPuJicd3EE7Ju#sruB?w>>B?pxvn=;2pagqw+xSz%J>bd2f@hD z((T%{qLJ4;e{gIP$>`ShU$+USH37kRB|EYi4ZDxQh0?0@z(9Y=3@cwQ5B2y^$OwHz zJ>Zf5@{#aBP`>#iw1I=6!iVV0WBBG?-Q}#67NUncQ46$Sb7c~`Cd{v_dT~#SGS*ej z7iFPy5uR+1oENv?S|>HSa~7WLip}U&c=$!-gs%tVDh$`#2j|0*bL4M!oeY(91>d|s zPH5rEtWIt+zJO4D42l3Iytjs8LG{4hk$wwcu%s@%YA z-aeem+}X+Mq&(_UH9Ry;Pq8{>f87^9`p==}aJ07m7Pk!~j|pg;(C5EBs(I`HSKY}0 z4bt8tag9~4?sp3r>x+r*hUqzf2=fn;;WBr8!~ZGzH={rFD}p#Wt&n(G(Eu=R?A>UBaJJq&Y2nOnH(L0_$4uq6DqZ^I9?kl;!~Jq zv|2z?0MooON;u42e=}jNo?zC<^iWhKB#`;!g}`c)bZG{DyPR=cJg#kM@RqOtlGMaR z?bE{QGld4gsH7O;EF$s2;A@hjKBrg{4FBpxA+ZOGR0H;73I=7+evsDLk*WK+x38~? zj$8f`GsjHrs?Z*3C~gGb!(a^)71LQLP>fR2Iv)$hEXEzDu3;TIDBI0YqSjaU_NMYb zkCvp9O(i|^mE6-p;^{Prr%!!Ry0D{UC~7Wz1{Ye}t6A_z;<>pK?PU^+c9A9i;6 z5^4#R`S#*!0+(9S@FZC^suqS(4e4ed5U+)G0fus`r$P0sM<>;$68TW4(4I0tbCjW? zoLF`Nhc(dJ1m=ubu^2OX%mZtROwva3Pl}N^O9BxH1>oq9Fika;O;wqa71;W!-1wBu zREf$`T-l)dwuV}t9DhuBRgSZaITo1vC<&w;kSZklzB)2Z+{*ZmemEo`9thiBSR0X@ zG&)0RZ@n75wxu!S;3OX9kxH7Q%25>iYrs^IFBlL_0V&s?odHebC?^u4o0!<6!>cvE z-<@P_Wi4*lAET&|Zd!Tq zVe0PrkIPe=p;zJBaWfsDUiCqU4&)P?ntViF>0D2`Njd$9Y)#jAegSD?vX2EB#H?pn z5r=B8fUfeR=a!7BnO=2Mxm178h>9f21G*G@BJI+!%6Kvdmr9aJ#R5{b$+wt?^5b=> zRmDGD4&~%@bsC!rrMg-sRV8q~;Dl*XX=f%?heKJ!pJeG355hESDxW;2ac+)IN8$)8 z?;kP*JnCP_)ySQ==jt(660quepDfLz$h!??dUJV4B*RKEtDt43tc~(Fbd-y4%2a%R-XB@Drd{eEqsy;aQ99b*F%@GeN8npv+ru?N*u zftb$}r&V0w1zEl>q7*(;RSAc!_RhyMVMS83>jeACVihZ;$4gIF1mP_%T ztaKa`%tNAK8UbHTl0p0e7GFQ7lIx~3vzY9r1;z;5NLia51=V751QMO#27RfXPb@cR1*3>QJYu+!z=a{nGRr>;&kv(?U@>| zoR~Uw3_{j0CY~anv~Z8@jB<^c;N%{c4EK&^|2DCH#iTeTSCOV&OM1L>q;DMM7ArVY zGok`GE|t)JU{~WQsdNy2c)l*@S(tFDyrA19`j14rq5M3CH!2wN?R!R2PL$ zObm{wNus=B@nz~)Q~(<%;(5c1WDGkaV(s9+w0;|d;(96&dLj=uj*zmF3l{8fs0o&Q z@TC~Ogt9|0Fz`ps`1W2ncXXz1O(r%@A`R+?n(tiqg1Fn=UKu%Yy)p6&xPAG!q08q* z&TFiwSQwU}NEb#bX0mGWRifhg$VN&1%Be0=9UmJRDU(3^z~W2OZm9sOOe6}p|DkPD zPO%Lmvq^!7lhmWojp9#RmYHv!Rgk3w@e5(Bm(djnM58z|)3haXD)OV%1hzj`7=K9_ z*nKSZn}No`%xTOlJW5v~#8C|_aWuwKACcYX*ZI>+WSO8BYg{p=0N`I3N{YSN5ya== zVjP0iIO|!Idlj+sNhcX~F9kjgfyHqsksf`8TKr-L8KVXN zLDPw6e%H8LnPWmPk7i1lT>8m2EQ+;-wa1(+UL_evlDot)Af2?kaH6~VLz-9!aKwSr z%R2I`(#e)xhDU4hgT^a;6W7}&%F+i|T?QgM**Bswf%>E&nys5tVGAyuz(wUmYrW|J zU&AUaW+!RWRN&Ce`(5fUGe}3Yt$9MMQgSL;^a}(1$;7l%38q6T@moI0xTyi5MyD{D z*f4d28Ev5whgyhIaq)(T%i0STMX-H!bG3`vNwi^G?@%GvG_uOea*`<>g4PVc#EVtW zdUW5HwwbnE@9;Nm?gyKtrPyKpJyqJm<^^yHpxHs9HZF}kdzQKM?TH-9^j5pRJyC*8 zRj3XmOQk42kYAFea_NaVlGla*7fWXLR&+X@v}=*#i|9}zyO~Qlu@2&rY5H1Jkw#7W zl2Y(i+=x$^+*cWqt9rgjSsbnAk%lSkK+3?5+pP`xZ)Ii|$v3iK=Qxr9XQr80(r?QN zCbZAUep`-g-3DXQ3-V(eay~*rF>{Ah(o1JvqFATOhSrV>mbkD*zn*f_bgbM9Hq}6g z2DOUjH*M~kSA$^}vC^MaYj%(x2+fVOX(eGdSAl#x*iWA@B|{`N;NL5O(8@>&(i-NXMoF?%C|XSf-QsODbeyd8Hi+Ob3< z{&3n*F;0)7%02L~FrCxk4{MPmv2w1Ej51RR$8s|(A8O^7X}IO1>}6q?V|WvTb&w;f ziKL>O;6;S$Z$u;`Qw$awn+Pw4$_M*Gx zU}ywT+BJ0ij1It|1LI95P2M&%!~z%Vwv50Ou+k48u=M=?To_?2JT0nkn{ zm?*Xt+)uTclU$Wx3Tmrt3b`?Ivh1g7qAiPQo@J7rdY%Yuw+rFU5;T64PJ;+nTHI1R z&GLrzEDGlQi?xuzCUs$!O`2cbk?pP0Pag|1e2?=pe1%LS+KLm3`b`pf7{X;HqDrp^IoC@A40GR>E5!rWt61Tf zZA4enPG48kB+3hNi}Ka&LYrk^l0@XN*=w}4E70?kTrS6Li{4nv5>2gITMi` z1tf86_j~~5N|cd#%op0j>=JxYu%)N&=2Z8%HVX%*<%T&qCfjV`9vLEhhi5@pWS>ba zk7H=E?cnqrsz?H7q)rEiXZF92ss8<{@9@xFD)XacY zl#xzs-jztQhP#$$H$R(Y$2d)Fw!EP$2S+C^jaJH4nCcViP~#iqBa=uQUIiw5)2l>% z5uY|vyHWA~hT=UQG_%Q6a@d2#$vWEXhg8K$r7~ojOcT$NKg*_QjE7Iv=M+rwRorQQ z2SJ0?+s&KsTb`Dmww~dZSdg>1l-Em(igYqb2a{GUs8KNyskSIiAP2pvEj|XOw=)`D zB}JJ{u<7tsqGNfoe z8V|~qDC2UEYB>h($@<~2@u?<`&Xn3!q-1VIGto-B4plh8>}h%{zheF8BH^@`yoxjy z$}>WB$XVV^uK5|!%cec*u~yWa=F@`XqqCE!K2Dn+B6O`O6(Nh~m2>hd$M7Kub7e*@ z$G5c%C=~?ump7HiM#o0l#?k*dO}Gu$kS0+EE}T%!wy7RG`Nzsb?w4$G;1+>c{_zY{ z0p-b^g9Ny^aJ1CZZpDk$Vxr8hV@(%F*m0?(nrg8m7`5XTO?ZE6@`pnL1>&qFWNN&5 zNl&=M$i$e!6xNrUt~&#_$aE}^)nkIiX=$BE^{UZ2j`~^NI}lwl&u651jcEFRRbk_h zn2ZwyJS3TKRx}G%Y&zl=effn{$fjSfqjz<^Fmiu=Hmsap>A5h-&(I6N`{L*L_kKZ^ z_I~ga;Kwk;%E!=eBQb~*jvPZ>|3!-3E4MGvwK_{K=f}%zy_s@KY7;4IvY8_8?FH3R zmr11cMEI=GP<_3K{yPX*y>95OA3i)w!LlOO^r{3l5h@Q&9tpuJ=lXL>y7%N3xKAc~ zb!QyO!g}VWxld018|g}})Lx)o-rLirxokjjxy_vlfM^$ z8}?7hPaml$zl!2dmJgG{vDK7`LA^2~fIbp59+p;TBdd-ZTF{}<{zr-03+^(;dX^4I zf)!nJ$u>F-jH`>?;-PLx%wEPl!>@LOwzn5(X6_#{WpsNCj3}1z8&Rax?oI0WQ>EH> zyC31c=H(VeCLo+u97GHke}SLebYU*m%4{#7={+wc>L9tdCk5$rXku;bE3JTtx)RVF z`JfdNHBowPOj}J7UE1`6@t0Ot`@zaw!7YB_VQa}rXbDgYWxv2C=nB=x9-_%Q4*8Uq zb+d(TUSbxaEi;7s&xw6Bgo-T9~BHEfBhx8X&{{-ZXlwQQbk$wA} z@Zfi_CS~`)rs;}dxF$u<&f-wd6y7kzA8e%8E<{xL0(NoT5b#mojj;B=9Sl9S#RftD{8H5S|p)QP=v41m=S|?bo>3 zamkz#q6|s>lW=L9kb3 zPB?$8=^RtSW;)Os@1cKq{)E&R{-IxJX)3m)Crxx7tQ9L0&Z;3mRcUQ^#bmJqc~s3| zg&PeGcb``F#8|~wuDzn8oKF79WWFJRdXK+TyJD`R}&L7@<-nhN&@>;F$ z{tr5qk7zz;w@rg|M0_UlWOUHdu;HH?gu6{?e-CS+gW|k!*+2rSGMtt&zF&qGZ3emn zGnckwTAqewOe`N!39O+ZIwiZy&x=o$$O4xkbNc~mlBnJZ<4&1o7`^ZZMkkoG^HHvn zHaovESG8TTDC@6MYMFr1)WBJ(oR0_-z5f-&wB0Ww(n5-jC$q6+yxcKjzEpJ@QQ&1G zNowD6X*^#0c&N@0R%)f3(Z#^xnBT{$k}e`x1i2ZtP_hcv1pBNcRjg=X6r8e8gw?^t z{C=_~(WL3&S#6ACeMkMs;b{~Wi-H1eCD5Nx+R0S8D{p*SKIE`A7((3~m1BK${TO{v znmh?J#<2BPhr}1iPncdV{qf3wvTcAfw zVzT}q^ha_)rG-ykQz@Tm2e01Bsu7n(mpvDEQm3FNtR95M#<$YkA=TDYeZCHI`&BdD ztD|KqIG_EA9oRm!SRP{L#^t5&d`@et#wzCd+Ch2gA(zmmzBQySO-38c#hkj8K-pp~ z;4jQmIBNF|g=XBxxz^Dn9!p6iWsuU-_~+B4Ptp>`;tuLHOh{N!I!KsS(>|e+s&ki{ zuKx|#$K0jZSni-K83VylCcityTGCQQPU&w*X3dm^*nLPBD30)sYSC+l9VnL8w>QF= ze%3SziZ$C5Nf(&?ZUC!KfHc~xlarHOB>NUl{R^MwnUGDpb76Nk+K37bN{d}M{(fJ1 z(mIzgSFd1Xdo^CDsuv>~&-bBgF=_&9)M(R~>=@wK$dqu$Di|fkKyR(unraGT0wW@8 z$dNeuwhX@ojKKOk@v`M_xMG5m9H~mvZaFd1JwlI;aSuM7ES_*?0Dd5q$x4i&Lu-nw zDOpK^0dreH`D@d{kmsms*donOE^^uapC1zW2_`q`VjlzEHsuK0PzAD*XxKj>p{g2g zM^RbaKW!u>7AB`EFFmEk<+^K>H3~I9s}O-_8{2i^vDnbWtUn6xHdwMK0xAIhcm=W1fiKqWlQhFor`2kQTXP>tbW~qvkY9J zxm5Un?#O%!K5S!gN4ER5o*A)wa$=^vwJ;EBT-KN5hAnB6k{ysueySga%KByEb-0bS z@eH9DaPi%}1@AIX_?A4?ts~2@v#KxYX*V*=S^sv_{sSu_xiHrt6B$neCx?+zy)_^# zx^gS*L)))O@Aks>q5MOz4hhc+L^unghV!Kns(Q;~${O{@;GOXLFRT0*cqlDLVO&w@vdUaMXHQTx!BAEluO&6_!sXNmc~84Di3}&F3a}4#2NYg^siKYdGa#4Kjkcj z5iN}bOJg39hp&jLma7XQ>)v2XGV)J6OgMPY>(EIZKdmJC4YILPy1-UuW0D9<_ANG^ z_Fr*bAa=MuQFZDaTVU9^)p5-HQMU_@!OD zUS>0;E=MG0eG3+PQ}40F3d^GYPSh`T#Nxp-iSn~zql1(8`k{kJse^yzLQl>^?*pF! zBR+W*8HHN|FOmg9TZ$1f5hQ;E0f_?}!)CYeQ!tSKxLxW&Sr2ATAWZJ!sN8GXxMdot z^of_$8&|C{GG8$>EqNG+KNymAk|NkMGMA1gYWRPOW7jvLk&MgCg+Y*}lU+^Be-^Cn z@QxC5d_dL*wnosOAUJaSIgwVP7=Uei)3zCq>*n)Im|un$$k#<%xlbOoL)Z#LsJHx( zcB#|dAUD@+lHLu#I%AI_(5h#GF*A?%2AS={SjTBAsxbfg1P$tgz&FHF`w#PHpsA{L z0K@*NrrqhBfH0bmsZ8q}Y9!9c`U~t8S}AjNJpUf|;0HLa_WI_hsv}S=#IZtSBFcWE z9Xt97pS4w$r8jrxql8!ds`}mB2lIaZkZ6gjr0WAM|FL3+z{TdtYmsnNotQzi2km0? z$lICS1J~tvj3z$t@^=2a`?)ekm*Tck3InPUPUPo-cQra~ z%q2)at)u_h{%;6OFJgr~-0!kVhYHh(wKvfdJ;#%`uO=a~WYnxsFdAIV$b* zbkJY{gE18!8jV^s$1!W#N7uV6YvOW6)tFGuk}-;gVj430t9%ktx8Dvc^*$CES=iYT z4ORJMr~_R5R%cZ>dKr!^+iQ8cvFhWYd`77-or!EFtxFL>ar?dS#&Rv68IZzFwpeMj z%j{${4xMHw(Hs#-C3N9&X4@PZUP}cz9Du2e4eyjNYn%6sSn^icDqG^k$+*znxuLaa&3aJpF&; zgkKF$0tW5`=L~7;-ShMXGX*n zXIA&;dpbH$0O?d4d0fb7gJ#&blA@r1jAX9+^2v!Vg74WAzyJ-_bbbq<0LX^#A-ol~ zKP$wuV#e9RV$x9wGfGw`e#_?6 zs^-oMQ#qznIbFMGOg{gNZ*A6Yxv12|57BCj6uGB(6H&_0NLNvfoLAG;PVMl=(duB< zck8WF?quiWdh)W(Z1j(ty_fb~u;8@SPULDnVHAWOX7vAQ6hqt`;OMk7@iw%WWH9ES z(<`BE)S=cRJcen8Wlr6ZxM#rh4xs%Dhq}-Dl^?dgHGt#@X`Sb4)l{3q00cv7px4fc zoqRsC4&bPYF>|i*!vmRI4BZ==Z*C&O3$TyhW$Sc)yw#;{)mD$zVRgZeBz{C0p&*E(=9gRD;b*8?0{X#ZCcR?v@i?*&`jX)6Ff;| z$Q77GjFr@BO_D5$2p-x=CndoOK?T4VGMdnK#L+l0`bZ2;9}zJm2b71E()JAmPYRJ-?^q@8vy_t5F>p0BWfBX%DLX$%rrI{|u0nkZH- z!H6072I)L8FquY^CR)KR$+-N(wmUGC=$o|Y3#01hJ*|Bs(!_%s(@Sq|Nn{+2jW6#pn3Ad2;YzEuth=C<#K?1S3?e-{_-tRn=JK z(xijAg?pe`dCSubI3wnRvK(mmGEYy+A9W{c#JQ&dHo*ygExw zB@P|>VX?Y*1VgsB>asY(D8b|>7mYNZ9Jpa6S6TN5y zdevnwU|9DC2DRu!MczAw#=lun-3MoxrApp&wz3OA6#O+#V)}rCi546Bv)u68zZjF!TM-wI}jB?k166z*Ws2S8Xr=GRFNZ4QPT^b2L)nBFHJ*CIWE0Ae;87Y$Ox{GW5H@k06sYgBraqykf< zngw}PlO~#?nW>F7QAbGyBz<4Jk=l%QEykQTQ?Y{1E+1nJW{1&|%;as;xLyNMupZoZ zp?pt@^sV%XOjZ_R;q=S}^Ux$fyyX-dyEmS$+Va`_U`PcH?*tSKO~=R%S=%Fx#p8s* zhcb(I!jTx;rG7q4!YWJs)EOkG5xnF{>8x7sYyd;F%Z$Z0tW?-*aon zMkh~ZEc@P3;v*Wv*QiG8#$~uJxLDSQ>-(0VEnHmt`nBz|XSaE_UhCo-@SyjEg7S<1 zd*KmC&cJ=#;SAv<++Qa^rt{v{hCk#1o8~RvqxD^N0PIU84 z+=FIOMLl^8balAAK6UtE4hnI#UkKT`bfPR5PyU8&Pcu(B%mgvdnYn2}vfv9NUu0aQ z3h=cnu*bu{ePa03$>ZDuxpA)?jA}GuN>2LzW6FT|lbj)pWHyxa7zPnj{UB}56#^jPbpV=k5) zMxE9W6)VG4Y)A54H?gOm3FuZ!0B#LTlJ7#J}(*iCex?StVP3)g(z|az=rJ8-S%rC7WnV915x_pSOJ>~YOw7EZOWY!c$@t~jcz@O532Qijo{|Hcwi3mTCEG`P^xG$-MHmSf#GT@& zT51$ZY1u`z3VFNyho;Z%U(;70#^Xih930$<%Ezr1PsYkNKb5B5xxCB8_%nwJ;G6HE z2yB^EMz^e9a$~>Bw}#5x>v$(HA88hscqDg$6BME{uUV`l($vxW4t%zPc)oRH$^H3W zvzi~|dwl}x?U|q#wLn0onW@rqvZM}ICi60*=){7G;XDfTyPHw5j!MDhB=yc-ZIcE| z_W>$B0qWgZn+ZYchZMc#K>~+xe2Nlm`J7`x*y3Eh@r+HLn>pKWCKZFhUW~c4-<_ZP z$<6)v0Wl>z;|Y>d19_&~K_Hv(CzuShwpFabhSt*yu(##=m}Q|h0Ua?V_yx3cSydgR z2jop(#it(97O%u&dlBW@d9-t@%}rk7wz5{B_W5KdGtu)&Q=##f9`OfOA|NqyyH_g` zulz%XAc(Z0BNTea_6}Dq)T#?qum*Y26#O0LVRjlSPogXg zr*yVDPGR%){rNYMxgt#H2C+z};TePa?z5p!E_oG%JNTys&hESIZ#H)nf93bAu75%u zc|BIUAgSJV%4?1)+n49(Jh#w~<)Mx!fze%C)@v&(C;l2fVK>xe)H@1RCNF&g6GRAW z(j$dNE~FzF>^=$YIhb%x($j>>rh4=JlO?y5Tx(V2GSsq^5AVr#i9WZm#aie{;&48 zqAG4Ajk8(_Wmc4350*tpg{h)o9_Nc?I-sjX+0;%cdG1Dm>lVC;TH{Jl|6a1y8G)$L}B zDyoqyRG)K;D2^9$&UL;(i{iUtEakR2u0sA#G;-Q!Okx(e-|t8E8MhgWi) z295ne4TeN0<-_$Ak*D~l|7R9a$d74|L|o2Slf^a%knA)CN2qp9QmlWlaE8n z$Ft`~yu>cxG()LlXRSZY(v%6z2hi{GV5ijSwZg;E#j{>?<*NDzD2Dmjy~=`a0zyZ} z+lGJmzbf-|nY!*d&l!nlNO&LvD7J1t9};(DSk@i<9ZmQ)tvFZ~T{N~X0cKts5)>a0 zi^2YyCf6`J?JEXDmez_fWU-v^QuYbp)nF{#h>Yt9+2~OlR4L8A3S2M1C9WOun^r1+; zAQ|+w`fce>-a!8Dx%P@C>JDCHY8}BVC!|*sT=wNlXOlQu6QAW3zOm(5Vq|f?fvt7T znK|laTAaL#r1Ok9zNCOHWaLSA4)y1pkl)cS*NysK>b*QsViO>Uwc-EX2{ov!{Xh}` zLPLM-i-EIH8!{Id2__WoZj)N}%ajoRVhpm5;nfkufus;t?0N9C{wi1nGK0e0VpT+v zF7}>`;d4Z;^g8LJKh}jd)QD`m8kG*p^NO-)NTA#cJHhjqg-W0iws!|{rgdm=mt5D1 zh%ap0t*nuY8g<<=N!bR}e4l~xeWO8;d zPE{A2gS*ykHeL~=?o5S}?(q```pyHsxIOk>#>N^sU8M8^37uM-y0TolTs7pPhqaQ* z)_SqAobr>{#sf?K3nMf_BT%>*Pq5+L!v8kL?BwPmMbTaN#v_q2F*F!Gv0UTqO?4woG)=)HXV%62m)Z<&zz48hw=o`!GU7V!Vi6|ZK9RbkxL^_cNp?OWN zP`t2bX+zU1V2}^DiDii7KYIFm8`C@eq(REDqPh7EM z!@yIGp`M>R)0rM@v69tu(;%vF?D7HOPhDXEMfyL*y{O;1v0)!5HBXpo4+hP=i_Rsq zDA&{B1sqySKc|q{EUB_5cLBkVR)ZrK8EOR6N|hTjU{!fDhqtlv=b_5ZqlU@OL2HxY zqAeu_q!Ns{)PheDNxA)dv-Cf@-~m7gPnA705PMX$1Q^7CV36x$y8!0i&h4Jo6gxY9 zx@kz3#P7~kb~T4Q5awFVJDUOQXGstS>4=*4aalIPkeN@uQR+MIHx@#<>VJDc|L#|r z9VJ!j%kG6kBz+QeyrujWiYWl|CmlL$w2Gu{$2k0Mm>|po};n8 z$t4^PrYLrZAdjvm?7Prpo0a~La9>r1Ti8c2)Zvd{avcoPLw2T$oQ*uHn(oJ`c!E<$ z{3@KVaP-Z_ewn7sg5(UkPPw^&+(uZ3@mZk%b=iPbCZyCbm8D#>O2tUj0f_&Q$o^nU zWZ4-y?_vRX*c=gYPF8!OK^h*4|;d9)G(%?>ao)Wr%B^p ze2iD_aF*zraR2pzY~3U!U$i3ZtbR#u$`^U@fE>$AhERpl?b%5dOp`n zQ>|*>p1bf94@Y(6u3x2ua8TDAKKG@Sr(hF^|tW&Yp3&@KJ3|FD$4kEx4@|HM2bTk0<0A{-FiELX70NqK-}Ic z!^|T}Lg7W?0`sfJuJKjrLPnO8w-w(=LA)^ZiJZO6H8T}_n5S%bX7uktV+FE*p0L||F% zk1&8-Z;s2&ijnPA43}e_HO65i^k*KQD!cG!i!=gSZh&!m>SVILAobwwPxQkH#&#@M zTyr#@OyZ8}s?qYs!0L((Dnt#L2R_A}?a4@_!u!7rp4nGdrq6c=7k7gFe|QKAG@4 zn%+sahv1sSf#Jj1L~SyU;vS^IP1bJZtX^U}C1o*kXU{AzWBmSd;l}^>SFW`cCdZkB zXCqM1*2-$mclp%0mE(O!Q~XXNI2Qu7(L8&g?xkOKXL0M|sUz_6-;oQ&Z~Z5hC8w9= zCbNip6fO1|;NSn3U}@lLWyf}T>GEfb|IP8(QoVh>Td70cd-dFvVuK;4kjgPkYFyYE z$*Hx)vwQn!M(%lDY}2d3hxqVoz)qO0p1ALDg~Ej&tN!jUq4jf%ACG$L8z1dgH_*H? z{;ME2@8kW!RNz2t@ulBo=OPqycCFUNRjvtXdQE3BpDkp$n%&<;g@@O5%Drq2qQmJA zKdUpo9NxuE7svJXpmtd+1H5+nfWc(GeKj_6ZaMMSLJkeu7)f9M4w3=s^k=N{-!C({}jcL{3rX*@s1w&MIz<*2qZzm)%aZ0&Hc z38Z?vMnbuSvi5Y1FQswJr1hJT6`wEE+k)vm3yu`&Uc9Vlc(wXNvKZ!LF8v`#>(DKS z)yX4DBHc5V3jU|BE@mLIcqbB6>xE{jto5z?Mq6(pfi&*(hicb!&e+k0wPU~8?}JGH z{9PEg-}csUduqh*Yo_n*T{l3mA74hl4@iG9q9LdaTbcmRurga=wV*_vP&g2~`XLhu67-`{`PI;}cM zbZlzEcTn0Uo@H=9)rUG7uxASg`Ob>m3o=e*XYZqU@f+4(frmaSG2?t9IPvRU%P#8e z{-J%taT3t``B~KK4VQy^eQMdIHNHZKZgmL}o&$FS0=S*&4;1t(Mqv;#{wbV^P#GxT_aYzXO}^u$a;ZO7Nyo_^-$> zRI#u+ri9q~?jJtPP9z0#^T#y5xmmqk|N0WHq`$<&kw`?P##_UHd4F<4mhl#tqC-5P zkzs%^iztYHG-9PU2Kx{6k>rV-RzowsqPrA@hZ&m7ZK2DCYLpBykz~L-H~j`hbSXI( zbmesl^dD|7#-7RW%f`L+zR9>JTgV!lHRkq3Bho7vjws3586$>y`sYJ@qx6EJg&PCU z+uz?arU|`(Va*9PeH~@EplHnHQY4M0r$eTjN_N&Y70LHbO=SKjO z?GU{z704#Rw%-*hRQ7OA7?3jT72EOe?>hQH^If!IgKN{g!!_w?0_^SLz}~MX%!wQ> zOxn_o(TJn&M`6~!_-S@t7TM6>(-5SvK~YzWu^(Vf_+=$noyL4o`Hm6vxve)y8PUB# zjd%vv7h;VYO%Osv4Qzv+^Z5)M&uu>4z~RL3PBDx$Dc?A>rg`g{)(-*sBNN<*owxOX zmTw|Ne7=>1(c<&~qv^IF)VSc}-+zNTR=d%^Z=&BPr5z}wnL%HC);WXxaA}Eqa*wuT z(e45aKA-vj1)7T$MPA1^6MhiRTa_2B?NhIKyKv8UXZ$c;C*cP3rQGb5eItZ>*LNMK z?_n8^O`lgQj@}4W++Ov@(j1u;XGsCxSW>+FX#)G~OR9aT+6y^7Ysbvf9dm^G(=Bj*hi&JFDJxV(1s9nX z_`0v=VCknh_G7jYwlGHo*8idFoPu+S+HD=%wryK0&Wdf@wryv{wy|Q{wrz98$#=5< zeQ>esRQ1KI>e+oUtGjB>@s9Ty_7v;n-VnXwz;w|xi9n6A2pvmU*sXI;6HjTLlE;<` z1WFXwjzvB}#@8EEvepVfC6=%-M4O^qx>(6sN|3R{DLhti#Nn3_2p^NKxQfwEy5iGq zGnGUVWcwZVW)jLt$K%qSTBR*AVS1$(GGPp*W>03UT8%B~Z9=v<0+L8MRxE}H7IobJ z6wN1?Alv~f5-{ws{29{S%GfvW5{j$majA>fHUu;`7eK3?5i}3tX?;{9^!1Fd)0{_o z=h81m=lcV0Q`mN+_QYg=bMW|>*AfWfJVqhQL+9WKm!kDxO%;l$y9X(oK)gB(Ys#fe z_H-&ExcxT3%{+iW?|32z02IUPf6&F{ghl?nY@G}22smp{@X(9=J&T`a5qBs+zI;XLe3Dp9z-Z_yq&_(hk3mMp?=~EgdlvMpm2BW_WFJo zuMom5+n7S||D})Cky_tBpI1L>PxEHqlT`jW+_*JGZVRx%H)%1$i`jP@9a@h<+J~R^ z>Jxmk@O`ensy;!Z6+~QXa8-2s;%D0Lkgu!=>VMsXQ^pMS+i{J5uL=g1-uTWh)dBfr ztgrSnk5ID|lPAcj%<76^^jKQ$TFxAez&{Bkt{woP6dQ=NHogqNW212otPizPB?6U;SB6Mo;G1bccEomYax1B2kT{E&GvNk3{V zx2ZAav+4Bq%KEULg)qBj#H(06%CIZhUUxV{B9MB#`?*01osBcxUm-s4{6HEGF)C@0 zkD=NO`Ot#PrGC>6a77i+r2b}sZ3^FE8k>GMspxZy%VO!*CQKVRG&u2Gsh7YxO6FLa z08K(u`@>kuw6`;VMkQdQTFrv}xzI5i$bE*4LkNH+cZdJPJX3rm=@xHA!K|h1#WyR9QsqV3B2&I3_EFiaXdqFAM73EMi<>TauJt6 znnC;k2#}01CYG09u*QLAE($*H2Ea-z+6p3^Z9SbxPRes`5^y`L#KK27HExAy{_T5# z6l0Zf=$=vSW6KNX+6NOscj88l1>V-@3u_!)??V5)7gC*{csGf9WG`wfXm&+f4H+h0 zLfcm7%lO6;|AL=@q`O-Uh5$Yq(@(hmw(p?>I==z9dvD9Rd)IfrRWDw;du^Y5+t16N zeb-6rKcl(>^w)20T}p#xUGTm0X}-3Bv#Ek>uE%E#>KoT@A722itzKEY!P_-{Wa86h zR(Te0qm{h3e*k@ya^Ia_{XpY9IaS>=D~&(zZ(KYAP<=x00w{krcmp4RZ+L?i5)EFO zF3#sl0q1LcO7P4d7Z~bjK&EYv)E57a`@_r57_G}Z;CK{5%&N8hwH7+O}9f7=QM`U~tbi0LD;X#OO6#oA*I z5hJ+>uSQUjuN^^VSdj%pld!aEt$Qg`=_)I0IS^8&scp^lO2ITx3}ae0Fp2&!E9{zq zV?Z~Y?K#C~?pWf#iN{0{EJkE(oZ*6s=-=nS?zShG1|IFR&+{uPO_ZNWUsA)coSZ@Q z7kb(5?xd*Pu!)|U4=F`!yT zKv(-@KtUNk8KeiMCl&uDkUuG9QJjIg|QZy;{v z3G_*S9N`vpidhsC1Lv^94e?(i+*Q^h=HI~ykdX-};&AlLQzjv_DSOYot<%6KZvx2- zG}6$gTfPJVb3JMLMSUossewkKA(z$Kewaes+j zDz`J`3jKaDX-dcIy%#;2BPc}Th(lFoL8=f)uJ_?#CF3sgsNJvzDV=$@_gO|di^0iF za~8UO&H_J8_#kTv~J!&>P&Mh8~26wX6IT(Cn!3EWe{ zvZNOypt53|*W2**vG0T15CAfNq6NHH9BebUdvQmAZ*@}2yZKA)@1nc2lJ7)ME~1lO zrab7ad9ZIac6-HjPu8Eg(agl;5!RRKsk;XyH*x*xg1VhV`U5nf?Nn|I9z$A{IWTlk zy(RRq79NB_#tU#0Z8rUwxhuh-j^wtLqrHu%ZalXa1!g<+j~r8mlX34Ry~XC1AiWu2 z#uv63sH>XNOGs81b4u{?d71Vw3(UNpWOxj2^O>8btf%hmy}uLTkc^GtSAkPBC<0^E z-}SI8j{}p%x5r><$>kHidWAGE+>w=Al*p=Re^s0K@(ic~S-dLfA$_TLBV+1a^xwA) zA-pR2&$m*p@TKxi89g=S^e^$Hip|B_+NrTI!~O^ikvDdtMz~GDP^wF!PWWW8R$Gqr zY9aZJXp~~Vm<9S?2S*ppOL0_iX_RNa%`ag#il#U&Hni7MIMnz?>yJ0B#_I`+-FIaG zP0!=5?^FGU$~Fnyx`o>) z^@Ck*c+3|u+5b!b34&j`YxshMgANA`)i-MwK*BWcEQHfX_D4eksI@Uy2ZFdv>qSBq z3SXY8D`h;kzn$A3v256^WK$xrJ$=GT?9hPJ(ZN>cB)DBjANz11N#WpdIEwhcm>|?7 zfTRQ#DNgEy$c1pvI@2!pqB1`JUZaZ^*-!&6Ntf6C2*k+}PoNO>Z+t>U=bzMpCXnXJ zFYDZcPS)3ftMp#7V7uJ+7Xx~8{Cs^;braA6K+q)H*^Z623MSJHg>-&Q#|FaELDB7p zl;@J047Ly;^gp23K+B3bkVo*^OL�KOi!of!RJFti$~;hP8WOrm~Qkpm@&A?SUL3 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 z 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 z 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 z zz--@2dVj&Gs5Jb(_Vr#bd4B6PNWO?BXF!@ z)7BW$g=sn-P|K=d5Nm*aFPdr-1HI#&6P@&UW8xkU z2O3tC?^L5f(>+J2(=1~I>o{TNHE+$h`EH_zHrPISLP+_|N!6mvH7>n6+rY53sJ7_Th)w1PV#lXQqe^_%vms1mCNhcUyKjm2yF(gE&|wg zd4QYa%y>gY2VdqpcFg-)KuZ!pv4ZiOug12g?Dt_ z7%vE9`OpZ`EHPiRdsx)zwl-xrtXhB0_29Eu(vR#DCA@z|-RoViBdM{TDx#}Dc?s=U}7ZQn=dCML_y&J`4Kb`<=wSDJ-a8ROF_6ca6 zdKcl0R-X!PmjIoTBVJo86gxxCu-lNp6;yiX5e@M)%%Yd^76%H>C zFUCEVx!fwtSH3xM_1vv3923C-*Kfd9qAA;fG zX2TlA$by?3;;E5(UKeY1s61a#MtSle`xA%PlkD_XnLo{{1M1jtO zmWl2YhurkruNfS|1zA|ILw1Fe36^2ouwxpwRG&zLU}jbo`e^7 zlUIf)H@5Uz{cT90Z%Y#;x;>O5@Ujb}&7MYLTQvj@IE!;0_7Pdqd84~tR7g5DM7ovB zsERwa0G=VEF){lbn#8HLa~~hv!w8@>;vFL>#f-^Ix8mq}?nJWW`TAM&OZCPLvI*CW z{MGA>cBPTR3X4&->S(}9R094=foJ8s7q$3ZeNl~}c{y{%%=ybPyjpsOtTqEy^upTV zl1pLq**+SyD!XTu=jM4zc20I~*OOq&`*O8aLlW!_Q=v)&z}$LP>Q{04#ydh zm82idw?aga<)lwrxpf%5ut`E^d#J7bFjEv$%*W5OwhKi(HqZiN4w0enpX$hWvYJ4G$@4M-7^~1M>le}JauAi z=2~Upqt2M!`WVwDo}*R*QD?eglrOErJZt0hb>+fbvs`4Z6~5^u5Wn*bcIXukDbk&8 zVyd6gR0VU4lIF5aoQm|~DKn5m&4V>1Nw(|-iDe5EhWE&W4&A*)?QOn=VU@n=xRHz& z9d6>?l;nWwL)FE%5_59hc$r>&{eboCDqe@!F?t?ZY+3B?<>yZI7#_K)AV$Ul{uMWe z^z!Ue`*rr3$97DScUF~R^4bsktPbCBek+4?mW3Ki!Px-%@Z_tRpMwE*dbNvPB+yWw z_CiA<>tqfI_<PWQOHW0oDAJ167B7b)) zFGe=hWHvDf+b=@FIa%gfPut}Q5`ZONEvZcM!buBXdcy$ybgP7&{L#D3Q9%K#?t!*q z3*!V^jJS#9D~0@Cin=kO`M38A!+B@QHg0IVYSajskuw&@5``Sh_zI|DDyNi+#3f^* zd7`z5_~L#tg@XeOv&jtGPL;8d!~c{XU@Gf#DQTNRJ5+~!;359ApBC~AKl}0`fg(%%#iG`1-A0dTNJabc)_5V1*p(xpx+Dfja7HCmvQtcj_mKWEl7f z*R3;9bwb(hcC8cD_^eg;aYM*v2vZ2Q(KkfxhSi2FIaO^;Hq!(LOnN+I`v6O1CB%oo z8kJ}*AB7UkA0N|dKCZmr9A;DIR$g!Sn2v?t{sb1irTgC4ugX1}bTll|>1NwS&)9Upy}b&doA=zqTe zo+AOXiOb@xG12n{F>_c6+seP-t^YO%TY=5>&oedB;xp&fa#dQ~3 zFT|KGF!6b+Pmo&Oa7_;qu(9Z!u9z%zJ?iLv`Krt!8DEG`g`mJIt0XO8{T2y2wJW~Q z<^eRh=8?t)^_2<>f5k6H`e&C8`Yj}A%T+K4;qh`%>O}SZLg{;cK`vK!=ITZZUXC6cSFyslsR9vuUxgXV(_9Gc?3g<2_j2UvT)Bawm3%^# zq$7U7@uUiK_V{&N{#&**x7rKCgFVaSO^-UX|P2HD4xt2>>-3 z!VTRLWo(ip%8^{6%|m^;$q8X5nSmgS6BnH3FmZ8qD_X2hTKrXp!hjSLGnQr1;wY$I z0&JQDty9pyP+qW zcfftD%Rc+w+vZb?*C-rbuzzP##2UhdA+oiR#C^zL`CG2{=b$o{d$FNyt3dIF+G%u_ z1TFNxQ(XL;;J*p}PbY})mBYH-$;-=l+qH;>D5+HUf(wyk3)-nilsbd{wVO7c7?-us zkN!BmSDCPw;G7fvuM)c4KX_7B$2PQbX9%0L{I>z(DN|w9TfD+Ygpa;cQ3qIYMR0ZE zH)ADo&IgVaq3V|wSEzm@LROcND@$9oRpooMt=W}d1Ljpd8yQ!nh32g*Wi)CS3Jyz3i*##W#ha{Ig z+lq-S-l=DWfuWafEZBQHlGlF0N%@m^(Zuo!f+*et-gZEl(q$_erkmtB`dpF%Ja!M< z=Ya%vJ|RfJ&%Po7@f9Rc7j&wzgsQbK{juREP{cVsYFNjoKbQeutbzkIwTmcD0=z!XgfDF~d2ohMN zXMtm*k}eXo2TF+H3o0LI$9S)xZQs*TQa1z(_;3daK%SQTb;iUH{salEp;AY>l;1%# z(n!!yv3aBZ+zkn|q4at?dnt+p7Dlq31m19RAU5#q9caLx0Ix6Hl0Z?>c~1vWI^d6bM_|2IH< zf!oXXW2z;TdGwNyfI{qrpym;(E28_}-M0N9;4rv(2Z2J~TOUL8j9j7;+qU|~&+fKc zsaIW!m$5OgZXG4#_x%ld1y*#fzfnas80h*N;zMTY)E~YPEXVlrAc1)lB#O@I5&a$t zDgzAnEM@(B9sYAnhClzC`hO91$xeA?4_ax!><<#4Kd`M-Bq_naQ-J)At@Hjr85q)l zDH8ZM_5YF7)uH8MJNq@KC!V&H@M4YC|CBGLSEpK-ga@c}Fnz-Xdj1AtP*(oBJSBcc zxKume`hUuw3(j^uX3b~n%y`QgT_qB&bbi4ep{bvUC!7#VOg!H1n~NLE9tH1h&juYN z<5*;m#@cH&jFMyH)_;_ERda$MR-D};ECXXJah1*Pog@<~=GGG;fiAmK!lN8lH+w_L za&|$S2l@OxUa-I5!V>9Xfa&r&H9piMg!(<%L9Nr)jSV^5dL7n#a z2eh=MGjx~}nBG77R&F3K?t7H;UKvw#gMy#hth9nsW7W%lEO@yDgzpo$lwTm{`ru8& z8scPhXt0{<=fq;pgzWhR

|KUnZ@%Qc*O<(p_G1r9T*`&ao_-^$;YB^w1>R)Dd80 zjCh4}$nWPuS8D1)R-N@`8-r3ceDQ?_&6hr=^NW{>Zj&!iautDR??cM8kwBjbYTOP0 zREBa7i+MN5aPjm3#V{nG^eCzBs8DTixsi{kjmavf0r15HZN-2O#z8xuBxx2n5ub8< zoQzg;ti;0ghz03%DYiwP+F*_ZesZvO?|eBz8Le=I+;O)FyOJhu)foEZH4$F3-&^C7 z%norS+BG^G0S(QFd9z1bOj(TL4r_715)>h=Xn2x>8nHLZb1%;|-!pVe=o}ixTC_b8 zQ9}YRicwi+2Wq&*1&XCLE=-~DW2K8#mE$hZ*(UU)KN*it-R@6y=>HA=2RMNeD#XKA zQFTZId%|#iDZj_|;X6BKBS=?=&)2$V)FCD=bkX&hibSy2pIZBN%pp~xFs8SeQkhc* zmirUY730kzjskZ@l`$DmtuR7If4v8nGk>tqzm)QWIf%QX0SQP{+fS|b>-D(Cs%%4T z=a%nENcjb)m>N@0>ls*M!8GH|uD}~?C_rB6?s=dh3&VrXS;UzF&^h>(jy!};1PQE~ zmAQb=uu)2&eP3P6+#E5LSzPuNo09Q!X4JPOqjcteuP6H$2?flheK z5>KXC%sN^XRO85P0M2la+36iJGOdYkm#2DGX%_1?E&kG!?r7)~wxI2=lyLv%1!H!~ zjq2_$8i$EOzIM2bm}Cc)F6E1@1wTK|lABHVZqty)!YJ?78+LJRZn^hjWjz!k!b8vr zWaQwXPNhTE(0#mE1UgDT++}NHrw8&#Ko^AStzgs7Egv|?;w6~dF|JzseylP5q%cEU za(m78?S!K@uL&yeKD4){GW*1rZHlw^X#85Z zQh%5@@0va=Z+?qcI&Ok}$>I3@3dnbN^XXc*Mi);yxmCLo22oUq(@bf;n0l&( zik8lkqBko6+7#cml(7Vz5-xewC74i6TflPZthAyB%gsJt2~-c1jU_icy#_eLkihjr zVdfa>_i@uH`VDd)xK;s-grvs&)g;~_{+#6@RbiVIAiO9O!|#wK=`*mx-A+Q_)I>PQQ1bgwdR~AO&;!*nzpP+|$?h^%dBwqsYc1 z`6j3B9VHC7gMm%{X;S_!=~9m+U-qDBqOU?2#%nzuY^NTO5ZxxIZRP$$ualj#;u89d zHG?$+1L(e*A)*4j`N~&dF|MycN76d5qAE)j4(yI~)F8sK@H zGtVx5d%d^!p@&JWP2rneFTd{uvaRXv4wbws%)nWytYo~+s_B3}8+WjSJ5~SITh>_2 zpFMp7aGGxGf@bxCadmNyR2DcjsCCCSGu)UcmARc+81DKM9>H1BhxkB5YZGu=m}#V3 z7*m*3>FBy}E<5xM)x)P9v?YS%+>H)Qg|}6}#L~~SEcX+is#ic%!uF50m}KRm?0S4j z7QHJm&|1t+#a+z%A!9CboJKNsJi?5sn$vIBagYGPFxu)#68qqmv-D_x32al68kmlB zXlF9U&NJ%Sqkb5uc8z42Oz7a%wU66qeL_2sCjRCb?a6WXD|4K8W43QsY2at8q5DPn z>)XAZfBTXqKpkKbSn{bep@;d3lL-@Bz_i|&+EWnq`}dE&wyNqmj#{YPQJ?yXk+XbP zUO6P0PQ-0trWV}v5K3sd`2E8Y!*iShVaQ_$%86>zQN1GPvj&L}0aB1(3*d&h4SOor zZ$51Nydr<>&30d7#No!NCf;tNb@AN{(t}EikY_v=cq)jN*4Fkk6VZqbq$|H< zf~@Ik&ae(~96lT!b%t%D4AaL#dzF?@=U})NcBF(qwH~+)YwQ`6d>(vHeqA8pkaK7> z0p^4RIyjZiQQ2j29I&-~8v6MG8&G zP>Z%2KlFu$7 z)X+xP=(vWCbaysegRONFY>9fS718==&Yd2^yv@@s$x|NhFI85wD%`IQ_U{u5bC{@* z(H%oDtPQM_zw_Y9r}+H(Y7@MI9x74#Y3?FkU$l*?$||f-k^Kg>oFt~AIRI6Gboz?) zaJA}a6lCScS`^vcspkODY1IzGWuLsiG;W!2jd10gqbV0;GHJoxX7D=DGmCXHciZFf z*u*U{yCuja^DLQI++#;AmvKZkq*Tks&bTOXD%@1Er9Z*9^0;kuHqvJ-1$ik%1)`nIY__}lana#J-Kv$2co7A%HS10hUKfyG%)R5xOQ~22_yx8E8 ziTA>%fy9Ow6~OO>k~ih917?XuUI}Qyz@gOvCsE%UF&nR}#|IBG2yYXO5zF;01cKfa zJTAC<>Tpq=XfTZgU`z{c1se3-%9z(QJoslRls>J;78qMz34N1S?9m{uL@C_f>%OK> z7dm%oEd?XBxf{3gDB`7QbWx|hL)fDis9rk=ZEvrf&qL?L06limJXrdvEsmoeB- zWkRcl!QfRo9)Icn{E78J7YP$ne+(g(%mqeZ?~o5|YD41Qkh51|#%9d&V#t|&{yesU z2dPBFd?K$-S)7;t`ti4qw;Y1>yv%89twVPg`?XIOG$AU_qU4&J^%m|_3sD|Vo@qWH z-3hYYak-h6EU1X*F_?L#L@Velh6LDvSAFvYQDDv*vM;@TqOTb(&d@}qjIK7MTRK^U zpJu4XjGJGm-n1;gZp>i3jlTlY@t=EbQAca8jLx?eHT4Z&!{8$lU<|BB0(yq1;jiHo zk}Ch=F6Y)Zv)Hz}vI6UNGY#P7q?mWwiM`up*q z`$@uSVZvmpgSHH`6%=B}8+yy(f~SVfybU->fEA<0-unYLE*tH^pWxPBUvE6%3VbmrsA2Nx9ySwA zQeAY$tMO7cF4r0R@yQQ?<^``35_tV?3v79LGPCdA>kwA|WMo8>{aBnDLChuE z2eQ1FF|-*wYReGnaZv-*t?N%u?3&I-;_^^cFWuHDSOmynQh8KuCb^JLVSY9YdRB-^ z+=-CDEF+w4ganPoK^k`};0i&73S>zeL5~DtW_Rf~bfRPDPzk6FDm6xwpdm*KKDDnc zZ-y@R&Q?^m8I;zqpz3jnAruj;9Cr}H0Q`;qg5R|St>f$f+*g7GPQIq}#Up%B8ExG) zm-oupEPuj7B<#+Pp@>s{n2IC~6e$AH@#ney(aIkc-kICy4WWD~EIL)3`BCHm@eq3?9mCdE4L zWwot&;ft+{PPwT{CVbx~ykV^9^bRP|<-t4C)DZZ&A`*DHksBk0uXKkJ=PEp>(+0sV z?L?V$jcr}->sJ$MU$`s@+K4UaV2$hYBIS2Xz1@}I63C5)!L{xOZ6^z;F6lhX{RFE@ z;a}CP#$`o^{EOV1C#&-X+h=vN;)tcWqZ<8+t zt#m3~9O);Lptag4o$W^(VerZds@#(9eQNLNfBpZ+DdZ~uSDR0eTZ*~3g zor&ZxOox;dq`IiMFs)~Mz`%$pkIFc+>!}3Na9-_ejg$H>xYHCo34G^}GBMTXhF|#h zt{e~Xw-t+qofb#KDpUxA)98Pm*m1j@(qVR-%tJF2X`1G2fa=wCLaWB?xs<2TA&^EW zDu#+?qq$?Y?n);_^5)$0_L;S+zbwFpA4KibFKE@-U2vYM`~(7Qz}8=pfY>5D=yU|H zI>LkLMR4a0kk?H1U$iitS*^1DmL9=O~tmZqaRja^`evl-u@ONUtwRwF_kLs zu3u`8cwYCHWyO0KEKc6Z&O836%O&vHW8M9fpC$uR98xUHbwWgP_iQVCjRdEf(32Xz z9f?a5TTHx|Nc9|!Fk5FHgH%>v5QUi2H+!k?{KAy`2z<>VZs96FD|%H3Hb#!|5JL!p z-&kRQua=mR;3Li(K@Jb5h2ezX+Vc;EsP4w`Kgh$W9}M1_t*kPp9nPY z&vxQvloQ>CO?EYpERGb-D?$p|^_5>Fy;fEh*gGStXgW!wKqMpIfDV`(sBInE2#l)4 ztH0tbzY!vL@nO+nEP=p3IcMfqS5he%DCwf^IKtDqujJ^&Xp(TUZ7+P7T0G#~b#>d8 z^EvKGXqA!tvo@wfCchJiLj6xPy6+^EvAO8|YB*_|^f;5J#uuDyC=V$c5Q*7myS;Cm zKYjiH8hBuPwf1~P+$pKY@`o>sA;t!8{~~qVsi8t`#U4}D#dxB`$gTZPZv$bg*iX3oqb{wB zM&SIPtwWfGlL^-E(GcfB9=+l{g|+>~DO~+hEd}~4p97)H6ffmDCnKMLb)b(1oiC{- zH$7jxRMUND(_yP*pcSPl_G=`>RJ^kxKmw2UysOe8v5ISzX7PPh&R4MWl@9pFe+}Hw z9CzafuqnmN$)Irj?{2@2)3@+s&|C2Hs!3fu5IXj(k~yC4Bh$ie9{7KamZ}Agxc6w& zGU%_=3)jMBz*JDB{=+=Bfz4b7qBfRUl({GtlfXIyzXnXw$JDiR{_?TIF?eP<*<|EY zQcdCQEXB{3$2%UG6A#|Se;C*IGp-K%z(OCM2mOVkSb5`1g2K9fbulTkE*^yoH`~y% z1kYy?1`&2?YsY1v@v`0Q$!}Q@n(Lk@Cz$28{xt^iZA2vp4>6N$=%#Wyc{DvlgICa( znFvawzg=P-D1@O}OucQA%Y^GTfjy5L<$0ua{$GNejq4Xdm_L91_ek{%UFhI|R`+c2}p{Q!BRHpct^uYF?hr=G=8%hKIBPe}TMeky-N>pDj9^zSXC2 zAkkHQl6s?JB|}m?5S3Z~5)Q-ze;qnW$$yQN`Y~6~gyBSmonSui{t88}xV6DwHTWa_ zjrz&))%xT9dtYfqE-lc$Z(Bk7_H*CjSv_N&>*WAcXEHYt{g2;g`fID@UYc+R&&L*as_dQy`gp9_m&YRrsR=f6_*>Q z9~wn5@_dR)_US8mWiS8H$*EDxIYV5lnDg8j);+!)PI!}5w$IpT#!8sbs%QdCf7`F% z6x{5lGZSP^mtx~{AdmM&L$g;Nv$kU`saCWf3;eo9-u|R2#<#pDQ@6$TKzB;u!7i2* zOA_z7gO(>LNMEh|>MlIO5(NxAu^9Y}CUy7b8zIplm~Eh3(uRc@KYZzN9Wa5fri zFzGEl$``QPGV)&eCT`@^N0LBw#)KVWZszs-P~=8%6cVODhO8Bv7nrElG(4{(L8U9CUdv z{^u&W01`ClDJybl{<@^*azmt%b_}1FQtQCVXm-H%P$gyNs@tb9pQpAs_OX zUKz9sjW`VzU>wqDKF!^zdKrY<cus*B@cKL>OTeRlzYaSeZB3Ha?oZ_hel^!6 zNV$0A#X|j;a7FwSwkG(ltY`KAjj@>#Ii~3ycBGS})>#j^zukxx$EIaxY?fdaA#F)Z z)hN>Ma@V^hBMD-_I6CjgYWsU>jyelM2Pf1XyD3!;rGy6%w~X7s4$gOET4@%#3?U*eH2qhQz~7luheR0*{11YC05L$$zmf*b{~k-l zTBIk?-)QvwU9_aDFP8R)Lv`AY{Kqv;E>@p+o(^np<%xDn+9aQt()dZzLjHlg)yzCz z1@ZcLQ`@aT4O$%WYmfi24MxOeb>BT1;ovI|{a7#|t$`gdhPJX1HS5Y& z(OBi#yhjfATmI4ctlsy%cL+VhZbR9ISBF0__4|@pP}^DDz|U=}D#!27S{02?x3@64mvR@r9o#Y82W2W5&8K_85g06JrjO`R@2;^`Lchsocpt<5?Sd9VEV z*kWKgmXgh1hz=1Ay;2&OMH@m~5+RqXO|fDoa^2_JX>I$zn)YD*GKoBwal_P@mNjJ-8 z#~tM(mOk`~3)2|+-m!{%4Lg`j#a+^FRq%a)4riPx`xM?q)vlHf4yc0UIXPl0KITyT zN-Udj$)5RNvilca#P>C~->g;4g7Hi|v=}CYS!i?af=*B1*R*OapFSa^N&!BKRy$12 z1m0#Y%fsw`OEghE46Pv)ZlG5c&X9X`r>68G)qG96N{tsU<-MtO|RdslLvvo)SV83rs&4~B)z zmZx|xC$?6`v`MxguDeRRdm$Q$`HA*-5wl>{NOk>8lILo4^`Sg(Szvq@=I&`x1h20o z6FbVdFC^XJm=UP1G)-J=9aQmaG%+#WQ0H5GkY`0qbbwBQJ(foX+9w&VL)9j$w|!Ye z5bv||P3J0mVGHGA4ob1QLpP(kJY;PpneflUxwR)Ap$5}N{?L?V`Ku?3gOjb$-FKu7 zZQ(0>UxneT=#KOI6NB^;bB!6s8;5N=fkRJ=YMp4Sml`@$aT7eh%~#e;i=A6FW;W{v zs@!C-ZRl92AWc4=$UT9Ll3yX=7F0K`$XXXB0jknU7q2UMkxuzraNGzXw1O&?RI^{3 zDt8nz#aCXyzLjfjxQ~k(^zBF95uWb(BPt8_Nr2P4$(1}DoKZJOp1-;$3yZh(vhmD4 zE~sI&5hH3p9|d_iTt@piFZekS93g@Hcl!%RJ!+u6o7$gfJj&K(FP-V{w5`Me8w@pN z6~0r=XCdYs?ldkNYV)wejx-{sn!?6N9E=NMZf%{!>T!$f6SwbCk{%32ML}N-$Cgdh zj>PM9(N=u|u29zLIk%CZ)jGM^nUg0v&XK1p9n!AjJ$}-8)a|+xi_R>^=CI)(++0gu zKjG?-DeLkkq9!rzBEk=r;bo)YwPF3v50@f7yKqYFh$a{qfNFjzcMH?L*DlG1#=>MC zLg1c57F$+6a8_1OgYG}(zkSWrvOP#=n2B*2>mFgDjxOodyjiwgoREcC611mHp3yz9 z3$Ip=S)Z%hl@s7wY{#`;oQX-3#&6Sv^jrW(rElz5{nR#h`_z@ro^2Lvhcwf7mfXID zSl`}sqRo9wJ#tJKuz*{{{O(n>5pczOZ?3&%LHFfAMK^KK@H5;h z#hvsz=bR~3XX&)7Ci@;&Qgj@mat$?|nU8#*nPOvvRHXo@kqlc8?31NgXF1oGFH9zM z?_h;?HlC))2cU}vJkAG?sCp>haPB(O}21Z?V$6}q`kqZ%Cf!ZTxLLlQ(8&Lc`(?0Rc8 zbp{VFhOQmK9}AAV*+^zL>@)~tIE9riBW~^G1r{gkTh6FO^v)QdXBvc2AORwA>@-02 z-YKN5=Xkq3R5|2r%01*6F&$7B2azOSoR zH(VB#^Q@v%tB#g>)L?rKDQKKGuIkjhQHU{#ka2J2A>?;zo_LZrcgYNYY?C!D?_sO5 zNO1P{>oZF4IzNwZ;PZ9GovT(^-*Q5E?%n0u-p1^nlvCDE)c&I7=Zong!8cUEZ-=kH zcJApBr9i^Ah(9-+B#)kaluYonjmku`DlF95EKy>>g~n9%{wFDnZDkR`S{+y(SzB`w zWr?f@hMm2jTuTDnKTF(NvxQ0{!^J#f+A`v8#?VR_nDvYPoD2@WJ65sFs+hEw+vkm# zI7<&3{2tEA7=HE|Omqh!i5g{W^E{o&8B21Fa!HCAmTS-q!=^lsVFSjR!8$5!!<>MM z2n`IkMXqi&?xV&KSl$WzcHJ$%lCmO*!mHwx^$AHv-HVXozVX{Tw-`#$q7tGk(%E_GX?Kd4#7V@ytK~VGt1*m zj}|*nGEbYn;%DE75d`az|0q!67M#N#2hD` z_+|~quM*K$3?>8E#VB!B2Huxb(7i{CNFLLfYIBS;DCArU83>qMwu@mAhdtUh5G5Lo zYu+V@pt)ygnAh^vB0rxI$Ap=H`+#(N<|r%Kk}4#LIjZ^TSbFSL|BmZ9cPuH&+{${f zKq661$0Ez29$u+EmUXasj||1=2#141)u4pqWPC&H3BA6#4KS%S`3WzzbENbeIaize z<5L8RH~c#!{7dx)4#gidR~cDPq^G%EYw72a`68z(^!~D+#APAh6H!_}$4R%`)hKW- zkVn@cAQyRCYHqwbi}6#gK7WnjTn^DE=?uK1Aa=~g&dfC4{T+=(qVJhA&=;#b%Fl&0 z{fOCg*x5Qp)1pJ=rthn9^h`Dn+N-1m^EL+hiV8z7N-TBmxV&YYSd}w*18g^h$zY-7 z)#F<@u2DUmT*oh((w94!B05p*7$$t-pr_sCUh6wkP!9?BV;=NgJ^U+9!y#tXCl8~k?f|CGq_D%K)~`7tSo*h*xNS1mcsMkV z?-~%#y7=Ss2o~eE#jEda9o}x8l~)x0U?WJ#Q*;~rhIR46C7D3nc6(ETW|ldmfPS1S zj#XRB|BFJ6$+Lwh-MZU@E?k6bT=Uj8Pu3N?93c#D-B0j(>HXrmpN{&aW2bwbMIAHj4e<-znaTNw9T*&MmSUM5@5yH50m^$^0o#Z5*9;7FtpuNT z-?S4_x_uZS*W{hC9WJcryk_9{ed!J`1|BUjJO}a_wPIV77zWG-kU%kJE`*X;&QwOD zp?8=P!NVPCkCuNT`$|{;)*#HGOfET;!ljALS4NiB0$t(z>LcD3w+YhRn6;cq>OiLG zw%st^Df2b`*DoMcHDG67*+EpoOS(Q`mT=qwwz&I_xJl?tvehBn=`g=hkRW(tz?V_t z5IFx!^;ouXquFpDJO1aIa-ivt$y%6e)X#k`=$EZ!e7~>1!cB2W*EYBp>D(0-auxf4 z)H4{!u*{gyHkrIVI4!>jZ64IOgt>*#Id^fP`7t1j@&_bI^K!THZtdIjvnACbfu~BZ zW~eQsYuHQ4g(z7HVCkQI?;R=LqzkvSSc$9G;3U3_bC~tfUk?s=8Le@ zmgMObTu%^ts7y@X_6o5o2ie9e;mpK1ZSO__RApuRrT!2r<%q=$liq1MkrHhVEQ0 zob{vKjkV#=)#%pp05I(B7tkqtcxL5;*#oNLv{@o}NZK9AC47ybwMd`_EF$<_C`q#I zyut11tyCuV5E_?^CgLXI`yX$Tu=eQ@u!a4qmBh*8vU>LM!>wIdn>e8Vi4Bbi$n&Cc96-8)FFy^w%A!uf~b zzRWdWULBE|biNmsc@X$?)2g;EibNC7g|A5ImdTy)#k)R03+PvPjtAx>0Q@!BH%t%ul;W6 zfuA-63ON&0r={JSw_o2=7V&Pv=2J2!Ik`Snc{7TZDkCW1TiT{ z@1X7WQgt)Kac@k5DpXfOm?0~QzcIfOb=*K64{n*GMyP#6h$D+L#PmNzrIf|MOLv+?a zbGHZU>(2{LN2B$T0O5jKPE{Du6WqrMrQ8HO4uzYByHS>gvzMCi@7prRDeA@ujxxrM{pW3H1Myx->uxK|dygL3yyI03jnaJTcx}dm?wzr3V4Gw20!QKt`OL2C0Vc_ad%}H)soF{k% z!3>SZ>gQMo!7CXk{r(ijy05lFM>0wF)=l?OX%GH zYvy^0r(S{Wc~SrpxGIAhoy0*uE%7@&11Eu3%y09Z-wtl`QwKw0r0LedX-=gojV+ta zd&Iga6QI9i-Mdu-qKR`B2_0F~*bsj9smXjvNE}mRm`^@8FXo)mxU$@Aa`~Yny5~J1 zhQad^F5Bl99(Kk<;J>5QvVPfR0>@;DO>QF|LHy+**6V{J{I7hS|Zvol0V1V#B&o|R5-M3#1KL{$uM zdNvoK(n{d|VsA%fjS3QYsL1@~i%sTLBgH#r#v>nABCR_ue)A2;UxlOJeQyam7&PUxN#qQBMpr`Om^z@;f ztx{2;oh@o-)sQSPx3+`K&m%VG6;-A09K6Kqp0%9>&Or>=lXh3&iY|{IG_3^4Ui^RL zeRWiv%d+p_5S-wiKmx(to#4Tp!GZ)G+zBv10))We1b2tQGB_j<+}#EV!JXg^kDRm5 zz31+;_g&|`ch|k|toO&a)~wZ2-BsPy)xWB)?tV#km;B%&S&C>_cT|MAPfXhjU#*sX z-Mtn$@UG5dJSM^o`6R~#&*ba7tcJj<0AXmQ0L_jkNW`29L6i~cYfb}|r*>m)L(QoD zhWztnB?V_Tj<9A6B(Q#zVzy(6v5ij+G`;i6mhaqNla|rzd)>k|Hoz06i{W0fuNUmgAILSQv*p!E(z|v6a6%_=5FSJ%XC87>Uxxb1 zd{id~2ljx#vW4CnvW6=SD*(6C(tw|FCj3G7fI4-OJ%GJ~n40u1Ym~|f!osMbM=CXJ ztlizNM6O6`KxB=n1VC33-;3-+zH5ynt~u#;`*eQ6mLP1p)+cTgO~Y1{POo}uPi)Ri zAeI?wy`3!hH$1YY*1 zqk=ud+i{K8sllx$P;&~rnN#5q87}Rfo;?j50iwqk+-=LS#13eWXC0KO3JZhh8~W0C zf)X_|^1>hwi?}T$&wrB2j&&d?oH6e&5mh6GcLA%fYwrPp4^AJp;es1AaiW0xwN?Ck z!^+-MOIrVeoQl?4%)-N`(`R3jOR-Z{g`bHZ9iq2AP_Rp@IO5C#a~2oAcc1AFbxA0F z5dycgTrD^3^iwopM3BTJ&GLCQaVb*i(oFA&hQ}f(zJJ{oRA6nQ>iDG7sPn#HLB@Lee|Ss4>iWMt&F7y zJb=f90^rNb*m;F@ENXr}IeTi+7mO`5skf3X)1NM>*b4nD3ol||JuILBmd$Dh359u7 z=i7O!2+#E#5HV)+(=1k@Uq zBF;{7R@7htM3D+69De!q3&H2oh$@_!WBJlDo0=IF6SLzmPQu3bgDrJ))KlhIoczqu zD*B;ht$P{^Tb^}|$`e=l;Rb^aIr6KKQm9A=%mD9|{5R#Lg@*ICeEb?*z=ff)ZmuAY z+La*P;2>Pl?f3KKtof;7`|$lAJ+qZWGF1HzJDHL)`F>K{aJ&o0JL#!_(@EQm(tE%Y zrHZTFd%zWbv71to{i&~AX~-O<3#xgL6WVwRv`C5a{CE(*PXyBECrKX;U%VZ->m4!D zE66Rh@gxo_IijiVg&`aVAH_lPf@AHJI>_DAPY1Kd%=ISo?PTEqikM1_?jpfKjh|CB zmW4n=nYZ538xkDy$5JtK({xbwkkcknvBe*bLq@pisFH%8?ARR*&&v#AJ&nXQUoM|- ztFW-t1Q09PVVMFYGh;bWf8ccq><=#1?77{_Uajie8oW}2_a-cmqj=q-o4WWNPu2TT zXp%eRuoa@p&vVJ6X_RvWP@fjnW>CH#>}U)g#zQWXkEo`RP*^gb`p^kQxAFjmuhrMj zy5fq2We9hv=+*0UD_qd%@uy<C-8@(qKxWcK4{4soyFpK^2kacy-k)*t}wc*A`OV?+w#Ow35&TMnP$4o^V znN*;jDcH{zTUBfPyUyqEwy2r1aAbPw2Uj-2N<7pytnH`>C^esO8CEes*XfDsMZWg- z{B|sjcy-AM+wH8Ds!eX>h{# zQLxD2Lyx-70FbS!J#m=>O8}dmZew850YbBi}O?EfF?3-MP32Fjf49WlIghN9=lrXb42v zA8>c{+kmKJ-duh7zoFX0s8_#UGGhjRl>FEsGl!vmHQN3E%paY)j}#lV}c z7?Fne--_dg)&QwArGumjq_MX1SA{8^=3|`-Q^v;j%FU;Fi}NBAo^jfnp<}Ft|N$W>)J?(K1Z}1N&yC!+HOtI`Ys%O-URDlTnRqa@( z-<-Q^d}Ig_I=oVq7K#malx@y7b9BP3r9wc3(S3!*sM+JXDvc9A?gmC*au(=sBtF5{ z5VBvPUvGjl0?HZMm7NO~jW*9c#+enIS$Y`_JG3k124}8yK{5dE!P=O&8Ekg06n;U1 z#-~6uo0thU?(rwp&I*pX-*HKjsQIq3xLTI0&}?F5)FV!M?9+5}M69|Brv#zJJXx ztGIK z*ID0`Jw~Y5SGEp6ZO=a|&)qrNrO`GTqMx0w)62ZO(1B- z@r^~3>mOggwLJL!jn`Giff_qYcf4{4c4odd~;DnzF;&xE~RkF(M9U7yi|cTt8^F z-ZTm^^M^IHeAEKv4+~E)OrNr_c4&lkFGQ-9;ASCy{(F&hbD(DM(U+e>RCWF{MhZ`- zXH5PnUPb<+nE$b@sPg~bj{E8z<&Gl`wxwFOK+?oh1W5J?$6|D`dSn}*En9H^6%XyCoC?E-8B=MN1N z%%`Js#i0NnY@#myu$tbdv1ikY<{;{Qi)i`?l45jOxiQ#2Z`a*7^8Iv-dZ`?#WcXab z$Er0yMx?BqhW-ltm)P+>W|+zBVT}ABL=nq$2oC3#5t#s47Gg4eOh?n2X^C)LprNnV zN5j|`>>#%SzR~@41w{EapXhfMeoS@Y2U!!%q>g)^tIZ!{oze&_U55kqGL{zwV;5Gn zV_)rQNWAGb#3>}=bv1ZbYqu;agaJxa$kSI;RDDt7;v~FrQtIPS?pSf)wv~I72Xo>~ z+m|KN*%Z1`L!Bi0P`E<_Cx5?JEmupyhku!TJseTlB`|kdmT>sI)CcOBYtywnsemXO z{Upv&BV2N2eCk&?MO<-Wuf~`3V9&McnmP-DF19qyuspY5{9SE4_wz^2)OT$Jpks>6 z=m;m#L4aqxt|)blOG-_DWyj3V!EH&DMJJ;7}NW|o!Tg*-5 zM0=f_X5n;&x0&E?4QAg190^|1y3}9RSy4FeWH2+S5^PVYL(fVJl2|b)(&WiTsNcuq z4v&F_g_u*OM5N%Bd--X^>ucqcefIX0MWob8f~y;WgECgjmwLoET%bNNzpW^ePMwU^~b=o7?b04En`gDdTul*o!q9$e7VD%r?u zqMhJ*AAAXN?Z>K*sR_v-HI&V=9bTvtH-(myE+*Xw^e`t!dP8A22Ge3;h{%l!k^WxEHg{P>EyroD;S zS$Ol7edVU4EASq``gKWssuUj3{q0V?ugvx9A*yH!Z0krJ8>_Y7TDG-O*BYo{ds3P?Lf$}%2?J>FZ!#CP{Q`* zcP_>{9UT!of_SCr99*)n2Yl1q#ZC~`)eQ@BbJBHnrYx{F6@rNMTE*w#sLQ^-QwO2! zd$3{Tx$j14a)kD(Uk9Af8bowud6cOfl$YUB&qO}WaL0WwG)UWm`vRf4z>e3_2~nnS z^nFwgMx?mb;6#c|Vn9tp6BFoc_EK}Fh8@q9bwOCC3Hy=D3>9{J2k!byS z3=QUtvLM?$36fYyMW*PRPQDW-2x~Ea!r27(J)oB>^w(jbT)WYb54q6ZW}y7b!q{t6 z7vGZ|9qjjkHN>*$14wzkvO_rj`<&A$fb|-aONx_#b2jl41g#r67ZKqy>1A4O$|@0p zzy&ZX&AO~u!klPJbKJA`E-1bC%qn7kM!l%4@7M!t#&W9*9kB(jH4_{?2f-4QQy=nG z(cTZ126T5$IMT&U55zwn9;fvu>a*rB;EN6Nd$T+wkD&0H>#4V;PXvCNZs`^? z8bB%%2XA_&ErSjQpaQ4>MH_WN+jJ;>EHQQ3rs(2^Y&I4!UMjf0wE|1P0NQgzUd^KUxz;r};^#n-5J$f#1G=Es4r^=_@<$W1cSv1!a8S zjUpiR*gNWrY?8Bg>#hN~h*5pcSZVhp!S1;Fl*)O=Wx@UybHUuo{jM{1dfGI!-z$~^QJI4O}T4te4qxW`QLUmbw9V~Kmu3CE! zc*mof*DF%_F~(`Aod6GqG%#?yLNVhGn+Ue@Y^uqXhXBlnf&bB}cBJ8k(>SH1B%2VB zWr{FPluG;|x6S#i2=qk3HNA}x&rgmJVbJJX;@$I+EGc;iSv>JhASvbb#MSvtL<+<8 zalj^GV_jWctVO-oWL}goC0O5e8m(y9hrX^Z@nwqMWClyT83J<#4zB&R8roxD)JXTz z`F@*#=jp!Gqim#1U(k?Co!Y57ZM`(LnkRNQ_#HlbKju;5ipW7u1Lz7OPid}*d_X#heSO}s>t5#G z=GTxuO!kos8GzFw_n7;w&e4R;&$6?Tn_Wnow3rV+ZA{d-2c$ zQU-cTcTy-+)np77s#jsz0pY@zd_y<=2%{5VKdQyEr_rtxyhr{vM+*&&44Fm>2mQv5 z>7cU_CB5BX(D_)_X-zxn#X0Q*-p$Kt5GS(Lkp59O!P8r*5Rn(=8a;r9Hm|EMfkG5n zymO@!y+gEHAJe5xNNgtRl$E9p71pYp%(_;|WK7@=jtIidMvL}`A^3-{KR=8LHBHX) zjo1}nn!CV z@U^4z#oX00?35L#I`-u8HbK}Vgru1M3c#fdupZTezxkSPyFW6kl#FK?6JLt36M_`Z zD;l6UMrGFWi9nz)Cul&fobYitU^eG7%c(H7@nAX6W!>{fiN<6q!a-c<=R^bP4pcPX z?EFy17rD`n@)PtD?K7K&z?=|kq=uXZUm7BtxUG?ed3miW2){5T0v#j`l6)|}SjUSk zHLe7+o7*^Aer2(gQHT^6Hw9)>moFoe##s?L)F)q9%(tl}x+oo-v?`@XxE3_k_c7892v>(#5)mrSXtg1iNEW1cKYIV)xvD0WH(K}2fmW+f% zxegX34?j+4*PL=w#jgnEExwzi`nDgU!Qnb=QjXp>ERd@;ahh(|0s1jW98lfu&{PnQ zm3BD370tmpWQ{ahR3SKaDr)ueko>~cAahTBo^8{T4o&3rYAJ&9IQ+!+zg)}ztG~a^ ze7)b`pBuu^!abn7-Jhnfbn@fZi;D*&sOQ;#$1}JXZb9H)C65& z2Q1m;SA_H-6LV=$kyOPr{3cH;U9(5tq zVFZor$D{)9pxLr>>ie|ks_LXPY@(44EIu+3=bvJb2@-If2v>hd(k2X3`nqb@(BM2k z(0hQjBv0)p6c1Q*?O3ZD7CP;6;W!U7D;t@a@;GnXK((T$@Y!V~z@_$_ymLL`AYb2L zR!@PVlAww{8;!vh3+p>zRtPVf`&srkt z1?~A4tgtz=VM=9EluCsG@G%%IKoPJw#R|IzT*x}m!oOMpJ?1t6hQ%}m%&Bz~`FwDh zG95e5qSV(*J9) zbT$h66gQ&!QW16jGYJFCxAul2Yv$5&&Qx2@`ovb+oZ+eT0xaYO9bzmdDJoWnQ6I@m3rKYJZSH{=SL`!K|a zRQGGn4m9&WfTyX76Y(p&yb)3ZuXC-M%r);oi(%*Jd4IH%@~-aoGad4pp(@NC%f=t= z_%Ih-0KnI0($DoQ7KdLsZkrEFPNc=^{_DnA`@W>8lEb7F;x7L4D zX`%Gb^3-hkbB<3b-l*jII6&&4$bYgvyYbSLksIcMO%2h3XX_b~A&Jt7-C5;{|MPI` zzYmU${_7cH41mRC01T;*uJRNqoNb78j{5shMFi7I79oP%u=sJG>h*e*$UR{Ah4?{A zV=R3UePr;9P01df5A-e$_?4hSG&BLR&_(cz%Z)qlhgRN>Ze(7rG29;OZe~5A_Pz&X zXas!c@&2uF^6Gs#Xq0SG=255}fh@v_SO}Qe`*(yoPa13L>4AN*_|tYsHzhuR?B5FH zG6FW@GtUPNAYRX{$fXwgOG06cl{+_u%k%|#9^f#iv74mu~YZ04+ z1?eX^jNl7ayJLB&KD(wfH${kFfB#Sa@P81|q$JLknD02h?D(k?`@F0v+2>865oG^= zXt-!2=#AU^$pI@n6xsx_P%3OC2||(Mdw@vZJ>ZM=Z}OL(>Q}Igy|zE5jXsfT_gtF- zKlxqHRE+)+*+5^oQI9qfeFlI?^;-48L}n&^J*fG0*{b93MQ{77?-CJB3v>?(Ssy96uhIGucnICRJAk{W;!sLRx%!ruzf7;X*Sps2GG=Pl$ z1QE>m58C@Q@x_XMw&`a3llWEqT^X@Is9+nn26!1Ov(B~&wj#UEI>I>Fk|4VIhi;5f zB0MY`sdRfC-RFXS_B8X4y81*71@~{7`){STw}k(cUjOmvof5jXaSKUpuXEP~MJr}X zLqfnz|J)ocDh%d|s)Uc6L)U9QBI%+{X@@6+V}cGem!IQKUP zqUzs5$r8k@;wwJ_Xx4Oi{Bafp#6)`C=KwOxKnx)I~Kb`eItDCKA{ziKFjr+UcTodIA zVLug)%>jco6erb&x2cofH*j&dORAU_M75nqE;>NmYwD(C!yxf^5BqbUslcM#_uhTZ zv=OwN&Zo-c{bYUhSh!W?XdOZUGd#eq^n}Fq)8}W827=MV6%TS{AiR+h2oeAUFy|&S zX2%o>d15>Wq&Z+tZ&5DsL+|l4Qa-@d;M;|ta@EiCX!holqr1U6f#Ja>tDk#Au0W5J zjJkm0c_1(k1EuT-)ttw=A)*x6|BSnLrI2W(&C=4g6PgX-@`+db+E)#;V@_3qN-4dE zf1W49Tcs=?;qF#R-$Z(3WNU}gk}?Em=X8uE0JQnFx~TY{iv}pxJTG2W@{<*1v))Tl zN_g{OqF!tEybh^%rGQi0fyYSUZoHP|G9|*bVxYOJ$;Ic|Z3kGFsLOQ`)OE!>pw`XR zWZ|TTny=`1J%$#hl(Nr!zlOh@-kYn704fC@r@OlwevCPLSd z*qy3##5!1LL8V)1f+epdW${I7?=z|qP9)?A0`A2s7`7N37YDda%vX6^3EY=sXt7o#51h#I0(ekxMKvvbGP!OB0eN0zLJMB`Gb0@%c`tE^4#mWg* zb6vZbFESgC!nmIcZsQVF@l~2nW=w#tMTon+Gh<~{`_Ke7G0H&f?RA{r7rT9OcT?%Z z=PhVr->}?R(NW^q8X-xy7_seBS*>Mky-lPIzJ{r?sv=)!c7bUf@pfKV-d6X5&g>mI zLd2XR&WAkqy9GLJw}mFYtz%-d_Z`298e->sLM#SeGL2Q0G+g~t-J7cYobxyUwU8*y zvzSs$x^+$#AgH4}@7&X!4=|{n+MijNT?~utg!$XTUM4Nb3($!~;0JN*2h80)QKlBh zQ^Ni_TU**}?wO>uM1bQYDzO2%EWPr`WRLUMDU>!}m(}1k`eJTDxzBtQm}ctlHVbPy z|EV{oBQk%RuK7l8k+f&X`Dz4lyQ;jZ9B4fr3(_HOh(TzL!y=MALrc@{ZRR(t!!x$A zP1KZH+K&X_q>qAIX|K)-Y<>K$hC!uUwiV6}A^aa8qx7JNa$h`IIopqehd9L|>Zz`U ztq^KmE@t7tn@1!9Xbqx82;CY}HJD9dFs(qd8rR1n*N}6{Xv7tOTkoJwX2&#hF7$*0 z7slFJm-t+;eIMRREsmu6ffq!uy#)ecuaa=VHq|E;Ki{r_I-FzLh}2=CFKy%_viB`p zfW<*E@B0xY7|2=)5pt>Xp$4{zQwG%%=1ueX*$WAl6qR$0LBbI_I>|VN3?JE7Gk5pa zE`^7tdNj&(Uo!;n0I%{B28W6Z4W*i5F{ttckpS696~=xq>{-fRPrFm}>f)==;@8Rv z6Nao5b@`5OVc#4HxGAZ< zkN~(F5>&g{a6Y}EDcYqg>dAEvXD|P$_G|8r+JeQkYHDvy;hD_l>ZMz6I->6 zeP)Yq>K)@{1(5f;mb(kYV7KBr6ApO|%%k#o!l<$i7JaqNCxN{%$m(d9+qY_*1e&3rA4G` zfj6B<$W@m!9H5RMQGqS(eIC%0x7r|kR$BZTScGQ3QCD{MDym@6unZNtI~x-`iAgP@j9vA+RHv!wbhxXW#ah8tL{E7!;-$6Dab$JwjN;hsfwmyLqN+e$-WZ`Bgitou0i;U}&ko zDFWiEG7hT{qkzSJqY@Ji8&Je!Ptp!Vt}+%20>9u7bC0jSo3*ID=HpM2rV)_!-4OOP zPcws6)cC#J_PFwoj}fQ`_ffz4;UvdEB`fT+lCrV%r}nimxNx35jCFrSf;N0Mhu##R zgazQv2m;fMyW6d&9QA8Oid^&R4hX`xTVuf9Xc5}V%sSJ&j6c3cg7WI(BS*Ws2O?En z6x!(OTT4guO=O_o7jwX$We7S3Tre5!SCP^XWn3c*Y)L$IjyemVkz?{u);^(kv^1#* zDnQR{8Uw&+RdwyOJ8f9Sr@`jCWDS(4*RL}c(De`BMFJo9I>-t38|ynm0?TzZ-t4arwacbB zF9#m}5cNcfZ3zcsg|0#@9-;Vk@iyX}GJ`fmT-5wH*V=_>TtI}MHuyl_(`UV*K(?+i z1)gU)!SkqNpro6U@<-T^3W_pSBDC1pa67L1>^a|{qeFf$2kX!obF^R=imU5?!UtH` zNJ*mwcma!ifnQFARW`O^Mk~;Z6sxeLjy+U-2CT2~qFW#!C`;y)e-sx%Eh~g)OQkq< zH>dj%IKF%>w;w^!LCOqTsOO67lH6vprqTOS+r(eV@@P|sv>NkvJhp?<#Rq2sq4)9% zHomE$hv`MEmmbSehDXEB8jY)}>a$Bf;lO%Y#IyD7QkRocmTWjFt#W7F@o8niXLq2m zDD^r;fDjOwnf}QHO*&uN<8B&*kwfFnllPO4F?dt+dMG9+i3CoO!vQ1XHDm_|2j-7* z7H2yY+XbzV*fX5L@>I+;5&`^Djgxt5dmhJ%(k|%8CBkL;IY=ymInm?wG(qA^jD2r9P>JAR2DMO7O5s zZulguy5VC7N!?I=xb?D@Jw$PTn9A$dPWp=)G9K&2z0urfXXYL^2lo5)(S86wK)}CM z@Y>V#S6d!IdgFtMx_UXUR$LoekN@w_3usWY%J?bIrcM^iMY)^eH zoc|7&ozgqr%U4*zZhfQDaUEohkQjFn!rb#?A}2&XAMHHafm$C)oWsloS3*WQz`LTG z2kO9T8YEsnjph2JONB3*&||#-);!J5PDcRui$y{1v9Nq&4nf=#Yf&iogEiIHFc-7A zO@58FQIZyk$S1;G(4dGWnQ@gMClPy|V44~T_8Z`T+iWPTj?1Cll06^zp% zakI?1GozZbi+dAYwR4IvepYvt|gDBBMpPT7Wm|kF{v-V^jv(6J*_I&;`RUab*-d zAqYgR`ea(6&PQphG%azxC*`$c$A-<#5lS{^@`R6{#3Up`1TbM&r_Za(-9)7}RHi^u z@9i4uI%7FnQBJmEIR^o@+vFj|d0SPBi|A=(B@B$D2o#i-F0L^#Q)Tnpnrt~V$ zoA(cM!hw~fX zD$Q9c{RrwiWcWp`uiNz}oqkT5y7Ug#eq81oz71r zO6RPgDMUY`Iq#bg=E5u-W@C_{SE#ZQ!v|^aCZv!qskd{Lva&+HQ{~ykCeU3W*`%17 z{w_<8IAMH*E+;`j5rmW|!`iRcAV~3RTsU^FLL*0;0s-56kk@i*(F5eZ$}`xD5cB4^ zH1`RD~WniEQu7g=@QWAE)E9Gq$eRL+r(9Rj^mU529r44Q)Vrwc9iz!Skn$-VT zg1v#B58>*rq}nb>whM4ARf2Bg`(<*XKmF+R1~a{*iqaxuGQSkF{f$gK=RBY6X5Qx3 zjf7Ril~p((*T%Qx8-1!ao@is2#bXH-G2^Ua`V7IIGMzthIW$?^1Phzfb6`TCyr~1i zn0+)~ak58wfiTaKXzOzh;IqI{*1U9pDvWRV1$f1qCV-*7>p}g=2jF>)`-xX>G05?X z=8F_)=ib79>9A>srrO8_-{ppMv!OHLbaA!utjD)u^_(v-65QsFHXx$R1saM$?Z}Xf zc!W+H<+4md+ZS{l<|YhY?S5m>I!6Jt>)BElub^d2RuzTOx7RNoJq0_p9j-kdKD0_n zWcHKl@9-pHMoV?{sY0SP75Pj`7ws)LY+GEs`RNn&)1YmDSpV~``c=P8g%@2eF7h<* z0iq(3?rf>%EY?BW+s>HTLxjaor6V>X3tLzkhYCGCopItpxscfb%W{nV`fY#)2imK& z2@iv3t76X+_to#h-mkq|wHiob^ykjt@bxU=+AQe0+m;(!nJ{mN?u$Bd)L782TZuSA z&%#!{P-q*~Rl~;>UAqVXKOxP!=55yOWUN2JGkYp2{^F{*P3+5r%^AwUj~E_nmROO`J#&~AZWy1xH)LU$ zPuxfcczS~hpEW|u@{#(R)|c=&3M-1QoD~p01XYj8>k)aXHVPx*&~TdAt-<*(2EvvxFbOh zx4-Hi(7BPMXK9MH#y}Fh&f{b_Bx3tqoX$3)MDAVPw?n9q=HMv+$Y^gdwQjWRFlaXc z&ZY~^bZM`!;3lp9^eCn^pQ`1(6y?HVYmop5UTgS_rzuw^OO`15q8_oD! znvR*9(uu_8bX(bVFMpx4*hs;(0D2RrXh61V$ynsS9X${J(w+hsX*lF*Z=ZrMls!rD zl;OZ9uSJ!4vBW4d)_X({dR0JVm9Njhx%x@Kp1$Fl(4=qS(Pjo6+mb5st5q zFpZWle?liP40SMkUIm>un45=F$eSj=iJ6_OBV1*AzpLsR4ygH)btUPoJcVT4WcEk5 zIvH~a%V`XRGgCrxW2~A&sp+FeW9)`9@bY;)jJu~#UF~-ANdtmkC@<@m_r>h*ccC8d znyaH<6?K?af2PX&byG5SlfsQO(W=w7x-`8;@O2MAE=yo$5~m}?VukI%M* z%tnJ>SYko|?1islAl68_Y7@N549bwRpD))e)deM5(PvheQf7O@qP9Ny^2O0`vGaG|ek86E`vXh>O9HaH21Rj#DNk%Zva z(cS}Kv(Lf8K1`8i(_==4a;^XfJ=0UC)&t}R5Q$pxAFjSf5stdJ2)#qODG~nbVUpOD zJFzGCfWQDI$p3xZaQt65Zun)OD1ZLF8kfQng4VBu+l8;V8@d({!CdQnwaujv9WrF< ztSCi5>1|=bJz#ji({V4sx;J*f0Hn6h<=GB{F$O| zVQ4?=q^I*)K_T?}wkPq_7NVq`fSkud!zVy=7EMdUk=Iryz+FrC*@LB7SeTd2r?6hB zbtSV4a@iLG6GkA6Gw?(%D?lQND`QIDCCRxIri1yWm?X*C+NdWGrq%VPg(CW)KpUMl zJt2|LkJCzUNGMNPJ1zUmwmm&P@wQ~)0()s)21{v8kSr9sU%?W9J4}~~|3f*>2jW7| zqvVJkqz)CQx!Ou(|B$loVmqCb{F=nFXwv<2WNS}Lec4^U{Vd1|A;N^Zp-Mcw_fR$` zRz#Nf$TNa}foaa;7#z@&va_FW&6=O?%^1-x*3N?HpKJpz;?XbLjU znRC=n$pg-|f^e(%j^C!$rLLV09W}tbzg}%KC7Nz@9aUx|=T8Nt&7?<#(7mG9_ zH~YZ?&YbLAd%{{~>FuSs;%XMu9IojVip zT~^$?ej~w&8mQF%GAj|S9@Ma7SZt-Gn;uZ#O2y?WK_x@f7w}E-`|Q(Q$-DSB*X(hb zm!LFrv4=%lmzCiVOE;#ySOzOb5%++0UZfh;-?U?u8XOMzp3_kJC(G2w^6gIsnL+n} z8kVyTdNm6);m`q8!U)gPJqfCb@ivF-eJXS0_b6e2xDnU+iJE@fV`m z;KNE36;L#2S3ILHOPD_{U#8;1m;D;zXU8|LIdyO<{L#)WkhUg`uE}A(A1tqiyV&I| z;hj4GS^VfKZq9pb$FEq9ya&XP;Hw zNk8PKufT;-PEW;P2rV+M1{sAVou%!0TQMD7)+x$k8g;8nk5WSnoYN8H<$h8j1**zdkQ!c85pxyBd zRB}MNuudd^9Gr%$Cb;s&8mYM~wV&$w+0|noqKyd0NX!iI>1-M$^{TFTxmej-$pTE0 zFy_l&9*T#>ej6F-)`4zC1@@QPu-6~*fP(bLk8WCvDUmW8{T@cVXo@sZHd$S|9w7-K z7VTBWMLFq3Xa~NH$JOqL#MF`f0(m0A+Z#j-0W#5sl@>ecVmo4Z&6mtldK8Dr0T9k^ zDQz!yQ^hakDa>hj;hwItzrReyI44K-IjP_9@h9gAK%Oa1vLG~)M3cNGXo2Wxo|~@R zwPs=|;+#4jp;U&bKV8XSf^Glls0K>-dCB>#2TyOIRo2XBpDBV_3VXsONvTQceDvJ zFn{?jv?9j5(WnnnjU#^$C>9X;sfpP9T0-d{F5;NSBT>ja&X@?tDq{D@8uhf2B z!n0FsC*-%*EHu_SY9yXmf%>DSrw5Bd5RDRF?MqeZ!ZwLcie9Zrb?tXHvqg(gvYs|l zG!bfRr1G4G)Y~_w48bZe`P{}taXwYSFY?ocKUbU?0>eMaPnJ74tdH{|&}5?PVq-j` zqNpE!@byr^ycK1v?i8+eUirE71V}_%`+4MVZS2euC8=j}4WB}SM-U9ZM`j#};|`sb zm7wy+rO(WZZJ`Bc8czZ{paIm84(EaN=?*ypADIf*m#{lV(99`0+M9Z1ly~)O!Cc+N z0^6!k1;a*LgUO6SkWDE)Hqor5Y^aBNyhGc<1dV!lxRI4+Q&WAYBHw7Y{W{k)^4h#R z-~}mCfr>Q}G^ZM7^vZS$(@nSEX#mnNG_4uLJ@2FCYRf&h6KykAa>>uh8QHL~&OlG? z9NB!5g`L7o(5_McrRB>@84jSp2lVTKCCe^_ZZyOyw$nk^SCNkHyfyOuMb<cM zg6;TeX^#NA12Lia#1vsYhR0Ecnmf@GmewMwlsmmjWJy-DfyEosY&k!(rV})WILcC; zJl3iX(p-0b8SJ6$l$HVh7@HKYFx97I`s?&hX$3Yp9ze<UO72| zq7c7x#sfgX2DtHb#|pG^aj3~7F;Hd%H8@g;uKLrY@9Aq{IWh=W)%%U%qKUPX)O|3x z6D40bKvWP~c_*iKoW*1Ei(>A}WCudS$0OLvc?8i~S-3Vv0cW(sVmjwkLgclhI z9JOpYvJ^oU4z!-#hFUd)i$;0Ww2@fos|LN#ZyVy)=+@9iuKttYau&{)@bG1?J=55A z^LLR-RcGpPhW3raA08|CdG-YNa3&M8)Flx{6f+2j<(WEv=RueoHGBu3s$iW=Pt2rz zwhwJy9&>;fMw|%JrJ0vI59)uNtXRtUu2^^EKXvFG+x#vp9_PUk6m$p{Hvr5xRo8xz zfoyp)3H1olt!qYmm1+-d8MI7x4qUk(bve+gEq!x=K*z~e@nmt7Ef;oD)|1H>x9x0W zKBbaD-$6BHmsm{T{@X@=Jy;-n<15`-LkpkYV6yR0*fh;TcHvTEuy1s$<6 zb@yFMXU8mRytK|*5ul7!l}rI_Zk8MO1Dnh}t$d#H6OUe&j1ri;(=J6Eamb<%DrK42 z38mq0lk{RaDdAaa&6{{q#;O2BmfW`n0rn<(2HSk=Q-?~j^7N?8;|uaU7h_Xh$U&l2 zvh^}lXjzC2U;kV5!-e}I*7e7=k?j!Pu+w2-V)ykR4D59e!G zr<&DKZ^CXWqI62bii_y4}&&O%QQE zlGq%KX(vD@9kQiTgx}5SMEyZfpE-}7k)<1;L6;X!%|)h4``~xuc)qIn+Ax_vb&CFF zIO!d}Og%Ts(6SzcOVzewN_WpiMCOXCV&=AiZ7 zn`N-dD`uPXXc@_XV5E!yH8nSQ{{hptm*x7kOb3(KmAi5ArrXuXPX);>( z(>;TfKiuPG_6Y~9o7GLQG|M@=RC?E*m*R1uBK30y38KZNok8b%7J-5}5thlM2>UYn zIbebQNCvgIZ#r-@xzw-@ggCm$i2Q~j0i>xKcTDEw(-yv?X9GHSo=LNmj<0Zp(lQkn zA80V#G|dCt>9(A=Ip=#UFF8|Ej3i^wS<8$v{hdsT?sh{%4aEwktp3ah>S&_d)H8z>|xeYOhn>W<48zByIeRk zPRG?HCU#Q*ykz4iS`IE-vbcQh_bWv#M1Mn9r?LpzG%)j-3(r(Y1Iii zBp1!+oija)o&U*C`C^+ZYeih$zzt#8E2V4y9-t}@)g8oS5{Yq`UC-K1KEF%&U|C?8 z?$CGkU0I33`ek;drZ-DHN>E06sOGdl`B6CF2iqTJr|6m~179{a0)f)rC<9O-LU)a_ zdw@64nbN{Z#{EIn@Z7NFuIc3;`PCcUHaYk!UtTAlbd#MzKPnBn936487S7VDy$X@l zc_XmIHoh~FGS%1&tNJ+Hobcq;ifc5gpJ4HdTLQ6OkEQ9ar;s;g08Yw(9+b;q#Z?PH z4lomX*DxbHCd)E%(PCYCg8R1k>652zKAa6&PMI4weBp=kpFK>5U&a*xwCef0oxHBT8j? zX9byEGG~}3D*kiZfZ?38t$LPTWi>Eip6+kC&N~-3Jy&S3Fv(Kx;I1sROf(-YzxSkv z6a}5i=XmQE#S<)pFLBY{SRlBQ zjZ1(H1POtSLxO8?2<`!byKkHXcL=f}_)Cs--*dXpz4z_z@4feouYc5F>@~+?)vBsF zYd&*6HCHFCcR&qM04f6{tHFyA0a9Kux!O4S=#eoFX`Sh_2@VIXXU6HzWmQ!bU1kk0 zzq4AiP&oJw6;#q3V47J9T-%mqfdwN>#?|yA#5F2H_U>62y?PN4L(aE~*NvZe;j=eX zTpQhe%BZauwBF$GdwF8<@&l8lq3?U_|?7T-jI26SZ3Q-&aHeSPTplmab9u zu&r?wb^SoteT}IB{wWkMJq1d$GSg-;qOx2uaRN)dxsI@xB=B^o@x5w7T-|DFf{!rX z>$xy)=jz@Z)hr7POR*IG9WHp^HlbegX}nD$YJ^iQjslf*kd}6Dm#P3|x=nqNuEG2^ ziOV9j005?f0qiDG?OnH3e`rez7RpO4C@q%YH*uAdRXSG&%y~T zU7|=XacanqLW>zDPV|#W?L1=`=hEP)0wcQ#q%}e`CadP0?8CX)22>6cp9abH3ZkGy zb~Pk1BA{qj)Ynh&Y<)HCMI0C-^9O5&A5Wz#Zsd+CM_f-t=62_IJ5$F~t}f;_6ghSi zui_Y9-Ab2NB1LY4=GsOZHI`r05{}A;rHOa?fpT9@d@6^s<%86QCyO38Y%)* zNq5_b;I*()ebu+ak2*81v<|x0bWyk}a@mw)b$1AK%O&!ozBLAU&&;~YP|&*~c*Pp$ zW7iEb(DMQrz&WwOesHKEks1V79Yg;LLLAynJgm5GS$Qb(iPRD6E!{m5)T=L?ZVd%Q zvqGzp27ZbscW)I5J#kM|57E|t{7LI=Z_I&Y-a82`MQV`))_qd3qEI? zr340cuNW%h!v+5R_2NAE$Hw?zGXsm_?;2!XQ_;b}ihg&vny3xNXMExW%cXbg4mKHo z>=7V*=}L+Vm2c<#DrhW0BiKz|lw!}V*4R*+z{YFm5F=ylpgutjTuq}p%{8N5Ol7G{ z5FD_@9F6HKU=f;`G0X(B1T@D!4{67iHbFvbR41IBJAus0GU-GEjz}cX zVB_kc7sUZgc`dN9Z}H~2*Y&{O6=xVwlsCOVF0J|r?J}MT<@BrFbm_`0LxRY z9CoTrWKLAu^UWulV)i@ZHJMK=saL2-wyhkNeh35FCX4SZ{yia&2TqdQJRwxZ1T-SB zjj{UmvHj(V(wzEn?Hh$$Hq0ZgI8AX^c?Suj7lZC6YA7hkZwvB*S$Wpqo_$j#ZPZzhe-+;!TA^e?fH(P&Tb_h_{1>l>4wOd$HcqBh{6jdO9h+t{!XNd_ieboGwrG%rbv z5W&*4k7{X9s1x0ZQK+E7K^CJ*ylvx4AGJScXNTR zL`&v5yD4C?f1Gd7^QEe&|5P0ythLw+!hdas$y}qbLC)AzQJ>gB$Ujr1VpOZGq16cD@KgD>Z1F7HMW zFyW5%*BMuCxfy}dN1hqkLU@CpL^hSj50i!C8N|&JoHWQyvsDE_R_%@%ETsmt{OR-s z&l`>*0vT8v8k6*62W*R987mUc92uy(HuhtjBl7Z8u)W&rCoLPtO4>o`ORb1z1V#eM)TEmw8LnN z8sBcdSvtUTNXUBxMVdaF%XZY-_)#J)Hj~JH-$#nNZeC!rRP0Os?4Dr_h$eG`wxV2c zW437fbT&??x~4o&@-#KNNkguV!-C}{KHxRnePSTYb=v3H_cyYw# z<)wziy-ayuCUXNRQHQfixS}|a zmT$kwov6^AL?x5qbxBo6BtK3l0=*n5v66GjOOz6uZ9*OH9WVP;rFSJ)2b>iGi|@!> z1;ygv%3N6_?OAtvA6pQg5|^@E`gJg6cQ2#8sJ-NybPsnpMo)p4974$_JN&{svnYEs zGl*}>+S7{d#PU8_sl^W|g3fescxIB%%x5V)e1ozCuocT?oT47bX9|-i(ePY|YQ?s5 z-cpOuTiLsaD4m?M#1*1&QeweN^C?WrwJn(2)=p}EO=*3!Y-JYtQoG$a0Bt3JnUs|6 zxl*&n(J35GV=!-oH1e8OFdA&t?BpZ^-LgZB>a9}kltln?ZLG!S#K+i;ulE&Nd-sOP zcl5}Wp4Cj2oLuWtvAC6*{zxGr%iAw_>~m`F^Q20tqUl?|p>UwNkNgC}$Ca=l@bzwm zO|X_)LQm#;5;^tH7fsDT%^U*TPCkqX@V&6WQk#!kO7}bR2aX+R_A!A6C}MdcTDQP= zh1^Kx7=Y z8()24U|T=;ac$KtprBa%*a*tQ zi>@;Fd_z5JlNsN>xmWdXJ!8l$X%LOczIo;?7&UoS$tqbv9m^G%EJ#xoqmP2g>kIV; zQx{e%Wn6RV#wn=M_%x|ZBRZm51GhRwU3|1GYps7A(V7;)rkCR)Gj?+FZAk@m#HbGu z^$b5X^4#ZbO6Hf%eVr~21gIdZI(QuDjcn_6)|5ErZTG_IS38qRH!}BdNjvOxgTnGa zIor4%igQook3mFWE;CShT&-X?-~}zsGYp?LB zsR!kX_!!m$O5sO*fy1JnrO(gQlQl7{N=?;#EF zJE5sxwfYl*QH?#j$qVC1*z-S;Rh7qx3=@pRcj@fEQNo)d#{xmY3}eZhYf?T{$a4m!YUMmk}?!xyZ~`tl{JwtRMbSe5lyskDV64YIs>; zIAqVYNI+V&y(>+h@_=s)Zly)~soWps=m`@4FP$7PqtYL;1Oz;i-NF;MupDR;cb8cY zH!L0az1)X$&HJ;GNiPd1l_J$4>(b2Pz0FFl+Fu~tJrB$Jv!5$uwNeFRco%slteHfH zo-v6tiRG%G!A>(UF#a&vq(|~Rn-|u(s}Tf0>x{c15|ME{{M?pV9%k>bKVhgxD!^ur zSMIKD;fi8YI_A;aOaGosZ!x}L(FZbO(C$tZPdR{!6AA>Qq=06@_dR0PUI{fccBR?& znUKXt_<5*tQ^+F_^Ok)WE^g{{?7)@kucrq`ai=#(a zjM|xCKEp@%t=h=|VZ1ZuLM?fzn4_jXTBE7~a!LIg8dmpr+TxAunub7$v5>#6&ts{wL9pdO>d&K*n!hJ8$R8YkFGc*^Zs z%*{-r z395@By6+=UTBH=PKBp3}czD$tO<>rt>OU-cQw7(nRHAHLTRAf))9e_7i*Nktt0058 zcUm)xil~xa)g)VSwHdhEy^iM2VD<68sC7kjCo1lbc%b1|wf9!cBAaaI_z`F6eA=f4 zA?W@eyuefgKZZSx9$=2Hh`gy!W|>D^>R^N;zeo|NSuJDxHYPfYY-P~2D$)QRd(F_$ z^Ex=4`cM=49vM0~yC#uu}ppi?3q#OtKv=PzpG{je5*OXAy=5?M%E)da$a%j&rzBFeD51i0+ zOL#CFblp{u-+k)Hg|&+3(y4G`xaFf1*U<%87IOi_+C zg@vFKTP3y;j5HUU?Sl0q%%q}f~L$P(39KEyr5Jyt)w$7ZY6SQjZL zPe`i6$*o+M2s#7LjbObOEX}G%HJLm~?yo!9#N8)-6aHlfp2y)UAttJbJJC9rcD%Yo zUwv$&Az()Nv&tc>c?}rfKY{ib@_lDEVffhu&E)b}HGOT=PAH{ z@;yQxo1hxi+%Q`S7yZXW|C8DX&(1B}DgfBUd$8 z2D9A)Hs1sGy*H~i_dd_`s1ftOng&(^rzTFeI<>@TpnerAhuE>`GpUW)bm5IkNVJrV zQyJZgvtz{$B_Ae|%x2jcEF+_wawUdQAaY*aK9m|_D28M*H!(P}gZ&c%3@IylcbkZmhYlM!7CYUv}pkme}sFoOE(Yr@(4>4-uM>b1j`#afKuD;a1Ysf z@n%ho#P|Yx>b)o`)X_WCKEKb>insy~7P4VZOJ`d>1@-4kQN0Un;AjJHK;&w9o&M>H z9!&Fo-5uiJ9<8bWTvKx*@wW*3pR2a?C#-an4-o9LTPI*v|KvWfuT zI5_@vl(VU0e9v!wK7O2Po*cIT$d6hs7W?eM5k8#wzlHx6{#*Fp60-C=Y^tZeY)4t| zHpwCn(tQcM^PgTv?%%@y4Z;9g(T6>^fE$?A^Ec9{mgA0F;0uo@#w{SCdVT!+ zyZ@idG2L}b@%jZ(vE;V~>3)t6>xg?{2*BcsK>Q!eD)`zx!LX`jKueT>E8xZ8d+By@wD0xy%FUax=keY_54 zo!QaT&U|@Vql3m8ie~<_2l#qZZE|`st^%I_BL6V_K0p7Hq(f1@F(V8^tBd)Z*G-5@ zX<)&XTY#METE@Kv$8S~F?_x832rMKB+hd+xpB>W$#~dJ2!3q0s^^jRs+fF6V+eBLX zWz4X0^w5Wir;fAN1F!N#w7a6qj0`-&E+r?l@Y{|bYvRNWzlt3~-8zsU4UDkgXvUByAObLw=lM8sO!nZQc_4O20&oK09;vGaF8*B$M!Jw}G+$jaL$I;$ z!yIu9WeT>EeB*FFErghSO_2o!aLC!Ef6n}Lh*jxbtd#ZLhG?cFGHRA%)*YFll z1orbwg&!ZX4V>}oSu~Q&E$EiLTf^>odf8rfH~qUOhn((lA;b8^_G72rNW}L z3quiZMHTVUr0dlvsUhj;$hG`%Lcu>K-Xd12p8etVKQL$h!Ax5KZf=g|*L3g{o zV3$>0V@;LX6c?-UH!d$IdnBgzMd}qtzUI^WfM0`6S*Xi*n({PQ#Ze_Y2H75I2*xHO zLdoyS;=`woTz;r@_=$D5qq6bck7VE%PF@C<+pj6GV#8nU%Lvk2)$iYpy3e&D5N`DS zTK!6Ns_x83(3M~Ov%h`>=TBB9b)$L*LBwPoCs75JyzLf1A0IF7j4y1zl1mUp#W<1{d} z1mnUiuvYy2RnY`v1{U_`SsJ;or!|fV`rj9((=V**jK&EzX6<~5$4kJ|BBC#W2W6$*A;_zdudB5*HHr z+tI%O61G-@<jBNl$X!$H&MHEwe1Bk=2Q5D>zJmv zBZN85`fa78pA7=KSs4mv9}OYg^AP5=Oq!0-Dod2~EeR4AZ8MUv+J1pH7&(jl{dQ)j zdjK23@D9%T8B}|BfS^CHDtZK4u@)=R7O{wn=XF6(e+(mnc39U(3!&Vj7U?+pXw1roWZYS69y<`vjC*0s?(OY&jDpdAL4T+$UIg$>n94 z#w|gLuZ>lbuWAc&Bx78CKpF;?#@>(gnhlm_Rif5-e?zz}Rs|eMg~$3UJ-cW*h-ePI z1ro+0+OOlzBkb;wnrW&H?%--CYjkG2{M&e<9ayKvI1I6NeE$(0>n4MpX&M?}Dy|1? zSrtyzf~Mz0CowrZgbSrgn!-T>g!=;bvZ8z-U(eXraM9!>>oVjQ4>Itop9~W@cFWjPDos)nHus z#v_kaP#7?gRX(Q|;_P|9pNqO(h+PL#w~#uF_Z@M9IBD6a07u^Ly~yvlOVtji7b77dUD z36GATSPT?e;)*!t^MQBXpjEWTMvxj<*oSvp92<|M(clcvMVtgWWnJ@?_+#-aWJB&f zWY;t;o5F`Hmoc%@IENmK?X?bl7xh>nu((;=-pUG~XTqWF(_H!}1P42iAkowjGA6Oe zwkOE0ndwJ~c=H0xU1yo=qWM4mUD>+^hnT*TeW&Ta#PC>u^Xot5oo0^v{V)c+zpzfp z`G3;>KW8nFzqJ$oH{*5Z-h8J+&dRsIlUu+PR>Y%*h<2LVJ}^`Ji90E?(63*-`$D^# zH<~z*qnDf!0SklJ{5*Zl$hW!@lL>xTF(K>@!M~%aZz&Hph&MTJ>wdANvsabOqWkz; zFs6|Cn;jUhgOU|}g5at_lPQcN4jJ{;wN0VzPMH(OkzOwMyB%@c?|;s3?HxYO!0fmM{K!LuAK-xxN| zwc~r-YNJgrJLM@2w7gm5YPdySb1PB5id1R;M&JeJ;!&W!>3y9EFfTQS?j&tU%6@~5 zcZjKq(`?n-eu$MF&wV#=c+^b`FTpU65LQhdUknmq3^aRPiO@p}+mRrCPL=j(*AvzF z)nKE~IZEW`giVCvXO@>0ew(~Pn|c~FR3RZ>kGw2JoI8zdtthPaiJcDN@mCMi?g5sI z3kKH}EEp1D`?+T=0th2sP!HXeDf_W?5cjTc*aHNL$$Iw}wy*FF*cGqG&=7r4^S_Sm z+UMxLh{URIH;WxMI35I^O5Xwmn1N8ZTOd=DZ)x`I>9dh{7$I#4zD{e&>_obMo$c?<(_;k9hY%Cfd z@W7>ed%{~+7$PGPV~y`bcd{qqN#;r7eQQIOn@S4eQRWhSTy(!j5P=r#`@Yj=1X--; za?8G0?y5T0*{>lbeM_I<@vN}TLs-vj`L6oDibBx@+^__BnJaJP!F{lg8%cGR0`}<> zI#f8Fd%JQ5&~UerPS)72I!{pD>M;aKnYAWHd{?2 zkke+!AfP22(Pv@BsNyCRe+tcP94|iTOV0UHDXvul4JHK4L z;$ONdyxXOIb;6`S+yazK*EY64duf_pCfuIMlA=PsJb%hl#bJIh+1&iRTR_uB?_b`V zpIcN^Htkn6_|d=F?&u{2P@*L;{_9Bh>mXtV_>U}H$|mAs7kvxw1L|M8#R$P| zDT%$OOHp>tQ>Jnut*La-?l!q6u5s7#l90ZIRn@E6qbA46A zD0F+3KjBgV)pN)%v&cOuju2N4GxJRpd84eC8?3k3w%@(_TVERkCcK#!ZtHT{BG|Qv z>_X`(AHLlty3?Ujl`M3~t=R0<>Lt3qy^7$*B~Nq{7f!q`GC#J>&_sfBu|81_jyVwv z$2`9~r3TZOoZhktBYAAIoC=Mk?@Q&{$$iuIR1TjkoGJlnq*qEaSbDoq)*;XeAzmAGH zIKB@cT-KxH7wNg2s#z<6aLmB)zP|FScPlPLR(x}cX3Ud?7W?~$l9^z2g9o>OyXPQa zf6oD@dOi4AmZ?7t`-8Oi8{w15gNhhTreS}945~I3CA0{N?^6PbUq7m+3HRkq!s*;k zsEB;`cxE_XQi6nUw%B>zCq{lXSc)r4GCa~oKSDzwk8h-#c8swfk$5issTPd#9DSPd zH0Kr=u`UAndAo{ehezeGeJnQ|P#vc-0rRkxnKTD2vKDA)#Rn71@5(qYnx%hxbDj*@ zbsZM>gO*rbHeG%l^UUGsH^xjM`^KDj)khg}Gm(MSAP%!VAxL#THQEz)%Eh^+Bq-rt5$@l+ zt@=tk;xtFRVsP!9#bTZ<VEr!6Nmx;5E1O!ck1v^N%D_Ec^8lWe!q zx@awlMb7%H4Nn^Y{0cQXjB%8#oWjCuZHS#8o4P zwrTkeOz)k1*o?#(%bb=#uX8jJS_ji7KCOmyUrH)?K!jXZS3WUU+P4G zoN^*oSIopQOE8{yQCmkRzA!JOz5f@VMFPiW_VsBk;o)b9B&aSQk>h6btcZJiWX@B{ zV^#Yd?gL^$^76F2YMn{!VPn;+Q=>JNW?)BK@FekE4Jl-jCTzhXO%Nw#?^(}z?T$sCcu^~M2rYr(29jYW*M=Oe=&l* zyrZ_JXJsD7FMunwsA-4I9l~Mz2S;vc=FD?+3(6-)x@dbddI_-j}|!adItP_X2r4b7c|*kjFIjVqrJm9ve8Zu&$3 zhLgtn@tSmT=qVD1eU6wcOb*H^p|hn}~El#ZUY zpv%;?G&iKN$jWOFPCqMMXV{A3lz5Oa@vy$ub4iE(Zpm|eg-pW=NyM^2E@lcb(wANB z_c?&gym?J8`h)7{!LftXQ*2-^&@g=7$nd@cO3slQ@`CB+E$|8N3+1^ZQ`;?I?yIg{ zEgV^Cef&fyh{{J50me%g-!fzWu=Zvd?A!c<5n{h~!l(E_LN{eeOIA1XW3f`R+;Cmh zTeGN^lzJVaz8i8G{d#KNIm^T#s~NTQ1HX$xQS;?X`!F)cV}FXeI}|>$&@I{l?L)Ov z3}(oj=kBC+kM4Em%|~&eR-)*BIZTjh+}F@~Vzv~SAORz_5oW?Q)KRk z-&tBou);929987A-rd*oG|763nmQ+#*zAq-djj9*LeayD7NN`JSc0I`!d;1j02`!O z^~R6c2_vzb|dYsY1GB9Q%&Lfriwf&R5)^z0-Rtkn~az!Wjg~Z?ckrifJr~>5z ztIp%RWRyoNlozXC2F9zoutU@$_dBmT0lS68Hj^;3enMd_P4jn`=mB3e!>l{2%A2@2 z`riE5K}uYtY!ikbp_`gZdEL2_F!iE%+hoSrYsVBKuRTidZy9JglS@i(*fa!bW4Oe$ zh=*jIr!vlp2>HK#VetS_K(4=h5uGhy_9Eb(#(3)uv_p*v*$l1;hpx)fMkZ%& z)D;}O)89T#V1cL*m6ljE}4!= zri)#E3rE$EE5T~PTM%0o)wI4Z3i_e_wCHH(=c1~x5}nJCErXZ0K(x(5a-1%l-t%r_y~FVe()&ft9qGJ$*OYWJZP6cT?x+*(E;!&A=*w`MFQ;R#@YUTY!SY zZ;JOu3e0S&AFpExasqsH38a6Z;fP;MTv;dn%(yzcQgc{-lzM8Y>bACp0uj6ax z=9)xvYldX>SKqtV=^)}HEi!;c!yQB=64^?4jsP!t)v07_?Py6EZ|DD@;7n}2SX}}? zQKeET+vCj}QbDRT=e@DqFz6x%$eIL>2+>|7oTAyL6CW;-;_Zh{s(6|;6$#oX?2ilt zo_m=wE_JT`-KlvD;jn`I3{zBPYLemFlJynewRB*KVSAcxPuuaqqfgT zo^7xkcc4ngw$dQq^_7SuG3t!ev3T}bD=DpH-DO}nj=~51gr=Ci7aY=Sp`%2`(J8Tz z$q{vl`*U;cw&-o}dor6`s?WX0UsTlw;5p(hVL4%odclhD)sU2wNcHdc+cZj(MaTH1 zYQ{>9twr^W8mDF8!d=0Y*f7EiWQC!2sO4)t2Wz4IF0M761!nnOXyoZW+fqYNMv8;% zHkVwBO;Q+82C{Z^$DY~0&*kOA6g{oiWn%u^7?GMb1!1a1JVHMUOjTc9+Zfqf|Km)| zmYUvHjhlm+znF8^vVy=xQnL&okuW018vAf5x9d1|2pNf1yXKqzTlo>xRvPP7W7v-N z-FW4U^7PCLycPawUPe;1&T4`c#+IfYQMjd~aYH}cEwgNMtJ5yas9G1IA@wAD=yF~^1by0aS!bg-QTUxBk z<86pI(8fjMQhPH(mkI#OOEk$jk9SquLz$tTBM7KUe+ zSAck&?hx-324wqKote-gBIy!LQ!IJ=x_X5%!Z#1*Hm~|>^`Sg(k>0f_){{-g(I`JE zCc{+_Bo`ds($iE!!f0mif_2n#?!V}gq+0n_U|e2ZW8rb1=_Op37h~&k$uDz_TI=tY zb#m9=#r%7C%DViamm3Z$^Vi&AlXn9hHjB#ES!^46H*y<+u);Sv)>{a3tbUD7XolVS zTVKM){_Dw*Ca>aDqCG67FmMnQS@DK+dV1FhgE?t;w16dd8dDlt zmyK$RTi~k{a>EK(>>{BUA9dX zvPQ^Qs7`jO5x#GQ;2YNd-vIp?_efYctL2w#b@L#PErqqY#GHJB*lO~~j<1vC7l~2( ziUUbQssU?t-KqZ?y8~A02B-1)%5D|iFJo|;Z%hEd&z%ZJV5^eWcaO>8A!`(%I^0W^ zz9T_$qRjzaB7J^`Q|^!$*DpAwX(FQ{;RjC1i2n(voMzlZXJMbyf_O((D3C?<$ZE=S zM(-(s3gz(EXNgvmWQdIeg`Kyp5LCi)?Y#+h*$>SXV~UG8`s7Sl(vE3wf!C@7^X{gl zo|iXOa8v3}BCqwXkt_|a6E9Wf2JWp#U80IVLP!}w&Lv28F6czO1uP)^NfKPzoGI8| z_MZxn=1c5JDjGhlV{$@3fp;EwoDNIw_M*yrqNCiD4B;7BiB%ZGCl=XD4aymdqXBNm zr`2&jU!2nwftjq2Dn+zj>Wx-@K-+RMv*zgaVNVGMEjyQ!u&Jo34KSHiNvR28aZU1Am36K* zrP*MZR(C9v;aQ%2wn$85{`lt^AAOea#|RY6w^?is&Frfh>Bo0?N$dLgcwFQ#snWYZ z(v%jYNc0|VuF5jcv0xYm7!J?14dhV|?+HH+*huJ6t_TXCK1!`gDnqgnMjzlwCu zjC)~BL_tW&8SC}^`Z`dxFV7o8=hNAF1>hvRRD_a%EyiMRTm44Ta{MP_a{_{kPHK@) zjwB08T?IuM_ zAbvms%w?4a*P_lIOS7tTwnisn3_m&UvKd^@Lkf@XW;8KFaTrZY{gfx7h8#pqEvwL) z&z5H!`nrVlvBG6pTk*BgS=VBRU%$2N(oNs1yFp;gDj%vwvp6zIkRMsfk?9L}y;#1x zT5790f%`?Zt|_iEBefjjK?@gtZR>QpFHCCL5Qke3?mrb922{#eKDT+Pt3c)yOs}T6 zN4zz+?X3Q(giM{LAO9`w>!7!kg5A}C&8RN4AIP?Dopu-iZd|4!Ne#J6AGT;h)5{iG zjwpgJvE4M`YIiCL`I~I@Ai9yzqUAyz@fVabGLyR{_(6$TnpBDDbAGSb=XzTOhYwKd zhLm{S$-X?}?7U^K5ft5jkS30(dQ&Y zbk;CFC(VxOc!l&`g20s(e8M}a?FZ$(Hy?XQ=Su}j1ahmq-)N8#>%dE)h|TblLsKn1 z+BTk4d?UieUT4U&^A?~kdX&@BmwF4J-o*ZN z_UiP@iXNLSf)d%9uZKUXlLw;l2(orkKSj1TW*#ngF!8nyndz2VJ1v*(88R*wbvw>B zY60&f>V3X1x>e<1KKVe<84A(E*eA7Yo^-RHjYIlzvN+mk1R2Ql;r+0|JfWbQshiif zd=q}1`~u{!(+8%M93Af!vmjzrKgj46^*m4x9$Q3JZc=(J*dqelfr2^9vOTMaW^wAe zqU$IcLFr>PCHpTLzy?yS1;oR7(Cn)6>T=AQqAJc_Vutfc1s*nbUCanVv~4&l%2pD< z>G|95r5Y2sG)P*P+@`f-$yp+DiXkt4p$d$JF=m9zpa*GfBB>?Ij^{=79UjfspaIts z0vT9NPxyjdwr)!H(NxdevEm!c{I4T9PJfWgU)Q*e>tDw_rqH2e{0bV+75h!%JOeXA z?dtT-T^TmN(cBrqsy0nm@Qb&e*VA8UKlOf%nU=0-=0;fl?!C@CI8+4&0Cq6EB0)U$ zn7-cb=-UTAO@Dd`-B~4W9=d0HW>+fCf(9uWF zan>ee#K7|~U`V5^bYRqp5Gad0u#D^`i2I#Z7ugEi%7^o95~vzIg^61K*Ge7a+B^m| zYI;y*(_VE`e8n(xb&22AzF0v;mVp#$xKij&AE@||;SM|d0 ztLpGkN!af}JDAlV#MYBgyh+m^)@f-KBYho>G2Z1&#+JX*?Esr`@n_Rdx*#L*`qeNcfke8~zaUH?^FFIb^c zrnP){00m`W?^enW!VS_0%CnEdXJ&Us#>RH8D7{AJg%ytB#HX_jzzbV%r$kgNND9nH zOqfObPQcOnfqVnXU&-A9RPV)#e%vt+!1>Q+)Yk;>RAPVgaST2>cN2;i3ZItFTh28C%G`bHon$&37SOpiT z44ffvPhiF8Wu+=bj*n&xxUzxw#Nw*Cu9F!0QpY9z>}C>DDQR#!dlGp6D31^CKT-=+ z{a^*($JzhsqV<2mqcHzGy(Fgx5#E!h>TgF`Aqo}o$ojv*DEf(iqA~LS;zZ{EH?H=d zkm~)9lS{N5bL(G+M10JH1eWNjR_#+*3^pI8jITvlgm*1$B4F%I8GX4%`L5lW`9A9l zXRm|YSOweO`+bo-vPX-h0boHt90g}GXo-!yIr}t9=?M19SObga*fL^WAobYJi)|vaIt}DNS3u?xRU$g zC+2{C&F^vSOtIsAxL^ILrXMC7%<%!wChypdQcPuUSog)a!ka5>o`;r2;DQYXI?E%|ysZV)wNtqQi z%ef~(qOpBQ*O5@(NgE?8t0n6kodVlZFRe!`NcPB$?s9)vHc)p1qfbLQtv)}Cyagn4 z#w0Ec&#v8W;^5rK6~}D3Uy<6`rq0z-K{~u9wV+GCi^H^~aE>3Kr!X&;J8%I#d$1Cv ze%l$=X~V@XYGbZf<>3@5>tLQTR{>Tt2$M7(m9Sg*$sSC!kbg2ejMmd6+AJ!n+;l_W zv@rGuB|uiVCOiCMNsiazVtZq+{Fxr2j_af5^Hz#LD44!_BD?P0oQNZ4hQsU%F-2CD zZK771sMi9!C7xLKW~N)Xw~o35QTsKG0Yl-O%$-V#-vZCHniaoI&xn2w|F|SqAc9_$ z?RzR%7J1bqKOnw9hP|d#Dnr}g%p=W4j2&s1mp%rjij>w>Q}E%5X@#&3kwYB)%aIxy<&zDoDBot~`qP87rv$&YTAUtxuCsC1Pj%aun(EnU`qY zWEZQ=kivj7Pp(t=G&L=l6HCIS~?!IHEVv4^@6j zyNlg*Ym)~~WVQ;_f9jDHV+|n1BfD)(OpMsz7|b<&D~cti&Zfaa-HX)As(o-a^|aHf z7hP%&gJ8bnT7W3OO60omgeT1!tNv&02H4~CRoyDOL1eET{oa8AgzrwmVbyu6=EyO% zIE3=}c*jR_3>OnZOt*k+Jw>X{&5m8OEOPmJBV5SxEo&1;E^cz zFmaJiQXHX1H-6@uINTrM?~AlaiV|ANnWx-QT2Vn~w4lhYN-3c)*0vny3G_ogQs}@~ z&7^7C%5IDtEf-EaE~c5ccI^JNo741)San4HEzqOgdJ9xD+yv^o!1afgQA6!XwoPgJ zXy;K-Ihp|G(>&TrgSHQ!*Tscdcbo1PP5W5awj7a_Unt$#(lH~B+Q~h3vn3)Pvs1() zaUmes8_%NF6CSwuyCHMTDd{keK|;K`O3S;LB;ETfUmy`k0S$Q!+hmBZ>egDU z5lR?cFKqBOmh@tuKK=`50BAH(sCb>G5aAb9jImiZ$dyOi zEnqNpj$VqKEP56FZej@RFy9mMPl@a)(M#0^?fM;nDF%nOt-Z|sgSy4EjMwZ82~ zYTcw1Uou1je*J{ezq&pCk2$CDFaLqb`d@ICfAu9My?^Iz0DgbQ^C5rNsgx*0GZqxJ zw#oui$IKF2Ks+BjBK#3KYWpCXT9wG;w)NhWNPELy+bRQ9xr+X)A;I-m!;ICFo$=hK zbz^qyAGrHMJio@%Im6mYm>J^s3Ylv45cL{$J6y z%+GMO^cT2V6sLy#>h}*W(qW>lIg-OcAIO3C#$~o)gm2D)ht3MS-XLL|YlSgpV7~cn z$Y?x_=$DufiegL{(ElSY6!+J-P?6KjoU-Go!hKJJSK0pED)AO!K)^b5@kpG04WaD0 zU#?E|IBW5IFZ`>Gh>jQ#jMw*0E^K9zps->fQaA79*$tntMw_rGzf7$g2UazaQI-L8 zs=#`4at7sL^-)bD^O{W-T)MJ8)4OA>DJB;HI-Cm zPmstCA;{Qz^)i5Ed+sy+3K7nwY}$g}A^EmpksDr%-##-h3(W1nlZ;Uiew4ZBL8oAF z{nDnhI=&>+)XtxOMPS$gNv|gh%*38*ktlnJhs)Ghe`}tDR6`h@aRmN3dZqbPdK^#SEmZ)=vnaS7h)0PHBV2h_$6FFi zW-xF{pmLyG*-TxE$J+c;zCOx>af8GTseOE++p!&ZuPD^dgl zHp*(O`$Wu{Kg@&$ZB+O-L^^04@7^F*g3W6OK-m(;Vh6pGQ$n|Bq-*5Dt7d7;JJtKS z`4?oom*#8==EyJr0XBm&P*1Nqc;jtVxo#PsB=I7o@bOFSNxJpwiIz&O|MEaFmpU@-H#K7rf1x{BrjZ4iRU~R!%yz!~I_- z*?!+9*?wH+1@SKK=_zt*;WD(aDcR)$;{4X`N>nogB%C)+4~a35PJDka^_l>az_4n- z#`L&kL1BJXAcj%W!_xt_g668)*O{?D>ri(wz#D|L)erD22XAycJ^fjTU7W2i<6>Pz zEr6X)=SNz(a$AgW>A$#NjM7R%Z+OKxl?M)B9TKb0kHy2`0&sq;_AOGEg{|iaZivXw z?|va?;pQorhd_msCyqemA3Jl zC+m_-+e6y=@|0%s(;^Z^FesKA|vtjYEoNgBhzMJk<-!QgYb2>>-#<&neLVjcOkre41KjE1iB|Vg(Npw%Cn;kou0Bn}?CzU;e`O;c4<#Sn8xI|aPQE60#VT;o;s$lqUVRL4=;!(Q*NuXl!u9IC}VJVFGdpKclT47`f>f}$ROJ(PiwU8QDux3 z;fc7=t)q6iV0cxjTLgtD~2+G_NHT7xs3_zjT66!&G^Id&PoR1BdR+9zp zNZ+9iO?j-bA_}j|1$2Lx;*A8r`CVVg?iIuMzR&F`!T)$~eDHpoohn?&r}tRpr&@mP zE7{1#}oibm}H7`})`$liNhqp5!U(8$% zsGHO6b%gebRv6$0o1|%&Q{fns%_n?wFR@2m{+##qf4U*vAC>sgKaSjUo|cc38n4?M zgG{-IqrBEN&xtmgb#Qa2Y-7#FPL1vpQtRCw*iztHVXToU)cV%$1>hd7xGILv1_%ts z`Oreus-K<(F=L&o_%3nh9Bj37{GtloOIOR$LDt8r!yJ1#TNESq^gRn=gBD-zUzq!@ zm{G*kSxVV`Z>_GzWN1O&TX(PN={Ln^KmICXFX;_u^CJsmIJQIM)gw%+f?(PJ+F;RY zKhTi|7f!oRZebcN3+}x{P4`9uk*NTPIZz;v3>99u017wHnQT)7#z;+!{au3}wMKgg zd-forUrEo5EQ<99D!xh2y3vI^=d1M;Zu&&@-kCNUtGML+&WoUS195}^Q5@xlEUj_r zlBU-#U8J-ro{K5wa9JtH2jFj;hFQx6#Vdr7-X7=B~H zSm*Glg6`T;8+4ynHspNoXl!a82WXk}n?6KND9;jW+1@0$jv$U;Ucj!%PfwmVF(#5M z6s#G6`2OH>0mB7KddEz1?PDuLytFGuI($lcosCwcbs7!Sqi82rgGhz)1|C8S&upj~ zPaMyXc-*LKFh33L1t0)G{wpzo>i7jvASxS>1)=F|EeA|ir)RE@FF<3v{A51NCG5#E zWu?%>301HsW14v-%``Gv8IDS8&<2jDy0zmsx*SBsr z7ozLugxc2XYqZ`hFPx;>eXTK?1WtA~t*w)+&^AJVYLX@i5jk}^M&0=W zC<}9Sa4Gc&lEGOdcVC?<+bFBtpg&bpsl}bOFz@0JUMlMYuWgX5@VL6^7icXCEz*aV zfnFe=1#pX=tn%)F@q=%C?Pg{eKk%OYV(WCgtI>bopC!8-v0{RglPomg+@V?Pl-bwl zlt7^~#lUNp=xhn@8f{FL?)3{mX!uwi`y&<(Z+z<;lo21<6sdji3v=9|NtRjK0!uuz zLd3gXhIYP0;nU9i8f5q)sXYk8yf`{y!`G9jF=Dh6f+j@t-&5_*#rr?kg-0fC@4m09 zde^VIe4uXvfghd5#A$C+v&j0!dkJlHni~^^*%;X)JxGYl1M=%Hrk=ez98r1_w^%5% zt{K4O{<0J!wgSP+dn8v=;%R62j7Mgi^lOe%obig=eMK+$f|l#sr&K#yt<6M}0poGW zz$Q%vpgS(<+)7}nR>g`!5!qTQ!ewswew>4p2i+3AcL-ki2;OreG(AO!4pP6gh8Fg8 zvd84+@C1D2n*Gfs5;k*X?v$L)G)1xj8>6$u{WiAG9O)(a=5V@1WqSqi1n)Bmb)a4V zafa{pJe|83_o{tra}m7Xj#pPBUI1pPA_JfY>M0DhuWS8Q(D}<<&qh#0yf^RCQFK6n*q%pElCJLL{rq~QSvPh@NI6`!gUOAb0Qrwr58csO9IA&`l9PJ`bqlMQ-&({JX#F|4#9$8R>9}cLA)Y_$}t_z&(rTGuhP_k~A5^`_!VLd))FayC z@IJB=h@O{3rCn1c(gA=8#}BN}z=nzg~W74Hk8*oSw* z3krx!Q1;ruTzxEriu&9TE~{u%QFeZMexf)SfWSw* z&*j+LbstI2NVdIgI@dYrNpH(2oL?6PG%%ODezOE70M&%rqgBU@X?=j-|rG=Hc zY;RCYjgydGhC_kz0ZS6}Wq#_tXViq6g0S)Qh-hzG0}KY&B~hcBprk|gxj>&SuI0VX zj2pc{H}5mwfi#)&6uw-R#nz^5@?Q5lRCso+b}BNb0ga5Ydv=_9x*fFF=)dfA!BeWB z2n`f3yY_0g8z)wL!aSg7mUE#^*#pJ8ky(9xm?nw9;7ft&E1++JhNTuH`)5jA!lM z*qAA5#!#XP$45(lmx}cB6wF*N@&@;tzpc*xXPjBIdNQEXRJ0YR)b_wb>JK9pB@dz7 zXUmT}-B#X!DNSqk6^Hz;d%@;yP-i>eP0Fr>-fjYn8hiIyE~W3&m;HVAKYG@FK6~8z zUJ-Uf5+wjZ?>AGT$)t1Nz62awnPpCT|15o-|9I1$KPa)e%vGRsCfc4r2(vLn72Fue zD8Y0mJ09+=)@?OO&2?O|)cZl!$nM^_dY@oEDW}LA0eS1xcT(gvevKzR$dchDR8g4f z!QuzpT|QB4_Qc@8-^*^qxAb<45#G_BgU6FM0j2{6J$@c4i%$_86J zJ~!^)moAu%O1TvqKFrUknH0FJ$;vG~lQb?t+DRSyPCU74pR1zUa{RMxR#eu@u$sho zd+_Dz*S}0n%H!w%qMNZC0`!!<58k;M&90VqBQ}@_XC%ZYdBClr-39x`13u&;Wc;x7 zU|zyc#=8nz=npZHC_ZNOWIg9H9~}WvtdFj@uZj`U46LU#o=TKN?G6_qlh>^cEBzxg=MqR-rJN4Rk>XF~11Gqr+; zOe(9R3JJ7Bb!GF`sb&K_Qqk$PpOkvQ7DMLteT?&x0_P6*d**jj;}30-%o6t4U*|p;#dHa%?J0q@he_1KKELKI|%&vn;?~h{XdbTif6cuNfl8c7Jm8OgcQwq3UC1nZGXi zhU2`isX`>4JM+p)8_f2rm9~tPnT=@>OC$q5eU+$+M?RMll5v7aGIN$`L>xaAE=XjW zOnrnUtwKYK(A<>yaW+`~9}u1&efbpQfe>mGVuIk`o{H{kt+)Z1mm0r*3O-gB?pR@% zc>mV#W`ZF*T52fSuCj{l17*qieLSG-Z|c9LkW@c#mHn;n`VY@Q3$50k`xNL)aq_95 z`V~ki>r|Y06L?Kg&qYPVKZiPl(j*Km++^(DO1U^rF!0mI9ERObX!7cj$0%lgg6O7) zap~o$2dNJK&aO(pC$*4=qmj7mSLUTT(}Oh8E|3I%D!0@34?ozY?O%$_czookVXsKM z7y&?ws%zpTMx{Attiy6Re(ZVVcraSj01oVhW?tX`z8h=tHjZIrT6#5TG0S6?+i~ZF zluq^L&mLY<(O+tEy5)H6jy0D^Kj_lS4>j?{d|NGpEgeSc{P5C`t3b%y{xu#_51VNE z7~D_z@16P}HhV|RgJ&gk>I)`(E$6CpZUaWxV*zC+YIxW@gnudVpPNO9a>Jb~WM;hkL2lNEnlo_jvQBv>4m$ z+Zr*lC)7XvVS6)b8EI2uasZtY8aD5bPm~ZNZnAB#%}d1)9un>p$bI3s095ta1!);l zj1v{maqS63UN(g;le}cVw`Q~9#yUj1{*VKu8w}Wa-1c?wWfXc{Us)e3r)QLi9wxcI zkNVkAUm0nq4p~SES%0qiy!k9==Mi)Us(uIMQE7418c|22zT9 z26(&n7pE_dm9Ks)KLr9I8R(yw6g-w*;Oo`OIrfB*ck1+IB#tuCZ==iG<@`9 ze!So6MRAq6vXkc;qm|bCQOA#N#5A2WxwCby_D%1a-epNE`^UtDmK-&UpNvu800d zB`zR_)oql!vVsKfxi`?{ooaN}1(iovK@e=o=3@F+l_xAnTn1V^W+&D|lRpbMjP$QN zcaZY1StrV2P`*wP#WjZ~>02*26NP^pY$}Mf5zp*-s^;0`)@}**u+L_#l+eRi94^A| zc|j^}b-)t%X}N6fu=}xP-co{PC{c&=N>fz0`(g-?pHpj5pjB2U;?SK7PYIR*9mVt`sK{c1=ter6fA zPXaBRNTL_n$w?0q%Y6A-TqtXi5%xP`K_vd=E{iS%f%4b!B|>jQCSUmOH|xq1%1dF= zboED~(!%f2tlChzIHYTb+ z2^yO&MwC#0=B@2J?4Zkbh}HKtVT^c`LcKiZ}<0-A9fO9HFrx{dVbag>=RgERR z&PH;ZD*2Jkbfl&OQ#h7EY_GiCwU%yvHxFxa4;l;s3PyCWK;L#?SG>tIJ1ymBB}67t zH~BjjnU&hcjQFvdw!)|j6?x_0f07Gew15m3wHta95muwD92VI&_iO)>IFxTT=5Kv$#N zXpDtzMzqYCJfOqTLW@H{+SaDG8=$Kf_dA4JZ7B?fp8z%v1Dt|dDk(-G5=-GmhBfQZ<>pN~*5{g$2k04IB zEy&%<#v_n(MUph75X%U9o>7TC6GZE@!&+vZ|IF9k)zic_pQMD4K=*mr(^^%rgDmu9 zdX`%gHYRAomQfE>d}Sx^X$?>Vc}M^`kYls{upE<0zhf{E5FHplf!;5HONt@`@?ll#|1+-x?NVps;54ZrnkwUGP8-y>F;LlqB&i%hScSfntj6B`{-SQ4)J0YU|gbm&VMCMQ6_?!87CJ?+&g83? zjxyKQ*YD+LtvJb82q3w81~w4y2|K8zYV_}Gtx?5hgh)JUYjyqXOm%?d2l^fU$ocPF zn=bjzq(ypu5Zz<6oOm!b`Mn8U8&T>tQn@8NY6}`fSzKZ*Lx1vTdDyEC6FFYybdlJO zceb#yoQCp$>(b%N(+?!~_$~me3*ZhHh#(?oLZ2AdI1;-3t_cGWxOIqcq$4B$JO%FV z$9sX~2m9xYEEv#*X-`Eu8*CzcTk+{01az0{I_RIz5_zFSoyNMQ)S=t8gqMbX!zq!1V7wKxfIm#2a zq97ysJRi0`6igQB+aA*HXHG_;rR;lK*=KE=`JKTF$)&+d?9T=-U7RBi)#47e#y-9i zt5NpEh#5}V=f(rcbDc_Wgst2hRa8M;6q#h4$5TQyGO@M|T2`F$hqwugBs0oP2QScI ztPqptaKjd<(bW_Qse#0{$y(93yUDh7uzv9UATI$Z)%2~|>B%`!ERY%FVv3^0p)=`f znnA>ZJ|Gh>)nYOZ;(=cAgk>wEjDv(#X}f+Y^9DIJs3< zw;QoOilbU`6~usZXcaCUt5}oaQHp85U9^J-G7V`eF@p@UGABhBJx}jWn~vxT6Hl2{ zs(2R~3EDMoJ=9Evt-Wk|wO^5BI4Ibph0A0p$DwdSM6$9f>Ou|(-AgiMG&G1zXo~Sb zt|5zMtMg?&k7_C>rj5xQJst@THLp*&@^rf}(5Vu`7tvq-UbdUhwIs_O<5zs@%5g?( zjHJJX7y$bIP13S|m1GUU8Mdmy|GCqGE!%(fSMXPodo%qycY-YcH0lDz4cWJkv-v0j z$_MW-s86HmFu=be;5n?G9H~TD$C*V4&tKQ&Iq@kE`DGvJer508YHnE5_J(VV!U8$p zn#Do2ept+_3i-@ntj~&+&$&RFjnmgC$lN9`fHabi$`P1NO(q1^l^1}SN8!h*DN-#B z6hccj@o3N8sd)V4GJ*@hBn&yuX(vVMQrni?Qrfq~)Ql>htz$#+zWO-U(RLuTs%Qsa znM?jQ=d+z(EaLjZ2xzr>4AlVScc~aQdOj&~KJvcvFTP#?6OXaxC1as64i32~_ri)r zClol35{46qHmJ=_Nuz>MG6GP*Z?&lObJ77NB!S;g*mAghrhK+6g!+g~-XSSqy5na% zWQ%e}>g9*pc@e>hHb zJ>9{g46KONfN?UW}xrWi1gYJ~%t+%ELB>;i<2U%~*crRr-7S3TK1I`9@7S6v%^T{paJWcdp z7J4~JbOEI6MaayhB9_;dT*^S{d}*DL5v!~{XTiedl{hck@$#>ep~`+$@TAn!U~>9O zOEG%^NNNoI3gJR%$Cg&2&H?v%5iO77vrmw!z9|l^y*yr2I}IXQBe~c9vihRS3$3y^ zrzhs4YAOEpCo?fx(bs*9u<^A}@)a?14OeRQR&3%pXOYiJ@PD`>0qBW=?3nJMLK| zrV3yeCl{wEk2@&go*O37|5)(EpOJln1DRq5y!Ri#8*aP* zHR?Fkk=dM+UY0oreF<}MHdg7@hk^;P)vKA_in2KGXu4E_o^c+=wAYF1dQnTb|IVtR6m zii9U_DqM&ZxA2V9L&-cNl*I^_3c_6Cx#Htd5p3psYZ>W!4R;!wxr*O&5b>{yk-pS0 zedWTnOiQT6@nM`O9Qt%SCsF%_lLwC6ZymUU(@UT|2(@P90y_><`4#1t{>q|$@>jMR z0!x#pKhxDepQcZxK5It*}Z-{}SAnx~@F{+<1QXZBp7+fSJDKoqemWu~wP z)JnjQ`nz?}^5%Dg6d-lE5%=ADeW)P$uk9M-W4TM&V4=-|p!W{#PyYT4zDOD8N7YRP zsgcWY(+wt(0tLe1i5S{TWJWP6L;<@n%Qf|()iD;GP{`>Sd(68*}J&vt)y zwhTx(Sw;(2OF7I>wA9lW2?n#fbFIqNl)V@5*=VszY|JJzBcd+S*VZ-2(S0%riF6dF zymPCff*?+tXE|U}hBoFX0mz=gI!2I(%?U4no*)ZUnh+3e0lpY9y}v|rEw579^}aneDX@-dE<@x{j=!87JZ8#SRvB zE`(9`{;zrt&MeVwI6n0$^57kBhc#U}fL1@a*knT}@XFNbj+xG#Px*14W^&r0N<9WDM!;-lXmF;q$LZK;U={hsiBKQa24 zA2FMyDq%(V#?v20EK0q;0H#EfIbi4CC<>!1d$>;wAm}&BBjSAaxSt^v`S_CPT@Z!k zy8qUX@{0I7`~Uvzh;)gYxE8P_)j#ITH7_G13%0|ujxo5#d7i^YNI@Glp=z? zCP*QM1=z!_6nsSYW*y|4XpL47zIE`}Bs^ox!PPxksO^v}wxNMI z^PM4PzK8W0XKa*D1KI4d8oD&G5zQ{fyq zd84(D4PhfjL`=y~k&Ez!=ht``-aj-oy%Nr@t9jqO0H|`mp&!UaU)QhjaMuWnMTH(- zLNqh#uZZ|GXXw%foy~u$Y|-3WValRqpxwjwFQ|QBQ+ziJYELsvzUr#ZcAW}JCABC< zmSOs7Ut~0|OF5IaCGlWgZ`xk)bO@SE-lPH5+d=iCHwui_tngW-7b`2Z5j}hczA4*Y z2`7$Bv^Z8^&WF<#MfS0jJz{x%U5xb4R!aRdH&FiyLg3$k))Lb?d=9>)#sNW~h>c4i zh$VfBV@BpDL$gDVUnBu=N0H0&AxbwOXEE`7bNVUuv(rx|l@K842i({k*0NQ>AuIut zSALg!teWPjXhTD;Ls3LFJ&Y;uvsXO(*Vn(62R*z*_9Uh+5?--nfD7ACpL`aHjc=^^ z&?{*DcyNUw7448G?l9_DlY!jx9IH65*n-4cLbmnOJ9`=0Ip;;uObcZ(Jl4G$(qY_* z)~ct(2!RnFGXq+NM&qZ&GB1^E(&0nOC4jq^kV4c`h+{8$Tvoe1Q@P~1ji+cfldA-s z_PUrfLVy4!b1DcyaUl&5mYsq%ly@^KI|IwQ7`om@=SGp9{g_Gin^)J3pS`+@TV;)o zRz)KmcauJ+on5iq#{>Na%mdX1!>R5QE5&^zexcb+c?kd?0hWO4*93|Zfa)cNR`J2h z3C*-i2T_XUr4=O+9Tj4JJ6_Q~?U!&}yx)7Py~Xm7prUuYXp4a|R`Jq3?+-9qxsdOh zDj!b?$@=%0tIA@;5E7AOms<&1P@{nW$;Xx4o($;$xA7S9HT@7}{{2tm|IZWoA1@aE zmm`e^Lr0czSk{wDOti%%A2s;%wP1My%Q<Mi@4F`9iN#8CO)=F zn3Pqnl*8=`_bFnr$?_HsVF|#zS8wUJfQ+%dN^r(-AfW`ER?20PQPD;lLMUuPdv2)X z)Qw*zFVt$u(9Q*7!S9?}S)~iD3egHo8(CvVZ6!PCw(O~>mG0{sY+&Q^K!$uuy@Dsz zu&SJ{3Lf=m;aSgcCYAKaQ(47sb)d_W_!UdwC8$WkL_V*Ttlli-*3C#jTglAUM_wK& z4ZpLd8?EYgH1X}H2(GPQ;KAFfbta{Rb(8R~v@~94O#lGh5MN;&N)~=eqB3z$n+kaI zCYoP#$d7xe!0>ksQtFW_Zo+&C@hQ%91@Q^Hvv?Z%75QX`l*ZBgHzGrGB8_Oq%0>fj zxh^5e!@5wXwzjWj!@=pWPhYeW6E?OPJW>A1ym|Ik($!`|xS0*DM*!2MgSy zj#c6Sva@XDy+S+X{)f-smX~`7EhoaWD&V|)AhP%$K+_Bl+KRUd>H2(dgrXDY*9lfJS+fv`AgqXlY;e}dcM>bhZ zumVVEv?w|{C}}aV3=YNDrQj>w2)MvMMR# z^?o}3AHnG3+6VLY>n7mZ92j+E(B^EtF+B(>uH@n!`?S(C|e*~Aycii|mbi`1p7kiq4 zi*kaa-0)k3IUwsPl#v*@0R95F1Fp_?${sTi=nyc8Nka%cQ5*h#=EMNcD|x==^nmi% zJ?gb@H6P`t_#)VPDx}o$1vTLX;3hPbS@07I0Q^p_KJGn+=_{A}sTklN^bR#1&&$=_ znwTaUF+O>TpOJ9$b$pWt0!~1aAC{g|vv$hIzJ*B}Q?a&6H2zsKd(R#uo3m#w`9%I5 zY_FyF5Z$wve+7<#V8$BSwrxuVhr&7^KMk_b?$Kb*kBA6Bo9>I#@!Xj*>Gu6Fje3*G$XUm3Fx_332)WCJnpUvZ5+<<+emqRF9C28YnrZRCtg`e4I$6VJZqi!M1$cBrWaF50-C3G5%n=^ql!t3&2wG9I1Rkk%KC!^;wiuio-tz^?hL>*0G$Aehpt`D88ot$E zYF?Z-eA(tsBY0zRtyH@y(a3ua&ZFDFDWMckxsjw9dn}I~`CTgVkbrN7mF<^C8=?nC z*LTnIALWed2p7lC-AK?zpYwF3^h-sLIK=9!{CWXU57zK9l)!!K?Vm$KNs90@Yk6Qj zoI(k~Mkth`&Kxed9QK@Yaz?7Znm?q^VqE_fWF_Y}-Nd5h1unBWdmaEkqJ(5~z83Ya zq=dAPmduj@x}8tJqdd|$pUeE&O^~9XHJ2OVgeTF7Q%{~?(Kg!&YtB+mp5s&d=eYLr zXAOeSXSZ+qF?3%5*U8mwp5E5^`lYApG<|DTw;TaB4%qEzl8%%*%FrGzWdE@o`cFDg z-h4M>_xfJHQw)D0Snyc_@kSBZ+Ki?~W5R;t+D!nmv303>)}M08$vY$D7`L zOjDKw@Du+?`?~J~#Nu!b(r&tjWTm*4(0b^rp34OYEo0fI9}g>wk-Zt&kJy0bOMQ#< zP4GbN=Mh@a&6P5rtEhbF4-<8?Vpb8jVwjzOilLyo00fyb-um&^x(A-ErT^>Bwdsdu z_#&f@Sfma*bx*&%9Tv}ljYIWkD82$ssVMJ9^L@ScbVR;Imy+c51ju2%MEbYrQg-~8 zO%kHL&p&%x)-gNh*m4jLq;YGXj|S(SeR}G#<%0^#FH`3Pm!k4hQ}Fp_ulcvgQilN! zsb)~i#&mY6Z1ew;i0#{V5q~H7JIUWk{@qF7-SVP|AT-(NcPA|iYqU$SN(T0n5Pi#5 z-dtw<78NLq;Zy9YgqkG6FNuCE`bl-%5_ulehtcO(S=%V^pAqa0jjRmKOxW((8M)Y) z*g6|JTiDsMS=c(+n;1FUIXM2X>ayV{RTTbI}aBZ)n&}f!+jOAb8!6> z^KkR9b5H@dx!Kt{x!7-WaB%?a9Nf3LZo|I+7xVgu!Ntkh&=FP@D-TBxYdb3!PYHJ#^9~}%J!zf(X z@gx=Q=hVnGsqjD3aJHA(#8vOg$iQM%BS#YxTPJfn=ZkfKPYD*=!A|U{I9b^NzB@AV z2ngSP=8C4fBC!X^Lq{Wk5`<+x)YofAcOGBNz!AyZz575(MNv}bzQh&Fa43fM_STn~ zZET$#Riy4vX=&?FAuq!C!UC{ibwn^Uaorxe@T18Xgo()rC{`B+u@mg zqcbk)N8jkmt2AmVcVYDBOU{kV4UJ*+1dL{W^xbu{?`Ruq7o(r*a9Mi{6I*rFpY8}5 za37EYr~ql;9-sn?xd1s>`}}cwuB-HS0Xx7R@BkbE3&0F82b^KK#9>$L0c*enM#})U zfDyn7FvDorBMv(_FWdRI?f2_7k73xoRE80Hzg|;=4Xf2k0DzwO>ota(0C4Rg0JL)3 z8#)^P(yE{X1SeC@Z=D^4;RpbTM;8~nNSHiU&k}6)DCzY{!wWtG85{TN zb$r6x^o-1`?3~=ZlG3vB3P@#D^~c7h=9bpB_D_BN1A{}uBco$qXJ+T-7Z#V6SGIR{ z_x2ACkB(0+`GP%vpr6AZ@`VHA3l0GR9s&81FA$vDWda-o#2dGfaK)984IQpibNHj+ z-HA#oZa}5sRN2CRWy+4Q9w4 zp+2*X7-UtoGBk&~(+uiVD#K>8V!>4Ge1n<3WjMR#GqwK$~+Ew(3e{k(ldO-*= zrj(A}Y>Z~PmpPc*hz#Dc9Xm2-xyFGQKbh?$`vPztB)9{?t(?RMHx@lAj>ej8W=nRu z07TqG57&lm3@-o*o(o{V6XgPU?>ShXmWm~^Tj;ykwFo^=h~pkuFu-EI#H22S2AnpB(r}PB{a!uarbqgw>P7LA8o-;yJpkTfOJQdhjbAjc}MA z6t4@%m4==5Zw(169H5)pRhLxf(hMWOs#$m1gH(=xt#(WQ4uqhDxtQ-$HTfs092y$p z&4hM}n_FM2Pf-TI-e(IJ{E*%e$Ztd}PMc+Y?y1shDTJZ=mI@ShCaJx-(uyNba7fCe#N|6>1H8d>#2J zvl|Y6w|hMOH}%S=GPiZ_K=h52L;4N?sdyXgn-bTS%gl<15sUXyvCQ7)jD2Zz%4*Ji zZx}8er$T!y3&(NSERAgOOkkjR8#6Fh!KUnV)$6%tbW~gBJAo}MI~`y&qhNGDnR;j* z%vwYhVsiIJ*ra+u_#7^#;9{m@3f-VB>zXy25IAxmgp~6#L-{sE5o^a9TD=TONE{;z_0E(|C;>Gni*lu#wo7;^^Gj7Ov{HY z*m=+uJ^#oLNUM-sVckAI;hX=18%+Q35$QAzzVR?MZW^=dVAVkXW?jB}qMDDWRN`7( z8#>pUCUtjauN_ZN2(ZuAq%s`U?F%+nYRns3ky0s({Y1%5S(R4zzg>q8#Gb?V{G6$WJFv?-H~8~1d`mQUCFSj@MaS4~mT-1OgO{M?mr3d@B1e|k9?*L| z-p#IEHKePd2~`Qet*S$=syv+#eHkMTZJzc~w3gQ5Wr~2cdM1PWVsb2+WTF-%ABU2yc1yv?KVruDf|WCyMhl+_4UsiQ~C7a+o`ZzldpT#p6kbACa-*Ya;FsIsQcU|~KYvW4O2ibYKsNH#=!@IiM8 zE`Xj=1MgCzTaF{UW(lgHV59oCC0un<>mj|eJf8w-F`rO8@nsw?9CN{&$p}Aj!JF;G zejCEr@h?Sty(6~bASt$bG#sbrp5H_=lyN{oq?AkX*c+}1lNa|4P!xxCId<_SCpm)$ zRx@F~5(6=c+p@tj_CmdWl8RHu?o@8G5sOQTxmps=6&wmL1f4_QO*kbfA+9in4P|DJ zR7-dW-0Sn{`HbW%q#~bZF?0ym=k=^l0|+t&BE5PLPngK8PHu!P5Js+r1#sGuia(TI z%;w9V+36WOFO$t8&pce5ZymY>HwEvLqUVsTOu0`nbP+dROAS|0B>K>-1{vPdt!gf> zn^U~OhaMI4=KlU-xIhn5GhTA3+#l=H{}~4z3m)JMRS#pIC)%8+oo7Z&S&yG{?ziImu8N`SQwF~=edBo4H99fvbjGAN@BALtiz4_xtgwm{q$RYzI#;~_s;wS85Z&feJUOI1!Qqafnj{5H zS~;b@Y7z*q&p2`&SL(ST7yN`qkrYnm85>{2>N$TQ#Rbsf84=zjLa`MfMB#{3TlrWh zQ`AG8vb$b9e5%;c$GAc%H-(#tq_FP;w!?%P54JhUgCyroYAoT;(bguUuMbyGoDWh_ z&Un9e3O15Bj##WN8Qc-^AgvOa3QS$s>b?Ldc}4d}FMwp1FLuQjK+5(mwC4gKnd4>Z z5Xy5bVqzC*>VeN+h(Mci|Jbj-jhBL70jZ)izv&<%hryM2$FEWN+-li#=Iqv2$|K1l zZo&HU^XyYeW!A|=o`+Q}Zaj|A-h+#dLhx&=qNlUy79Y}xGOQ27_Y>hSkthbhW_#YsZbi$7UM!oA#^pOl z6CM+!Zj?OI$L1y)eZEmY!b&Ra`b0Tq?~yMWWLxp0C(`q; zBdmL`2?m>%aZnUD@p46Z6hBLH#uxO1&UlOi!R9vV;=+(%ieD`A&BrNd~JQ+c*;!@BXm=Ofg&1z~-j?S{^?`vx56# zFyJr}Gv+5CO0t|nF;qa^SH7BA?qS?n8iz9VaC*J_T0;ZHxl;h2uq5R(1Gr)vSr%Dg zRRstY$9)m|j3BZdui2-fcbMJ}pNVE1ZQk{3TPJ#0+Q1mfu|e@P)HAnG;6ZT0#@l?8 zLicd5d^)Pv0g+mm@pR9+2S|X=M}c6Tx(s($hWP2SAv!F+Zt<6-GMiydr?bNO1%o0K zM+P)zZVzXr6NV&=<2XQ%1aVtqHiw5Q_PY_6P8Na)0zMgrk1+W6Z%V2?^bsc`nV&v# z$k8_#m!I)5)t8;>43q-N`^}~qRc?759;RZt>GxUh*T1k|hO8J&t_KPr(YOvWgIf98 z7BY{rv$ZXB6kcR6_cHTrPmvcFi6_Mj47G#8!q}eYiwLQqh)8|;yzRwaSYsQ+4 zN*`|BB9l~aK=ff!omE0jU+yo$ZFSo@iHM9j@z=+LB2+~*(>I;)WF4e<3V_ik0kK_I6X%qH*fo5h;f@1+0&Js$)GP5nJA&V{3^t=b> zHBE%lM<1xMCB+Uu2Azd@;;}c|q3M1|qY;D4Sprf~EkajG%A&FJ(wSvGd{}WB$D5UR z(NqbCzlDJ9iR}q>26b3LX(JT+hAx2n=7nnB0IxzxBb58%8t-d?iy1roYLwrh?UuPT?Bx%oQ1nrig`k32 z=G}XhCt5N}K>(+f<8jJ30XSAMy=ZtW7&Syim=m_4hMD$qm&!`yA+d3UuY==$0- zvkO4Yrw!^2eF@zYc&hR=Ehp~2cl1|Xh!DxLkfTo6Q8ecly8px8TYy!yZHwazK@cSb z>Dnj_(v83dloIJ~5tNp0a3csP9Rkwb0@B@5BAo()bV)aC_Wo_qbB^ceeeb^e?u-BX z-|u5F*Pb?7eIbG-^+# z#SC=u(*7OX4EoO2G)d`4-1Lrzli0Hv4T(&Z1yBO&^B3{MK=}}z_1W6FnK<#{eIyD4_A?uAXo%it zrlGu#n^3|W%~kAd=ch9UQ_?$~;}ULISdwLcqgH7>=v697Uj?<7a*x8Kal8=-R%adC z1D-L^j99x4QchY@`|3`fGquW;eUxa!ALvD;93M8e1%U21%qCr(G8=uj8f%nC)=!VZ zW3xk+gM!=*JUT*5Va89ajvFW0RRy(8DyBHfN^Dgggi*1rc}ekc+b%WL->R?lIyl*3 z$W-D*qc#vlyXLc4vCoP*HRYT*s`YAChXQfDCvqS}4R@YXlwH}MNtU}!z_b3$2GiD`8F+-57H zW0dHoo_7==;-_CsurZ|*me3E@VP8u!)QLTEYpcL%H?+%6)ov5PB)+pHU<*8f$^woj z)X}ypJOlcun$V(Jw&P;HrKvKry3%XrR^*jWY)E`Cmh8wdj3S1H|G8#?|K7vEi_^-? z)rSV}-w)vcZ(bGbfCIIRtml`0cYM2b{VEXsG2pcMA~oRR@^HLwSCor+((F>fwlbNH zE%eZ*ZcQdJA1v)~P5-&*IxlGV6nq8+&qJPDeY>OlrpUGO^GGF^FgW1+ERrx9bSODbe{rF?4% zN4(m2u!R3p(x^3bd6%lk3A-otTja%6@S(}*f*sXQiPFvqPWy9$`xpW>uz)AohC4C<7Cf2jpzr;g&Q9^(Xy5f$YtR5`z7Y0(FGw@sD&rA>b#&qoaenRU3w z=g2CaGwJ6tkSV+iT2%Bdi2rtFJRTD3c|8<})Svl@VD{jli5N|S)locxocC3cKcWFXFBbdw zq8QOd6jwXwP#h5KL|`U?h@aa{XKz0nhWbb-fj9gCn7rD&ozts!~nJc&qf6xc#XYa8yn) zRFX#g?*m%&sj&~)=cEZO{E1v~Vtw!2k^6@F-2Al=2+6|%T|@*#OMb^=#UvT!Fyp^;5D)hx`0FBkAhs3* zPu2V*PcVF7-}N{3O1>?nDuLN@zA9qly-#l+#whrjbMOvIoxcesR?Prz6_H?IxrY!v za#m`#>8SE&t+y2lrMUBXR2a5*0{2nl9moY`5A19RW8y6*Ig=i^o+?}(e=ua*jd$l> zK~7zH!3KxN<;OaD`7L7hYaI&cUc!#$P&fcA<*bX4s;HW>GT(fn`S>1V%@_gTBY4Sf z)j4%)XJ7>*YT#{donxrA$)#?5pT`BCK2OP-Q3s+t#tCgaj`MYG=}NV4}+XGm*d}y#*u*L^gxhA@P%6m4?`B|Px18fPe?{%Nv~WYR$+b9 zM7T*-wBEkoD)vr$vXSoHGCHv9r4lO1g_Lwa-%vZ9b)@)PXlHNmE_R#H#-GQdeigmo z*@Wsges`%;n5NivN6Kq-YbmNp1vJsWlv2^s%OJ=xVM)D=bzgv2)c~P0Pk+j45K8|&Wc);VsoN9HeM`73QaH8WEGp`1 zO8A1&qfhe|#6(~1LfEI_Ciuzywf|B(t6e^H^#_lnYgi(BXFyUh8RFz;E?%!7*-0P)eK4fmvv z`!1zVKCr66vi5Q|S<*@>++J~rVR`4!WiruNvTh7^*Hk)-67S636kAHB8}Ve0qp#CG zhyDEP92MoelVN_X&HKU@;l%5&kPfjEIH#%d&Dl|m$buVufQPuEjILhd)-dWs4c6Hx zG?UMUGohi9QycsRv&yIKh!JoUc{bz-8Um|=1KTP{K4&F)aG-a+{S0cgopx%h4hNDZ zLQapS=QK+dP@@le3gG~_0(7|D&=#_upbvvQ1#iwlf}Zq?kmyecG(cgKkm)u!Kmsmz zfE=G8hT4W87lme;MF^hu&0&1VhmFx!!8Eo$;qcgB6*7q7eNjC=z|UMucG8Cpd7P zY^;R!8Y%04L$gRQ)|dhhJ{15Rn@mmZC&_}{J+SwZG39>%2>KCNcd92>!w&$t{shdN z#~&E@5n%tHL}Z*ES>{JNC4Z!`#3UJ$^#`ywM;rn{d*2x{3+3I3l)>L;)gC2x&F z%D+eG|M;1(GNb;-u#!Vyh5bvcC{q9Du=*2NZ_N=lgy4a{HwQ0IE;#VN0ImMFYoxs= zmhGZ&fSGi9s$?Z?GbtHXij?!;(pb$7lAPX7b%-`3D5C1twn5SKGOJFOOXZIaYY^Ol zeC$JgJw1*|N-89_TI7i+ku=TqsyIiajSja3+7;YWcc9k+Qh9l z_xd?{y&!4yqel&Ks>TTq{m5I`$2O0Bf0>0ccom&FlUN!r4?F)MZNyvc zHs<_&@^{b6WZHlD=z&d4|^b7`Y(k@@d7!e9_bNB&{wI+T@$3m&`DjB|o4x)v_Ks!GZnkOXRL2 zoLF&BzUm4Ok{MM@F?mmqPCiN>VP0QPl9O>B;pPq7O2*c|KTtIgZeQxpyE8JN;xK1( zM}j?mTWNY_@pwJ%S#L>C@m`PP!7955k)5`v(`;P@Adr#mkrjCx)G$arHPggCpJg~(EmB}19~@XySJY^csq|BJThsP>#WTny&RJv9 z*tD+A^-sG2V)?t$lZqHUIv`*4KNK0l0c}vt)iHIAja!jNs-Gi7h{osN#T~VfMlwoU z)_5LEUPjx;&zl(wvrvuh?m?ZQwML&`r%1XVyJElAK27}|#E?2y+@SZ_Y~IPyrmZM1 zkiK!QVnHdQ?o+I91wTU4j*&h?M$sXAH+1SU>#|p3@ota{#o`44uRAU!HdWv7*7azu zjaZ4$V*Rkww#;jdWbiz(w2N8DaDZy?X|wRy3;Bvr=caaGn1skCzsF~$Ca!sADYUjV zIue@>@Seo*ch@5rOfORRXj>oR9p~j)U$Bc`8m-9CeK){zLpoY&=#2~o3EwAax-PI2 z6&cRaFn7r|hZY<#rXGPQ=z4wGn6Ai@i)nZ7yR7JDo_%CCGN)1Le9sU2UFc&*sfk9q z#df|{<2;RVvvOQhf(WhK;m1mxdA9^AEO?ctxf>i(r1A5^O)XMoP$v_OCm%jLSg%`U zuwS=Rs41zbGojKpz3XCHIq$?zRamhmf^PFPwx@w6azkrsfaVsP6vpP{Tz31KDpmq& z!fe2mb=!B<_dmP{$0`33me?N5^ypNsURTt?k|qr|a%VnR%(2=#)V8iwE#Us}lM&`J z^Oak)G!E=-+E?FR(XAqjPc%W!`ER(x2kG326b;v4PNpY`DLrij7g9ihdwGAyWV&rz zFKl^D)uBtKX4&wRcoJ{nH4kT^Z$-wvC?0=tjJIr}n;MUL6-y~}13Rfb!XHX2u7rtP zpF}O|8^2RNIm?k1AD`$wRWOk!X^AU+7{!gbKcO1cJZq{nr}$b*VF5?tI;c>qzRi>E zF&xl9%za3{2+G3&P#7E-1;ZF?K0!vnr)`y>8<6&S$bK&z@K454`s?aQ>}U10GfaVR z0U+=TD@GK=oS1T%!Q>~p?+gq$W&E67h`|*5{?G0(8PM))i4Od{JQMru=mfMPmzh*A z?02Gooc-5g*mq^5TuIJXwtm_lzwW?Q>Yei|6vUZtuKtWMkbXf5J(9^^fqWZ>R!vTq zmcjXd=0dg5HLEa(nv|Ur4_Uj&ev_o_O+?>n0S97|F(>rtdUb0`di670w#i0ajJum* z;187?F6WnB{;||_pTXJ$NY6<1#P!#rzXWDvXNafYy)v#%HpkySkR&5zf@G4OieQYq z>vyiDbCm*$(n+wofBe>5F7Gx0@7Pk7rN#~=$&s8Yi*(b&^oIfav=xLR-hkjv)B#n* zUQ_Z_kVR5Igi3OJ5w;4GCS5t>#7qH;Zfd0^&Re%v*(s@KqwOq)cYMN{`f-y6*57$fd@kkDeGQt2+PO* zdd=#1ofm;qbI2dBo}92zUIf7ZV5X<__EXb*e~W~R%>O>6|H}5?lg$oRZFTw;;sY8Z znBEDF^NRR##kA z9pMgFi_1l~6Z}I5qUy3IMWxVeS`7!B5gC#mcd$)rP&QjZyOFr;eb}E zB@0WvMZ-7Y^C_f7U_R_r^Cl2T+s(twXzks6OtguZxxHmX9i(b{U+jh}0geQW6NSr~ zo#S9&DmYL8fvP%w&|Z{0{m?4C-fBZZb3UO&OktDY0KN!W*fT1%SgZ zHdC$$T-6foQ|kMx1E)()8R?rp+dyA&RT`jpUHa1mR|)HNsdomz{8tEEXWM(=frRfX z5@+(RT=Cdb@UAIdvf{v6~pR!$#K4I8=!U@=O{^e6Q`=U0#VnQq`h$j|e)Eyx;f%^w*&^142Y~Ok^-Or{K zw6o?f#}^8Kw#6i%lH3=2WnG&m5p!$s$V`YoKZSv&@?)#S&i$ol8&$nR9@PqH##~zy z?*}IZ+DU9b&eJ1jN()}?c{gfrsU#5~Tjw>?XY|$<6|93bwZF(So*4uAB1?1>OI(;9 zCH8KjJ$zU2_J=AR&lVHn&ufWgSjmT`v*ee)ngpaHJKn-Y3oLy(_u42Vxm|FHI2l{F zVaS53<5_?9q@)!{cHo_8VoSW;x=w99%`Q|XUBlF_RVd-B6RN}mo(JY(zQk?VdSBG^ zKQWgTz9h6+eHkH{Io`%RXHAS0x{!nxxP+W!C92A@mk*XZib$6>BoU+Yor&cFC?AXQ zUIwvfSWE3CV~dUyEWYdCw94P2_8Qm3OLS4a4OZ0Y^>mj7zbZ8p+PbuZ&T}7_2yL+~ z7rMe-Gi!BBun#`jMKme#GMAp`38;snL%!nWB?gz%+utQzCkm;enujhUTg|ct6hJv2 zKdpW;T{g)Hig9|xMHVh(E5TInZ?7$0nGlKE_*J^uQ&J~!cvkop9C)?h_e$`=WYeV# zpR5#(d5JK;)9ye}bM-Vq;e>X}3Eq5w%%}E5G)bJ~hkoR54wA73+V%P!_#cosd?m!C zUoZ^QfB_^WknAzj(6cnf%HS#CxQvJ1LVkQpt?FwVDn?**jd(xjYq_wK9!s|LV4()V-}qP68LsfTFiU^lFAo}+~b?-eUOtzA#I(Z@xhjg*n)&xcf>7r-p?)Szs9|? zkD6~Xsx)nKpk6`5A#a5jEJ;@E3(hHID=Qi<-Mn%XK6TLj)>4cAahXqo{-bL04_6}^ zg)3WK!M+XiI)mV~0qiq^QlyH1&}$vCB-DKZGHMTVFn&LZ#cDrs!*N7GN3h-^tT=`A zhAs5t72>Ci?+|@KoYl!jQcpx{{?qEr;8DkJr|T{iVnxRp4NmQy(`bp2^%T4bbr34X zo_>ptQW=*r^9la4(?~BQoL8`ZBIa7$Pc+sx!JqGpXnpPi`D$yDbT`$BEf{bzpyA?! zZt6}J3VEF6uBRuGmJe|YNvaG+jr3l>Ew(txLc}nc`@)zx{tK2Q^=t_V7+X4p$M15b zuEayx+Gv7Vf(W}!Qq5vlGK@qB$=66Jx(}O!6_#=u&9bx&`SPZ8#0T@I9;WpcZeCAG zUv?1B2Mb{DwlPI-e?jPMOq%3qW0~!suVfF^!&axR58SRNX_>98?SFgM*vd9K(eT(G z4$uNiNGjyXNR1S=qp^o~qT2fsjohGhT{Q)hyDNi*$57Mvxn3WwfhD1a-s4R@q*=s3 zx8lm`rQW6{{Af*Wc6@${n5<(*YMH29j?IYzz#mxUVLR$=9~B@d*4*p9HO?>mfhf0& zYtqjn9T(3yq`m4g#(u_Qn<^>FJ*rUWUNZ^jKF_a&P7gvk_m+}&_X=q%1}V2BgZH{Q z#Xb|n<+ocGYi-crYCG(ryhP{g;F}A^GAq%)|zAVcY6iU@IR~O7E6>o+EE=4=6!*8A+ zji^6&mjMR|@?%xl;fhih-g?s)4oEOfujq^hP=N8A1H`u?t8gc7oMkyn-b@KO(>i?x z3h5XXnn}=`6FCAq8ai3nL)YGoG|bSA!a&Q1ggm31Y*DmB>yJLF<2J{r zlR8rtwLEm_CBj2m$LS(VvwuKjOssUJ$0P6cR>iA0y^0~antPs_)7?+fc~Qgz*?SAz z)Ng#5`9ipjXX|V-X{z3J?d`aGZvSy!@Y|3|+&YPt_%kNXCOynPsD#5rf-6tWy%Cmh z`k1j>WL_UHh3)bZ3%3w0QBrJ92-jg3>TeZrwhPnLZ?z?u+GL56zdv*e8)v-VszQwX zaNf3aSM^bpYcmhsIrbxjSE)WY?BH_pA+>YK&rkrTp;v=ZSVFi>BE~l$R|> zk-nlJMVO@4HVDr-uT|@#jWfrbILW>0k!4)BnBhJaVe3n*)H&^XS;*XJ+m~ia$w6XU z@z{0;=Dyl47caygcZU$8e?QKNq!F&b$+C+MF)qEB5x1e6Wuk(pGO# zYYDnvSu_MiPc+MXwT#itW2c#CIK$7S+b%sat#0z(TXBbWSGZ5Y$-9Q=^8`6q05~xT#X@h| zg9F&R$AfD3Y@3L9T6~+9J>Wp^!bmOYdt0;EO`lrwv%Dp(smWEf?T=&ZAM$rotgm!D z<-lU>4Z6+MfcD80M&6fFSynz=AU}bbd6+QkBl=h;{L@1h;lxP=v`Xr*&Kg7CiI#`n z-qQ_cHby!d57{_-$y|5L7rWZ}_woYBjF`fY&yPP1@vUBDXZ&~pN^_WrK*hF$dxAR(gTKM z30Yn&q2N<`2iK|_BKn&k;Xw)ct1PjJTH|XxefK=W#iT1a=I3`VyLSJFmx^d;m}vlf zVlL<)Ccrg(r*PkJO|3K6Nq@C{#FPKCzLK}}yC~QkjUgHRsx%+)>`~Rr(gZs-QKvlp zZqtTE4d!Peo_iS9(qOH!InLtdk%cycidrwthDkKE-Hx|#fYekVv+VIxu5zs0k6J=a zPEXqg!$lff0ZAL${Fx}3fB@h6!LG}8loS@)?~tFuZpN-%Lq&SMftIq~dw+q|FivJm zC2Bm~OZo*SG5_b?dNGVsTrlI*U|JM8$2f8Q$z76)(469>PHaL)(uOt5oGPeUh zS%L$t>gI5OnHHg)DxfiouRG)1gppO?nxxeuj6K4-`ITGNN^N(cIOfSc zDKW`XTS?6Lq)pI=IyB^bX24c!+P8qUjL4yzWNXX}=VrjiF>>m_`1Qv^QePpBk9?xN zH*e^bZqsIEmkkeH61Q1+p;S<#s)E|=(;}E(dj`Hn-I&Z3_vJnm5*hKXp5t70JYt^`VjSzMzDlL7Hi- zc%yu|@3MUU^suSRvg7n4dYjuwaK+4orMawsn>q+N?D-L7Uw2kk zZ>V|>mCYrcFxNzRg<}1dv8RrBOU~wOiV;>elNaz=g4s@@mWOaVQHcXas=1=<2sIYyez}QnOH}s_i54-5%Z0NdorPw1M z_$b0Uxcf|_AfLt^%9Cm!pJt>g42j25?1F9LRagJ<4Vg5Uuw}zqHAG-|WN%$!b+t=j zU>qdSKe?V{t+so^N)=^`iKef5yQzcn1V>$>FgN?EdsMq!d{W1-n3@w_WRKx{J)&)b zESiD})(D#6v^&PJ}fPiJ;%c z@+fI_0FR$!DZE2ouYsDtMu$$;z2N`_93YYXJV_9H!<>ZdupX~=YyWM{Le%j3h;--a z$I8nuQGz}4nAEoFQ#`g#VK{t7ub$So;@2NgOIEX0@i+0^k;4LCZ8$5;fdh`%o#&h2 zLCVEV2z>_1GrQl9|TT%wx`Csml4#=)IAk)1>+wn zX((+qGjC80AE0$zj~Vwqr;A*zh(_?J~8+4-|EOm z3HMmfK>O%7m~THlL6UX&@Wg!#W{;__Oipl)xhKCR+RXk!^^q_3^+}pZ*Uc!cdmqYY z^J~9&5@Jo$qJP28$1zR9v)J43%YSOW^yD> z5D3BN!-wbIOWQm-_j|9I#l~x)$k@_F$kchQ&T7KcA`Ma4kyL`-CngB3)f6b7>MQ?T zkpGlgfbf0SP{h2qUb%FtP~b?KIjx7I`!Hh8FDG-y@>!P}dly!bhmAFgQPSrJDI%61 z*cy#9CF`^z6ze1B!lm+KQu)P1Y2>q)g86bFW&83Q-&hGebQjuEg#$in8*`dfGBs7T zl}h&}#U`3PCDKFLT$ac%uw*s1Hoc~Lo0N`Zv`rRn5PQForbO3_k-D8cZ|&-k4?%on z{%dG3As83Ld^PFwcR2zUQU`_UKdr2#Xicv4;?hNu@4iB5W@AHtU^#^*XQNA-pMI2d z%F@XtE9Ft$8J180>}*)G-HSsNG3@Oc%+fQ{U-wWxeFvF4x8$hLIU8eN*+rmhH!?-O zEmtxt3)bJ3E~${cEoI=_S5v|jP#W#nhL((9_2u)W!$WX>pWE=cke|MDg%Ha3e0x1dSp?^3v<0;F zdO670V(s!gRs}%`gh1A00XLfW%5B%~(JI`v z77^Aq4hz0B+jq&)uRmG2&?2XX zuo);EZZK&HUD|hdVfDY(eqcNp^^sOSW)YotiKuPTW>k3iTe~@@IqlT&Ts)5skNQxQ zj-Ks9ov>dG&k^)%aOXToVylX9=4<1b3$8jSaQ*vQ&xMpe&s#N2Z8}D@N;KwVsBmqC z{`IC=(ib%$x;tG`F=~^l74g?E%}mTU2_o&MGIP!bB_>wm=l8^K-*Qo$<_mp5g$%rI z`~1az2_Hf2g(&Tuo7w39hAHZ^su@dpWj~QuENZ4)dCM$WQINl9hUdxG)-jUHx)Yv@t4Bado49XeXDRzEH6XZ*p$AHF??hNUp|DsOpLu8zja!Ml#) z`xX_o5lH=#Z`iWk4)OCqew*s;;m*mmkSCV>7R^S-iN-Mv=ggTF9%lU&JJGKpOSo08Ne1-bZ9Eh(T8ek|n3Xa8{TLam0qYopScg9l;78~V)*j|4tK&)EQ&S?8hti2|fzF{`T6ll` zv)IAmRSI4dj>H!vbAwXb1fhaKxEl4y3md zC0~t7yYj_;YG^Io5e1?1bM9yOXyWe(lu!%_NZ+QSWb(oievO1zlrB#F(y|4xQD@A- z{rG{H$A@1q*lda(i9Q2S2g-LNX!%z5lE@2dXspy|yhon6{yK{Oz7 zV`LFCaMQodn8eg5FMhmA1P0%0QL;m*Fc+{cYEi=SO7IuqL+CDlgP3o|A5djfr}Ge4 z{fQ`Df>(&fbO<@EAeo19`9~o;((aL2m{ETF|*kTT>(Gk>awCPqZAguEw*}N^%+)m07H8d6AXJ zBk}iQs{T?MSdwC*FcqX#aF+Z?^iBbl?DplJx*1{zDe3^Z+8`rImn$Z-;llYn5&~qQ zHi`QK8V~wSuj@=twlm-`by_#vwrZq#zKn#BQy;*zUqj(2simZqdTW)ZkW6E$i!qe< zdYa&NxHGgwyA*JH_N)|xWGC+$Lb+cX_sxy9+|RG&;SHZi?ZlcZbG5}z!S6e=(-|({ zmg&V>TOpjV7^cQ;N(h&j3r44A+w9$$M=njx9iP(D^D~!LQY3vdnT9&PHY_KAvoexO zk{R1C&sX&_BafqJViYG5cxRXtO};ze$=a_my%oAlyL#s)#A@jSUiz~~8xLEUo+sLk zIb}htmLX4JA5R?`#-C3txCAr^$Jxc7IwWJdG6~PA4l+|nZ4{)unhm_ax{<5KVN>bl zOgtyV*-D#~XBu1jM3-fiDN+g9MK0gV!`e9+lZ1aSS0Hjv>q(MLc5ir8zu;RmrR%sN z1(!NuH`jRB%^gP_)dB?2AC;K|1OW8^XtB2MpdgckF zZ#|U!m_-^bq+0DgSZ=yL%Y4}iQlbSL(^;~5{aCm0#8Akix(~G*ztg#<)p3eou(gY5 zJ|RY|c>^a#8tEljL;OjSG#iE}@o80OGS=LhxUH6N zu2r;rRiA^oREk?hump|n6Y@Fbh+U9qZ{5?+X5+fAL+}@d*lHDz3kp^<6cSQi(s{}w z3rU|}J!HIcQV^3T@nn$YQI$BK;SE&eu`lsARurb!##y2nn{xD;tf=P9WNxK2ZF;%7 z?ZJ{shE!$T)|jejd`FxYoE?v!6S3>IFiN3OQH3RziDBa`6Y@eHdMlKN&++Yyh~Jh^ z2Ii9tI+8JS|6a!@{Hgu`e_AYkGIH$y?pHZe{{7SlE+B@>H!8Fb8J(+HR&Wp#kT9dA z&EQ5)zVarvVEB#-rpR?}>w22S9YHwIdv2B&RY3YaY5SB24rCg`fhWmW%3bmsAs<4R z!PQ_!4?N)WtFwOTh4w*{_CDq1WYn+ci4hlBlEeYdKj-becrllxP+uVT5DJo!eVVrq z^Yy&(t6YMmuw`h@o&xf>^Rz$wK7YyH89Ytf$?6xuxOhqX4WI$if0{Xm-dZ;n|;Nu_oZteu2A*m<}|jG%NUbA%F{NFZHsxzbu=pz{UASK=nXSq zRTnO4FbL&KJ5f{=6r|hE3sc5Mhnmf5SQQ5~;&f5J)sm(OqJCny@j+H^xAbsUn@dE1 zC?>LGL#MKRMx}aNT)#L(?CiBGp>T^aE7bL4IzmH#j8k-ocH7e}3M3bk&mAB2kzn=) zF%>1pm$0?oLNnum{JTzEjD|CFbhNz0%8BR)d~?=KdtCY4BQvHf6%0gu4vL$N``=ht z>i&kM&63n8eH)$Z#&S@Poww(hpeHX$cE|Dp`TgRAbR6%bl=g*@0uFhxG^XXd3t5Mf z3zAVupFxqr{;9qf>{Yyoluz{}zBmy5!_OZx1I8CGltJu>NF^n#*TD2&q~)7c%rWMCZE<-z9knP20&~z`iSj`EN2GhwkT8qlx}| zRG%Mw|J&{U;w6>uFzK~Dd3_o4wtY0r1F&WAoqcO5enJ2rc1JQCVnRsH$zWBTLlv> zu~uVWp~n(5aTp$A2cS8v=y8Yolm(YLVdV|b7mwV7%YeaA8caN28CJUl2l_4b>}Jkx zv^nYF6`NzaFwcg660EHMSfxtkv&&fnL*Xw}8NS_6S~`(`=UIy#a%&CoMBV)*GGpTX z0*dx#J=Vdmse|i+G7C*tuk*1#CFrMCu9(Lb`^eN3|#8RQ`EMH_K)*bfsGxMT~EswG+-%UZV6=!t4CdMc( zX3xNVww@2{)5)mWM**^Z7PZWVS!)&87>=1lDK$Y-CJQ3?I)>JI@$+A<0!uJD69J(H zzwm>BsXL~riQK3(=ylS>cPqU3CXrVB_gA;D3A7~bvP8{!>K$r2jeVFYL%NV`r#T}7 zq3>Bq-yCvp?jg?_Gnvg-#z{S_ZA_p2{hpx0Yf_s9dNXM}Ikdz*HdRSWa-bb|1CQMW8_P!Q8U^b5;6R@<91t$+9*;jV zZW~)UnAki6)bGPEhnczWbaf+ZdI(R!wo8wcn1Q0 zD%n|)P(^Mt=)h7p)3Dxft--gxf5A#BqI;s|Oqq%U#bRT)?s zf>HC1J&o;I#AK%Se~i><#g&8c0{TIe66VtFKqBu`_-MGTu5g<4v?GmOv>eRB7g@ip zO58~mc%p!&>RcYKC4+x3UDAkZVy?=9<1))Z!s+WbUu+^h!5t_!}>x{=5p47P(l4l z*7{B#kxEa|xt-FLxwE$lXm@7aWcs(p`_}qGDjE%fVh&2^cg4(b0NVK)JWM;(P*=J+*vI;#i5XA>nyhM*w8HfqGNTK#DZ)Lt{30o_*?Tu2bc+B^TzfHjm2um|EglOtE2m4?`VZ65B{@lExfr z{}m;kg`U?EVPBQCX_h7$G zz!SdD!^wZSMe7w6YLEBx7Hz`n5L=G2jrINaS!51R8t+Ip&16WzfOP4aL6R0giA3qekXFhq!CSv1r?-w=zng31=72>&d=T+?NlbFWK!PWv; zjfgMNQYJ2rZ%R{SN|TDvu--KPc1(u9U8}Z&y(15Qbwia%QUN(+kOhqhWeEU8a_KUd zAEeppDBqU1q$Z-n%0JY_QkgqB9Jdx(Wvr7&StQF559c}UI3Bm@5WFsmR!Ox(o4`eX zW1V2WlzHti6b?8PP4{gP**Bq}E164s%;#{Y*YA|!*~3cJe4qbe7_2mam}vfFWc+>S z+u_?X($8F!awXBa+t>Hg&iTdOd`?FC`HInBH@a`GGMHj3{%RL~nZXn>vHEE@{oBrW z);A+%6QrRZ>cao=6i|UPuk@|D*9u_V_yBcd2%Tdy#Hbo95>3J9#{`K zKh1=_q9}`@j#J8++DRJ7Q8{^Kk8&SsrbUl@t6ijTuT!=y!O+U;CX6pt)xy;XD{;6` z98_2a;2E930j+Ztl*1K)3UP9Lzc`?N%3L^JKe0fUsNBV|PI_Q`$H}41rOih9i()K2 zlF3181o+Gq&|+XPL1HjT^+fK~y01l##KZ^(MEkj=@0~;j)qV61+G%?`MqVt+caU#J ze~F0FYn;YwiaVH#NJRu++0o*X9m&u0P*2Nsv%Kw~=`xFHFpB52s%wSxm5Auw7`_T~JLBMD~6(&7^A6a`*@H-`gYUhv@<9GEphrtn9EFCLA; zo;`(ZBF3Hf{czw)YatXm2?wSTjrmnFhAWdH3@1SU__zuV)c*^Gf1&U%6#jE4w58`K z{g_Pmm(n?y79flt3YcznSNsUx@Bw$RJE!FzNSpe#s7?P+0eW`OQ(oWohTi~)O_7%W zK`@ftQ@*-UU|SCJlS4?t8T5!z zipbb{*P7<~4#_d)Z%b1@nH_t`!kcx-*(RAAF*umAM4BS3OC0N7&5?nps73OB++xjl zwk8gIbacLQff)<@=qT>{!=Hq=7EMC_n)xwqw}Xofd44s2^KrQG<&fm|<29YL{v)6C zyJwj@6RR&@5HmmW2|HLyV)mok2KhJ$z#=l%qRcZ_tt#w%eIm=HidjF?yKazIa(7IH z5Fg2n$llXy&-*d2*=4GpCxYmpRnH}YOXKSl{3111eYm%$Hpfh=d{^dsFKDBy;8Mb5M%|4d4m(?P?k8V;rcS!~F zOGuqy*!9@NPF4?m{rF;DB;N@&{r=H}l(%TFdRlL}%BBZbNjLlW*ZU3FmC z2NOv59t18>_9~))Z^4}BoszL~5B2)FK8e?-xS`-uI7+SN_sXI73YQVo{qe z4aYJ$h0}sKw$i=#dbPehOp>gst&eV*0(oe3a~_X!zE&}YQHC%WmbzkHR_u#a+#1xb z2(=(s+@X1}vD2tujlPQNoQy3ySZ0zwz%|i*-()W8fWD~8Ya?ukXSj1dA|5Grpt7c{ z^vcr=sTaXivR?`9D#VFb<+HSQ)|Fu*^%#6>PKL+F4i$6IEA~2YpigfU4m?40sXl;X zbj5*y1=w_mE_mwpocmiGyOoIP@i@aA4Ko{;6Z`E+$~pT7L`IH$J=hh;6xwfP?VRSS z`uEcEXnaZ^5jow;C3Z2sc|@HkRJ4~D%N$jZ$fA3noM=TYqH%jN+xbIDuwr@6m!;s> zNUQe$z=8GKknMeh7OER@JiJMK6t0i4!eD25y|S(bF)rRcW^Z2Mvd~@i?P+gAKkaRr)`GMwVtiHtqCiUv zvM&OlSq1q!Rm*p_*K+S-HqKM{)}GF$he>|H)c7bNScVLq;-Dv^_;Ls}FB(wN*vpez z>V5N00wm;gnHW}zl=csvUHZ>F$fgXY^hgZp%0XOxC{NP3Z)SG`_lB>jbR!g0b+fmh z?bNjLgaGRZNc(#@us__8U|oN1(=hh^;HmE9^!7IR%)x3&hwi^XYrUD@dF$0;q`}L_ z@n5i&>bhNXKxo$KS9x?6?A?Qnu`gsQwF_9R+^7@6V4B_Jw>@~T}kosrdCw+f%mBEzS z51yOagnfbooI2}2oSrp7e)QcG`+Y7GMnp&#)V%yRwbbSkTgx4dGeRLS3GjnAqu+-- zIDq5qijAWsdF{i&uE?wgUC3tJTtlVMT3qE;(yKBPSWBU~ul6mGa6SW#SdlxN$c;j4 zeJdWz$VnqmA>+5p@+o#G;;M!wCs|RV4_t$pNOqgY%TpekA9SmfXBo0bO|2U!@Dq*q zFQL{XmcIFFg4`S8y&rITim9wUTzhPhsTqcQJ#3vUti_n_w0)-_h>N+N4ub14{j5*x zSli8Sy2cTLVYr=tBF7o8fW|zFjiqB&q2`(x=WJnR5%4m7jG9#EVUF@hwT7CiFINJz z6JNv_ne^qV$X*U##>#*vKZL;9(p@n#KP-Mi1}}ix?((FHr|2A0lakv=PfS)*hUv(O zL&Ic6kRe*8BZ6hho9fHS*g_RsQB|2-<*pR(EbWhtTu>zNokDE7P;A`}I=HRmw;rub z5jSj&>k<aP z2%j{=xY!A=kn3^wjNTnO!3pUzu=hYyE*%1?jyTZORhmFE?#VM!KUjK!hO$)Wz?b^7 zO#L0tOg0^FIY66W_X|N z(k!iTIu9fPunYJiWT#YFrcY?@r(9edW+Y>CshNCmgIME6C8XGV@NDfh?9)&~74|%$ zPnSIC$v7K>(4L#PuF)6BpBgK{zJenzT#7{>8bITqCdhA7tHA3CGNnT`8>ODc`cOcezr(hrGyS51&Ptd5T2A%ki#hi2yp7?=vYckceFV7`EZ zGh!%qrdApbfQmv+os$b1s6upFA?1Ki@{EABL{jDYVKM1D#9l z;jT!NNg@IfJ*e_#zJ=|upeKX&;qGk-FU8w-S9!_kh1e@`6ctyD#3eJrFef{?J_X#O zMxsK?R&4C8S_o#lhHImmy)sybuc)RbF0QGGJ{1*F$ISlMYheEB?m{(BGm6I~<2W_K z7dax{Km&_IC1I?iqobFO+vH?#FN1!U>8j$QPI`%0pYX`>bJED@$j4trq1csz6r$O= z`!&?dr2aSJrptPrRQ;K>0eBMKhQCi_}r@sjo|1q5R?n?j0O4WC?uJl}388 zavk|N;HQbyg+Glf29BhellczH>jHRn^YcMm0h zyUl0;J#uww$%cb2M~|fc#wxuY^{%dwgHpC!Upt+rJlS?Qg9W!NuWDd-=A@*pzx4wP zBIIRjIrQXfdx_Jq>aK=SE=vwoZ^b&VDam>2aK>;UYx!fC^9ezjQ_fm!_v^R$mm``f z8PRU`Rp>!suaQQSMsLnqJ~_QxJIJC^IQFFSRA@v}p7X^+H^43_!(JzjWZHKM@ePzVk7!k~focbRr+H=$9P%$9B35 zQ6Cjawn#Ne4#ke?Uu#rxsZhV{r$map)xjMNf_iAffl(uv!)FCF-oLC0ronIm^cqa7 z+E3>YzY3yii^`G+kMcBzm<5?^tg^;dB0Lf{XhOPOvh;K=_gpFjl2SGs(X{_kOU9p< z9!HG5YbCQ+dp*+3`_r{DBX6~XBa>L}*;Mlr3eH4B-DYc;UWJdNRfa-~avV>PB1FiJ zwpvr*Ky+Nv=@IxSR{uzX*%=N{{}nG`R+O2cklE6_dn0$bZ^$4G3Hux%{j)H zW47^KF zHkS>ud3+>7&~JMBo$vD&BQ8SQPfpYydods_3fSuY-~;`^1zMFRK;Zuo;|H^@|K7)qYz1IF`9l1$dz<_cLGhn412D1M0e< z#V&6c5WU`L1*y4o#=Tr+G5&(bIc6^TbV^okJ1W*VuMv>EsX;{qhrM;p{LxM-Dc$y) zoUY@S7mExS{JDo_u&s~@&GDy!i^1p4C-W*0K;*qDUci+V1>yf?8WVnH_UEkwR3XrJ zAY@+>|M=9MmZ7_kqt|BN+H-SqviZ~nP78!on+z}Na7z1)&1?FrN4*X^o8{SpAvG^x ztyZNpxz8_dcs7SX*C2dsk_lgqL2{E^?_9T9f1#N7v`lU3BSZ`su%H0hP)3M431HI2 zkm7Y~x>sOAQ*7*5`+)Rb#LVJG&c%_%R|XkgrZF1K#E5~@{!2>N zho>AjsGsewoXw9aE&CE@1iC&xWqc$)uisk4`AT&x_0`HrOcO4`TPNb1J;edU)wW8W z^x2iInfDu`R9d|6C7rYNMl9XCz>jKZnZD;$@1PpjK(axH7*T|0TN>YjA>fqDwf;QY z(9PC%vRZyn*!gm_x`E%#WRboeDt*DYzBP0w6@DIDh!s=p{7M^f>0{>MNUZv}(1ynm zwSx^g{d4Xgt16Iou3`^A2`Q0yyE9cC zl4gBL+%vZ*1pC(B1L`p*$H$X&fZtnT8)9mnCc-lw1dZ1cMf6RKvb7}bE*TyQ_M38jKvS)W2*;B+}D<&9GzFaOY7IBl=W2cOry4n4bz#bU6%Nuo*XVvOVw+= z*wZ{YnI=BT+OqCJy?L8SJ(y~AfNFDKI2~`y*d4RDYwK7_AmHS)9i@gJRWSPl_y;JMQahffWmBGv} z&xn8`!@`9r!-BV~Rm^i08@uTxo($d=dhjfOrO8H4(X}t@Zz-zkU)}q;9a!2<{zGG& z>$5ooiZT2B&S-i}yq?JX{UlC@DmBLra`U&wU%4IAAV#lmj|W&7MmmMJ40Qoy8lJk$ z1#6+!{R_Op0iQ; zAZP;TV`+Xapwh*5tw9&7nSh=&Em;D-urLxDx>sG;B9$7WZ{wY7cl?+VPaPD8bs^jH zd^6m}EX$F*u&0TMrgihVV`XJ!WSgxmIYOH42VR;Fd`j%&7`Lu-7~4M+yCplU6xLEl zUh7Yd#BM4=mN-p`*zLjndi@nD;}zMUJX4mD;Ra|BSHfW;uA#6H@ZJ?Z%iKzMU_YFI zy(cZ#pO3sYcm3tGhbE_StE&Yi_lkBL1hY!U^3Hv*$&^Nf#E|?AJ+ZhOPVcXDAd(o7 zV8HcX*{J6l3q$s=qSDi2&b~wv{=k=@C`WbBdG0?+tNO1JdTLr~A`*L#Ec+W{1fO3v zF}4k}3SB#q&vPB!Kj8|~+8;ojlG{59gaJJ#r)4s0rl%kWOXKZjy4aAW5Bkt23CFP> zJU`E|7tHK+^S9WSK79a7ze9_LFRxySpV6XI{kh_mJuk=DoC#5M0wpXe^zDJWR<2YE z7+fVh<^ffKJ;?Q7fU7{+qn4J1lN5Y#BYeV7_D;x*9}IX=h4?{^!4;osDof$mI4jUu z#XrzI2fmcBJUaDP{2G0>C@tagD>UZW0F$amBFtk!b?HLOjpC&@4?&5~JCGxaGDk_g zY`AXbS-<^YgR;st5{QGjo$b(_6qK88PKm7&vd(E;xnS+HGmoZxpa77f? zhOZ0$|6P9?1ZLjut`$*$ny8)Db?)Cpeh)04P9pKrl+Iq#J6kUkJi}?m;l-k!GMTEE zvLs`c??X<kXNU);5rd-{{yvSP=6i{p2^` zbDyX!z^e`W;JscL09UGa%gaIQET5xzs^L1Z_Lndk6nIXir>AbkuTD!P81QGRdMDC1 z=jA_T{wecMnSaXsQ|5oD%vs3Sy{LpQrA?du)Gv~F0R{|z-YhanSO46Qs+`X^M+y7h z4{hjw*-^@9FUWua4%gs|P%a2<=$mim_Ile7E%>VSLMjR1)hdwcDnLKzMnHnJEYZI@ zbKWFbqHAI9JD;vqd-7*F`-(B)%M;gLp9zP|4NoA@s0;jF#etro=;g?l zA0O{*@lXQ0@&dH|y5-n9rDrY|2;6T*7~X1Pz|5Ks?7PtB+FiL|P`!9-3$A4pv7e|K zIMs~QF24!v=#CEE`jwXC%%|9rGVRW(kC>8ra(P?GFyOk7`%`3dTamDVjZBKDiKx4N zD|ULdhn^_l$8B=9*v=-lz#C3P8YnV!t;^@au|zX@zu9PKn`;Fgyrr%+eeskR|BJ#f zz4Mm700(v=pCV}dsM~SZ5St!EpYAlJ+G>wASXK{Moe^?w>Qy1?s25;jb1-<>8x4Lk zp=>;($NPaYu=~C!3vhv7O4>IX%h0s_n8D-Pp^hmNuFVjXPnMmWtI9W53EZR4Y6T$mZxr?txh@q8Ss z!^yxN>)b~uc?Bi#x4fj?2@2QShTUssI+2x!qT|Da`9^LOjN+-Qm(_bepfp*FPr*Zf zRhlwd$Jkapat#d``)ytt?qP`)eM_;Hy5)V^i9q4U$8zhQbNzo(rcxFI4fu9@vTnB0!s`Wqr}Q#$vu{OWp+gLBo9Ic5KF7|mfYEU z*gLSaj00rnf!Bn`3u6GV%?+qz4@0*9EeaUvm#EgB49v7vsPAqeR&vgf!$jkm_Xn{B#ZBpu060w z$k7;Gu1LK&IyyEgMa7!omKEgTK{6>`0u~k`^RqPX?;L0E3b68iSLsum^6JAhD9EVB zuLxy6xL@Y_pkd@0e*^6ox1*Z)=PAjmv)|R5rK|6C2p3Ul4BepeMwsN^d-6>D1-WYS zo|z~ZBcM1{hSFr*m=*7w2z6AA!;!`ETA+2ehrkU`V|4l2`8LKTAG^WlciQ_4WM`2zO5v37}durBG30T6D&(1AtKDJ;^U+t-UJE*K%A1dI>5jDYhX8L-k zN-<)k!YhZ$D*fJ8YAPIPyU>BBF=EO801MZTj9igLk$_LEN#kP~fVuZ>DhE*_N^Fwp zlPvti3o9xK`+d<_Z9*heU%mG~9t%i=PZ@A4bU7Oa@J`_IbWS_9|jmlp7TeTE93XXU9VZcdf9e3kM8b=yqnLW z8Y++L6*L@$+F`(2bDygnf-sT+=c=hU&tR%USo7UGlGNdnOOk6H{5>YZ8m3sPns9Sp z_4KsBvqclW-&yOCMZRgjo6pl2$rpuCRdesE4<^SvP9-!XiGN6s(5NBV&dSQl=4q=M zk}oGEqbtl|e@A1|%o*)o2jIzzN6rlPqx9KGy3td8HT|MU7hhL7o{fyhe9oftKvIZke2~|vJ2-$um=WzNdcg6U3t{_Y zH9=OH6Efm}Sf$6mMgeU0>(IAti9sU>6 zl|~00SF8gq_HFm3^7j7Fd)>8_f|v_9Z>+l)Kp?lX%v?$n7$aL*DXwD+q=a*u&%gjD zs7k>fhgW9F(jdl_bQ%WKgVsYktmh=mquXNcjzryS*eu%?I0wG;Hs(!5?z7p30Uvwt ziw37T$;9w0Px#+3-?9;78&PxYfzO2E)VY9lKNQPnSh%Jee=>erL5*#cclODMKA#vj zX$(gmyA40z@q;-S(3(ET-&TE8{j_9$qY-jxC=~{5%b&9dN{1Mjs8;B}0JaZZ46bj7 zD~(@sH#f~|+9h=VCdBr?nDF`CvOYVbv7H>68ZOHwlL|iAbhNunXR|Dst2L5T_Khc276`Ptb*G*2pT|SL;%zhrG zo!S4ncsHs3mxk@;QaIi{`|_uleUS8Ff%{3z-No1Y+DY{lKK*dr-c9_oNS(#1rmyd5 z$$v6uRo&F&^^~2>;wMPp3q8>KG~lO2|1*td;JxK${sHupO^J}w)e{W?n4>H5zfz_? z9Hl}P(wKWETOyANyOCAsHHobdN)|=gP~161>%E>lFLpG7h$g8U7~MqLdeawJY2n5) ziv?=IF*U{6wfEKZ$3mimS0`eJjzuY|nS24q1T( zP504`-K!Kw+jgElx;k9M@>YA^bVp%}5Ww)T)@asI{b0ms*!n(Sl!=xn7yZn4O;;}( zH?jXA(juaqlqSm5kFb{KMZW{B6z)C&VoW@((b$+Rw%QgN0UC~3!+BJV6e#(2$K0qB z%LVOjFrDkkwg~H*NZoVmYL~E;DJ6}ar97l|-8w8( zRK!2Erw=#QCFumW@j1)q;~Gaw7>*~Ozrl3;1Oo}zG~TCDdi{VG371>;2S`feB@<)B zh_85&@LH(ZzXy|K-^MMv_%`h;!lmL=L@e;Rtg496#3GWJf6c0dJsbh#*0CR-20~@(bX=zaOlbF}~#D5JT`R zQ(M&Bmz+rZs{51WJ*6CbR8m<`kx5UJHJNqARSdQf5*)7;sLxj|ykap@Oj zy%xa~B|&MHyUN%?yWCSA^f15xzU&GZ9vDEpL4(ZOn}!Fgph+Fa=O*sgHr!&(1`djb zZgP>z{8FrY&NvX%tJg?wt~l&(;zsO?Ujy2iL%#5?>RfvUKRk0=l8LU~=bo~tjr z+)XSEF=M8`P5;_T9S>z=+Nu?yc6)J62=zDu^JqKflwon_CU~=7_kup#e88c}l?ffgD95=_QE6;^oE6n%0SEl>%{Ac z7|VxOLHoRr8`Ru0rxN``%8W%j^d5ObQQc$T!6 zAhK~u!tQAp{dI^l@tJVyK6S)nur{CxZT5w_w88*4%=MISHJ1<9_`SOLauaF5T$7gS zQJ=m|OBV^JkPfcV8kqo_m$d5!&KrDM;^zBQ*omQp3Nu6L9=dm)RqdFAEP4?-zdWDM zq_JObf!aN$mHZX`s=_csA481bbaJom9Qku<-);=(+r7uj76l9;zpqEL=$}&ml=@GX zlKZ|C3*=iN1JbYWMXX)M*Eg>Jc`VS(`?ZXi-6>`1WB4xvS05WA5`CsHJ<0m0sH|o_ z_4Kzv4xgbN-+`5#@!fqsxY|Q(Vh!n#1hYW#bYxfs9a_l+=R;;yr}~O2GjHGzSV>db z-3ZeNA>sz$mR^J^akmGLJ%b~?y(*o1a#;xWrZX92{xsUL=BW57w1VRkZua}8V>a+1 z2VfI_3UpYBbC~>06yP$o8v@gDQtyh-(DuqBI$X6aa##M8!;bQCH`U91wnYN(!glN&Dn0i#^XE4o~ z35gc0yKI&Di&j%U!T|7msivc>sBX+L-N@)QY|#f?uU12j2`BEqrwVT(x{q;;_6phE z$MSm#>6O&VKK0imSYUdV6w@+I`ZGT*(!Y&*iDu&UF{CB+B({a?&+#t*3e+d%&4h2* zxV_!~7B((X5UZfVzT*Dr0|`-({)6nNef>kc(;qvHWb)v&)1+trRj2<8h``VNrpMeB zIvoyri#`+f%Kc@4*t`f475rT%(B?^WPxklGJ(qU$+>%a?8qugAu7r{^z&`6h-}r&O@oF+*Tx zfY~o~VScg8HTrjBUv6#0Uu^eirm~Xjj+w{(vXyw6B#pYzlMNMgb7p9Wi#m|Q1nA9J3 z5LqOVgoQ1js|%v^#MJE^;9|Gp43)*wheDhR5i22ca%2g@9vECIFZ=U`y4|SjsO2h( zo>57rgky1L?nio4($y8aa#(fknbi|;$xG*%$ylQoKDuFb{RIJiXC>|82bNoZopSDX zNo;&s4+i9AA1#4NG&&%Yq>A0|Ey8j~vVv1HkU@TgnZ(EDL@*#e`)E0>5t8o$%=2G{ zm}NN`$yOE_8XWSQTDSMB3<>WdT|DS3D_#+Fv(d#A`Y@onp7YUzH7j*e*y5ebg8@Rp zsFux~^I8B!l5 zapJr;0mV!Y6nSK#=G{aL?720a^*nF9gaGzd0Xfm)i%Ib#fmyUFs>X4*{kYqi>1{Q_ zsP=*;%duv4#umJKc!b0kR}}N>T&X2KtQ8AfUwv~`vBahYO%w_NL_~pX*Lp#` zmmB9xqUPe;=iZe@2xRYDB>4~`dc7v=MQ9sja0KBNBUkUo54{1s^co~S*1vXyGEF%! z7Na4Nxc4MU+JHr%t-AY`ew9>WlI0#K*U}VB!| zD*b%f=Lv~>vQ0NCVw6ngUsXT3F3{GqW|b0}T?-fudGOTulyssLFM2ZVbGSy`ZMvdH zh}?^o@a~{j_k#I~xVHtx#~6cB+w8n^7raW5T=e}{*=5dk2nR3mafLOEzKfBY!?OA~ zO|FN*J21J9<8Z+B%s+MqsiZ-N2ZC!VU6n%`Xfng&Na|FkoBNdv{ez-SOeG{b|+`E~q+c6S9SC+`N*OczN7*k!vKp zhR)9KtCQU-dbVi%%f=n1l%~k<-1WlU(V=$V&^0m>pRCMcCn6Iekv(Ll6JBcx7Z5kU zR3!6> z4uz|%zeKpg6Zw*f39{0!fRiXL{+c4azs3S1NSs25{RUm@6oJyD_w%az!*1DkKp$q$ z@&aza6?4~`L!+ZMz+3|cG`)d>TgtARRer^xG|B}azd`!AK$8NRKVh&y5fTu+#;zcA zUX<~tVJp7Bn|SAM@1qb=I0qDwre_FlV~?4&oS7TlIJ!xKv)v$^p@WJl$+Qs_h)?Lh5`3OpiCZoSz|;cbt3!vH9{ifUW9s2z=+wV%VDwW1TW*y)TgC84vg`>1yuI~d0Dl_X zLR5nR0V&@X590HA*1o$kw3`O+gZOaqn)Hc8mp9JU!+_S$LM%ci^#=9*PAp7uxLqbh zI{!Ie$ftXCYz0|=VO}#IShM@~Bzx=h@Lh!HAsbA{wU7>bYN}F$7D$C=COh!6c#u8W2^f%|6>_)>0|pgf!1)o-=CU;maEAehbonM^v#t`md?7!z zHQ`%NkJwFX3tjkf;~*VGkhL%v(9oCbz-U%5_T|AWeCgQ$^2r!%C8@i1{1M(Ixjl8x zuMd>r&AY$+NT2!YSO0p~{&>(_|1##kb)x3SLHKiXi5S0(m}`GFhX0Z{e|-#l{L_Jd zI`I8l1FQ*-<{g}NAi;9L?NlBZFsb+cM}fRf1Ty$4(Avt-+KE6iT%SI*uN^TEgZ8K4 zuVu~AE$Sl%RM7tHr#}G4tGl;OZ_J|4=P%2?@ERX{-^J%J;Efx6(&Ya(aTZj6lIG#q zvU~LS-m$fBQ;F_oqwe7hWJ85$V>ae!1Ku6bkqY3z=$w0?1)1JP95pi{-#;He!3ohG zptx^u^tpwT3gr`sPo@{}>GUFxte06}B`ets4zeaYWt!_aW;>Zm^9m~nN?L8sA$c(G zAf2HPJ5kLV!HZAev)bPbbRCx8WLjLxYO^Oldztu!3mfFj;mk+zU15qWKDI)(xagUP z-iVRD!5V85()IM2IY4r4!6TuU6vOisy$=UBt3!OOyX8Vl> z^CS4mxAQ)cMP6w?M%w63eH^EJk|>Wt5+fY%p1}+rZ4!E(p&TZ)-V)JhwGrClGT{~K zyu8;dqpNr|KNCcmKmAGD$}VNOtYB*nwzEP3)y~+I2|Q}nDJT6%j2m(qJk&6X!L(ri zGcfA^6Z#mdbKb}Af`@*^RAIg^nb$Bm%8{Qc!VtKO%W`eZ8MK-KS4=0h-F8E`_wtbk=d+uXzQ=W9`w22 z-m~8CMK6WomDo1zfT6?NFyN{OZ;zWnNrI)xH2$#2euIZhssU;JG;%42W|LOeHuJn} zmFINp>`^Itkpnd;a*fpHa1cHWP+u2(u!GV)nX5YFP!d*>(~{X@lx{uXU!106tmNb~ z$bn8FL#h06^fDR{EJ`_dtJ(X$3-go*Cp(1LM6)E{IqlJe?$sO84%lAvtBSH+e;RN?v!=G zr|HZ1jxMX2NREz7m+VlmXd-jd(9(iNYd3$qR^YoHy8bL-d5w zO@}bTkn7G?1P`%r7yCf?j5qlk-`B4lj=CLZAokRh7Ri-D?z&ZA78_Yc%`qJv=<{@x z&}&wCHB@lM=&x^Et}spq&kZup1{=y#VYGV`xTnT#wz;g&$Ro$R*WK&6RnvzfTU}D> z)3_sTr*V12sv1LhD{ny5OV^V}tlAd6hlLnTLWwN#5N@n3w^a$~Px0l->9`Rn2Dh+e zwpHs~ygD5>Pj%p`X0t5#Wb$xe$ALt3nTtm*Gxp&2Llo>tzY=g!1h2T%{oubj~20yAaV{@sop}J9=hh>96<->SMqqE z5pHDE$b5%9L^ zM8XPq>ka1NREox3g$I-wq`)2E`Q7k1pAuzxVw2{*O6zT##-hwoyB&QEH6$rKq zJW{mDz-q#ou4Ixt*pxk#J7)HR?q$%liNEl@LyF>XB~bJ1@kAt-Tc!2EoG1BRW$!_@ zxF-^bn|OGnG&=%MG4%&ub_~`m7J+xiVSr}h#kWG22}9)1BQLo2m@HFeaHa;Qbh0#U zrbL_N*1=P~pyE|UE!6=WI8(WN0Aw-lBh<0&HDRy zLatiw&%uD*<}4M;ku*htw+o3_F7_#}cvVi!j28;xxC(dw#fY(nuOZgrC${$2uaQM? zTU=7wUkZ?t(v$*jXRd@rmsA7iiJbcq86VAHTwz<_ukrc*oy;Lkd+wd{?X3U`^1hN_wE*1*!U|Nq@nu^-!kuQGn+Kf2$ccg; z1w_pnncSRNHi-WXw6sejrvZ+k7i)_{Dp zCCF|6jdu~kRMM=@5A`Z$0*%V@)^bVWix8T$_O27(I|l97g| zR9gmz!v-vK?M7*h6EXP%-jINUo-U`1Ctoo0D_4SqU_Fn+^jEGHNE(Ov*ck^1y3TFkl0>m%3lq zWB=-I%!Ko#F{Qn6)Z^e}`Bcbss*uXmn$aj}u%a3BCJte*iA~oBSTg{L(ZO`nl9G*Vj^bS<*=_ zCC!~nSj6bNA(Lv0HJjVkFaSaT1N>5;cBy`|;wBCB&-hbmpIC8t{ciQI=7Gx>GmdV<|o#uIq5^4J7|r?RZQV-OgJD zEI3ces+=L5y6hW2;_$|7q%?-R1PeUjW=gx;)yAN?;K&R9u6bipF z7iHzn)K#*Lc32^cM)i3J*4RWXJ73tY3ZYD{4uE30aUG_>0MgH=qd_t!-r6R}UTnUJ z(mn*cI!$i&NRISRb82scV>U2Pvg0%vBRpP_m)rs(LUf`&=&pM$){KJo)?fgRLd^s7 zb~NnjO3W$mC}OfFgW~+-gGV>!xpp8p&G(WE{`goIO7XnU^;-Q?l@B#IE#cTLgw5C_c6VQsy>9@27~dKK z9l~49)p|-X>u83FFAa+n5(#n&xsM`;hf_zLM zoi&R!P(B@R`0cH{*(lg&`}3&&^oRvQ;0p0vhX4$?4g=t7_udL+1 zFLm^F93R2u4f)(Oyq_m+)9eVE!%Oq;9-~6x6;2mHk{~^hBZq3#Uk1_1TlKa5_xms4 zCBF{AE+||?_!!+7+Pd~r13$N~KXg+d#DuNArS@GW;>&p+)+oeH+_l1l{T0k(xTW6z zi^LH>zQF=<2NEY~^Sd$`fr=J%Uhe?3$FKDS3jI%J=kM=tJs6X``0Ty4yilBoM+EuD z8{&+jg=IFqT72>PGi@+{KLNULxt{v*F8n2i_vU`-o?2D{;*0**Z>dBR`y9L?6 zt#O;(d*o_)t^T783OBje0O^Jd$8x|#fIV@ePI6YKQbDXw`w&3h%y3rlv4O~L`Lu%;0<_AbE)&dk zC78yB7s^4USj9vYIOz*g2-G_WB+*+JNA{1OqXI8-)?pQ55mb=iynq2B>UrhmYf8e*+NuM`@znLHLzp=;uPD=2RVPx?tP>)#qj6#ei@?h@P2tKKV z9`XbVJ3>T+n2b5(&9!@h0Z-x6Fd}I3XZEp=#?60Df!3UI^UWhB89yFZ)PZS;vs1^iLl@I(3wP zw>oE>-~@;l%&(2QhtY1q0Fx$Cl;H(aIspd1r!QZUf46q4i1q2-$6)Kv?mDJP$Ga2$ z;*(#AQU1-(3)`Bs zXD<2Y)-hNT3{vwcS=(8zvJg@oczIx22L?``JD==y#mSIZhm)?ZGdN}ZXgiI_&Y)4( zFsw@y&(Qm?y5SU)iyqRUzpFos+Ag`ky%tYrOwMNbB${Smjc?wVx)ca^1D2Z?&~NUV zU@;HT2nnk?zyS5Sq-LHWlxb5KfQcq^cfRW)?Uu-^W;A}?o0OKTK+;C%6D{Ar>*8u*s$)1@ynJjt=!qD z*Y8RmqF2I44j{C+81nXZm$vSRu3&x!ZupY0M~;8%B^Y3@@&IukYD8xnN^6RLDK>^x z^GOcl6()n?YsYy*ved=0&Ub^J5DUDWN$jv9AoEbzapfs5eR>-@Q)fw?>`SDyAZ-rH zqft=#kh@-a$(8;-LxDif&f(2$Z}XMgo0R%_{X|N^djh64<{_K0@u*K$N>Q{B3d$wW za)X~Jg3+|0r^vZ?|%=0W1A!A7l23)@Nb}l{#$lc-3S^u zU84Pmig$)75sSF!=>du`3B~jL`c(SMx2PgSab>LOv&6D)JqyOAA)<=tF39tFIu%5> zE9;{i&9%um>dU8%F}D2rZ9aR9T4nEjOryzKhb1m9M9D};GL7R&!Pmg(Hao(Hi({J7 zrq`06Tsl)(|G=m1Rb_?#SmyiX3Z_hY;pbx_))XIAsa3hRYdIR7D*7p@eUGlSsB6no zhKVDD{9BI0|i0*W0&THHu=N!=;BcNbgAeLFyZeFa%ls*Qe&aeG6nZYPC9vryqf^Jp~w{D zxv8}eoVz<8<(?(8P()M51IY2uD%8*?R|vFunMzY75luoz2{@%zb7vpndM0Lat8hc3 zg41QX*<0PNH5?#nidxQwlnhUXvQAjCUZs+0%2#TqK^)3RMaw}%47K)J{!QG%UrDIn z5PCAFZW$?dC;5;P$hlqLnQf_0TzSOIswob(7hmpvISm6svLOc_651;(fXy{um({|2 zlbG)1T%3`?@eY&6V!idZT^yHW={wC@U*Y5I$lQkky*8ULz#w1YZvzeeJLz1vVz>O6 zOD5@;ZnFb*3bCQRcReUfy|eCSXnN2Wt3u{gHM2Q>lvd`eE43jdR~=Rc<$ual!f5N zx-y6{WJ3?<#V*w}ia5`kt;QkTVm7s_Qd4BSr_;VD9t31L0cq;s$J{q*g8IUMBpbQ5 z-3&;==8)ej&wvGZ!wR?mYqa*_a4kR}1DM%5q8pK~F9--IF%;RwbKjf}J|^I|cs-vS zN5Z4;KX@a?tUS&_qA(cq`jG+VjuVw_C`)X2D^)jq7uviPA=^@l2dT^7Ty*nK3 z=d)jQBVwdg5Rru9xE^Um;luf(4yBPk$nBnPf4W{pP26y)w{Rmsm>h!lx5aaGhA%`y_*C_L+C3r8qZ1`pHof^nJnJH@tiO`}S@u0syOwac{ z;4tw1YoK)T=+}51P2e{GKYwG(>}?PGC|8|}L{Uk-YX8!$`0K2YN6+4GblB>+O|A&m zscfvKOrZ-rj8>gMd2i!0rBWa0ThoFWQ)#d3Q6e0W%E z=mvRF(B&W(Dm}X3<8x;LgFP?d(v7p>!%{0~1>Dg@DTiHes|i)nbnyH0*6!uq7tMP5 z)_ewA9M_uR@-r8utE$S%qqhoW_*lfo>WGB6<@pfQ+4jIXy^LxS z{TzjYacLsSwV71@53zEu%3>nM-L1xt_PFFfCJa1)S&inz6(!rBzD*xafzKg`VMU8zYgqQ zYJ|}=l;x(r(L@>j8t5}r3-csrc;}FTNEQEhd#w|#ud-C#qtN?-ddIsK z8`1}jZdS;sD{mX8Fzi8tw{FfsTj*uzJLqL-M^+mi?dpd^1WkEqa030pPald#ph=$P zSyAQ0#`Z~$o?Pyh!(i4|lb=+MKHNXS``@jdUxY$B(xn(j1VoNtKzyIQ$~`O@?svXt zFTPrsz8pt3+9#)zs!yCSOALyi#Z2gxL6$f%xk(ke%CQAO$-YCviSWVmY*d;CJpj$!3~j&Hk5Edqmp1H{>N0$a>Q?`~leVtjA0lboeP;w=!9 zEDNir2+r|FeAUO+4y4eg*nk$nhdK&dG+jz^mK>F5pIiuM6=<{$b-}WJ-44ch(U<6 zQS>{Mo(o`I)4BUfdD_Mf^2L$T9DTF(4kZiosB@BW_<~-b`CQvw@hSW;%$=vLmRS^7 z2F3pP;=}RxOGpyx-Ek2XdetbWAoyBNj#9yU580$&q+*vw&q@*p^MGmiH?%rUhYTB@ znqu7&x$@F&QRTI8aJh98E<%#1!EZSYqnFjXKirzCs_-Fr#NVVrs{D}J_|EwWoZ4+F z`Ex;dZ$_PVMZGi%d#1}votP*c!y)VlWStkhpu6T%l@IO0@Fm_FTA`4y3zG`331KV_ zz<_+owO&`XnD^s*J=$MFR$D$w+e=;^u}TjXCe1dI9@u_*>kb&x={ZfbtG7{cxtC)U zjjV=*g$P2&J`u1=ll514>;VE=v&i-MeAgUd$dyT@9kczFlp)R#MwXDKcr#Ic@yXrF z!!xG%ZGsN_cSJ|ywi;ay<ReTq$^OQM7L*Ej)Wn zDm43rDAQ}Jc1#-V2t?m&%L^N(f+_(&7b&&&C-%R zc=G?)rMqaHh++0;PT>ko8pPOtg!o5@e}woqgn;}Y#P|=qj=hlx?-J0yYt`gOKE=46 z^NARGdw0Jz(Szx8?_2q~6n2ExQlH$d{%sqs?3~S$d^IOu|g4i^X$`P%2AO&aB#`~)5oXtI3)22 z-gp*cR2Qq;YFn;dNQY{I4G#btHy>6mL@C9WxM>CwWrZH)QzpuEn5&HwGhsapn616j z)FAsTZ%OuiejiEMsZlqU#o)U4F3R@ILDf^YiCtfd;;KZS9wl0!H9;2sRr@>tm&l(G zPD!LAe?6@985i09lXCb&>;__3EEo3Wp%!5zD>1=@_Ph2oGxk z`VOR$m6yWJM8pz$;u*I?A!yU*B8_%*rUId@BmVw0*$h9T0i^oV8d;Oj+zJtum*ggz zK!{I(R;ZOER~J+0$dN9K1c2m<-0y%l?nB1;$%t3u?`VXF0h=2YvJy(~skx~jPV;dq zjfj_c=BZRZtoCl|37dw#z&B_PUpdFi)%P;AR5tPViw+1Ek*Pn0EbNTSG% zo(n2EE7dLz03^Y*h9$RrT#YvM2|I+Ap&t#xdTm&F5Xsl+Ae!N{X%FgOR8j^`Muv*H zf!X$_(?q<+7}{R1;frs<0G{OhhrXH6mHYms1@*X_Dvs$gR+(5_>*(gsMe3 zEUX8KY$6zC+7lBjn;bj1%E7+n8m1tMXZZdUM&XmUY03C-egT~OV-)>&+8{^!z_;xT z4^Drc4kB&-j9%i6hA-_GsXJr;vO~$tVEGO2l zIz;VdiQ-3bUT0e*lJGoM!UrP*YE#!Rg{SBxCY^Q0j7g-CHjej39CwkcZ5_#QHaK%Z z@9kHtS`8$y#nI?-B#`gwIU!dADtiz6U1GfS`>;7IIdaE1?a#hxX|W#p$lIR~pjM~q zfM25N{ZyMF!pF0_&&n{&O+_kGVcapFqcnHVr9-1L;rbkke^z7Hwj6`!<82aEj(P9m zd)HeAR$?>n$u{aURu8>Nv|%YuX-5aFhrCA9{p?T+l9@u$-}_0Bv364iD})Prk!;4@ zEoCaIM3_=@v+(!Ib3!2 zBFBH>H-s9#IGfi~EXK+b%x9G5awjY6q0pI(A%FznwO-M#@#E*Q&KlKNa=ABIQ2mmL zB0?|pp0#J1oaW+f4OPN!$4x2~gg7({%FGikKM+E~RtMGt7$B@supHRESNn)#4MVdI zTC?(88^LQf8M>Ze?hf&$(!ty~8#TMq9+royzLuvmIn9}Qm8fI)NwCC$>Z^cB^{v){ zzWmj+UJm42K2r)o*#oBJlW+~1h9vkti+C@ z;_N9R(erBF;>okr2tLn$h2KTjC#X8k+EO}mhg}lvC0qzaN?qn zR`A{)U4yTegyJh~VVWD$E1y+(3#W*>5NepZVVaoM!*sRr zQj%#tNLVAn#lW<3g>t-Kq-AhXNwuASr%s6(U+EbL12iWHYF*~itW94r4Pc}j8dAKC zo;v%GFMWjd1+^6nFc?Tb{Qcg+e|H)>IhrJ8f;%n4jzE;rCSl4ZbdlqFADc3x5Z+KW zhlXiRFTxucxIuH`1XBIU38eJhKGT({9q_^2Dbd2xcL2*dz1Z}RkP18`2q^`O5weo$ zgEDIksX;-E&3tDtxLyz)bOumL7}~#X#J%gQapj@GSu5d2H<~j%`V#(QFJiNfYd{j`Ab1?(5i9JBYX9;h$i;`XpUX{VZ@# zMaN$NdCqxBl4>U0IMz82bpM_Dg9nWOnFj{2L!zvn73khW#{$8@_UB1!(75wk^ylBB z4-=0?2ipD#c=1+RVleGjK;%z#D6}zsK}$|0rG1}@=>G$r@revyvVK-p+-ZIJzOXrb z2c<0j6)hU)YL1BAddiJj>5Dupf(| %7iXV%*cuP0Hf+SZ0Qf}*4W3P_Big3{e3Qj(I=3^2k_0}L%NV4;X0C5jRTtzZx$ z2nZ62GziiqNO!}`zxR;dbMC#TzWd$pe-6(x%$~j1T5qhk)>?bLi}7ta88Q09u$v#b z#xf?(bY^0)E*KqHyMhMGF(q^E!wQ~I3Rwuy8Y*-X({+n*YdU~bu)h!|XYCVP?_fXB zg30A>`}E^+nfCI*HsX;R1rL31BBmMoG?ZM9HV~$C<{D81#ELDH=vcgLQjGA;bQ#eg z$}h+>=29_krr`a!*3xLfUY^6$U*GYq=J9LKH@7QK*Nl%hjE~b(JG>oC${5s`;%{8y zN_qIPL94&uS))6 zg-<*pljX0k{?I?l4QRwuO2-4lwU_5kJt@x;I6QZkHRt(_5cTs0K!1I2Mnyx#Uy`ia z+FIQ!i@f37jZ^3D@uFXq)6NmW{kyG*tN_L{*{r21PZDx@120DvR8iMdSvrY9UAO_wT-VaIXl_fkyh-;}3)LUDG~coLsQ+4SpBLo_WpHFP(Z zEpFaVvcqxhxmQ3|h?Zou)(0c9 zL(A+ro(UtHJXzY9lQK+*PuZBC{$QdK{Wj21FPuS6H#_$T$%lyY6IOON+j+CqiFBfy z#L}K>kEesNX(BgdICgI8M`zVpd$)Bs;Q(Y-;(iF5b?*Ab*UAX3J+Z!FS;HpV!9y{zZVBU3lg$RQj2w4ix)}% zd@9O%*H4F9tS?2R;DCSiuHoNR{;u+OmA|X}UFE;1O5ygBwEAXkfq!_{TlJSmoZi`h z6QI9&S}Em!#c8EhO#+8PZ#KsEiC|rQ@`ku1Uzm%Z=^zL{$(##o8VSv zMy`1Cq241N6Hi@E8deSqW9QuNZ%t;78L30ZnDXENl^Sf7G(8Sz9WNZrj9UQ5oOF`k z+;M=!GZ6S4y(fO`KIs!lF)VAdNZ)Vn4b|aH6Lc@+0Ml&I>;1)h5qDoLh`XfUYdhQ6 z|N3n#@|3Kp16@#-c&%XXWd$$S;~{cT(v&N2y^JDK%fSvLp<(Z|f>r z$dl0Q);LNgbXT~d+BbsWlZi}fOKMh0MP8Bc$q%%&Pwke z2rCndsXrRl~gfI>{3cL%YvL}pi2); zx^{rtBRHe>jh~XcKY#TbQj~9{erGsqj43_|wd0S|*8ik<`9H}c|5K{;kV+LO z{rP(G?Yuvm$eRajS{V;OP2!*8^*a*U!|*L?YEnc1UB5f$_CKH*Z4u(Jq#)Ziq}j0X zCgZH$ zl6Al0BQktCx=D!#fwJla=wu>%UJL?DjnxCPoq0Q_8__<+)5ba5q_p0yq`Ryr#6d_{YqftM6tO3qP|Yis~nuiM?O$ z%a-1Z;$pXt4=j4~k(%es_{o=hnYfunx*LNqnX@PDb>*|mWn->m)%fy6YWT}MlXhCy z9d@dL^8j;9Juk@~82x-TvBa4(z^nPZjHNLaDEUy%EOIccbHY2QYj`>Aa`eE?4U^JG z-JF%?uP=r8Vw+0WUQb{zOAXk*+WDf!FY~ks|DKbS&V+m{jm)g#;pnQoJM3s@XGI=B zTXvbrt0AX8-!AIF`|2#JS8P|0lj`h_ppUHf>h%*fjL}nh6WW{iF7U`L@n(Gn?bJh= zJfFG`m5W;j8j@?NHd*i?a}KmWd35OL9$=aN&=p(1+y-`6u3HIQPxQk$1T3|kA~*)9 zKWTj^Q}3%%MOoP$t_Pgkz{ z^{KfUFEU}(j`40dfIz|D?ghw${T{)e8}2`iJt^(%b|u|y=9^4;1{Fb8pS`JO-6#i> zl1s4d!d#Gvw2-H5w0&MLi+MWp-ER{qPjL9Pld<&f+bE@!KJ!rH zK%6%&PceMvceng|JFnsiXP(Zixs^Ky@)bkN6ROf|?iNeAz2!L<3r6R2*!$7#`$ zF!yz%odBzELsAXHN6)e!_l0X59n~mvmJS-27?>7uKEI^YYv(uh64Bi~E!>-5UVI0A zBv^pP@})5k;!UuYU2u9Xd8W{(GOyXyr4;_Lvr@#Ji&s_e+uztN8kst~+p-&sru=)P z<0+ML-e=|^b-!vy6qlad`yr5f_$b5PSpl0|NECZGL(_>Oe!R+44$$bKaP<5@v|pitx}&7`sMtgO^l|2pnxHrqM+V??|2>wB$J7Hp zGs@x83_A09)N3CPR*?u+J)DleLhy-@-6M_hc%0hdmkLNCp3LO1u)z4$q9E_W!OpkU zHcBVMj68!3t&2X@5au+r`Z52OETsg*GSI@U!7ozF|G8Z7TW|cw6-WjwYo)B8{P*)4 z|9^OY{{>}5ufShoe0rUfU+#olU-=bX-=!~2kpgp~O6}i8P)&J0I1re%r95C@^xD9< zoW}n+JvWmFTtQPFsIsz&Js#Xk%l^eFQi(>vkLQ*Ak(dtK+eCr9)`ag?OrqBO=R@Ae z3|f5Zc;#+oWi&T}1BTP79)mGYFICAt#mlQ5jnS#>Dud!#BwV}5f_QXuV zT71@Y_5x+0+bEW%yifLr;i@Xr&DBv)w;Ro$+Zv-f^4u_F<~eVxofK%RSqZOWNNlq8 znuR2fHjzgh38O{aP`vi}goH7#Jl{~2$z=0&t&%9Ag$3pWyq91k?G$O zCkPy|?st!;uqu^g3jgTlHecJ}6Q*n%k*n|K8OKW)67hO@`73+pfvG*uZnPOTe}9{W znhTX7azrtFK(JgL3et<$)YyZWS9`=?II449E-3;&U9Nh~o_Ts=aW0+5o4Hrm9`l+b zYtWFqz#!$iN+pwOff;j-w+~w#YdnRa#$>UHY=R7R$&(@X14g^LE2j6};4Wt-TArCr zeHV8li{&emaV^*Nh?%li)fxNm36a*$1RXGrVvN{Nc|n@~Qb3P#43}Y?NnRu4wC(+K znhw%&+-A<)EdT&$NYQ=wHndGxOe&=_iLy9T#ct19F#XW+;(>_Ba0W@&B8K;(R?WGo z_vQt4gQpEX(5s%VjF8hTZ@kN^{vI$$_?1H&e#__L)cpD)W{$X0Pa6{z^5BqATclAy z@Ht_ZP&J*1nJa8@@V8`+3b3z%VBC~U{Mlky)@qiYpgO~EuIhYmlecj?gWBiMa-kd_ zN%y*|zeSj-^2T%8`F-fIDioh*nko1bY<`nc9dyxVXw)?=IJ z*i~Ipo8^E7^EFIano_C_(S9Q6cw=m$AKxjk_^t9a0o0%o%PpzCX+9jF0v!f3&J&zJ z_-H*DPc>fmFS{X0S#)ooso5 zqqwX+HRXgaKY`i)66R=w=Uc~4H%0&J_s}FrQK7DRkEfS?RMC-j){hL0`=A6<;0QRo zKs`3k-72>5e7AJ^K+VGlXylt4Px&i(f+(bl1N*&ApLhPq{(A6Y`1T~#q^o7<sq8CQvUXPh4r$r;7E|VVAm~vnqmdO8FsZaJ_Di;Z5pxe?Mgkk9hI| z(fKF2q{f$)P3eq(1nZ5~wz5~2SLNO$j{f>~>af4{4dsU`9*v51h-an+g`U1?UBj$| zmjZ8)-sF6ud>eWA;vsOCABoYkQ;x+>wBIyC;g&M-fednxMr38qA^+C3c{ zmP2|q=qLKadO?p9vV-+$V&Wa7KMvN?88W!bHGa3|A8Fxa@MNP8EGJAU;wMN`w28q! zg(u3+-;wVX^H_F>yh1il-xp`|{rePGT(9x*66M&_qZ1Zyd3oWlEsTP=tGT@vcKL}J zsQH`;PGDHg);tw;M%LNswbGvN^fRHe8T@(qQ)7wm5%JlNt!uo(gq?^ds@!Q2gO$`qFrMmBxIQR=BU79E|%CS8Y<7w_{ zE>SI}u_uN)^4F6T81Sf)O+Bv_tq2xkJ6*xt$T&-I@?Y)62$Q>`5^%z;l`qzYOK=41 zJ&u{Us=NJuS6+cNVfAWd#?lOwmGM$&;)6Xy_UQ*M-#ZJedS=KCq?&?;`cCowc#h$O6uOOQuV* z@lW2Br$@e>nMS8WVB>x39RtbB^K)Q(f!3{xlli=N6?!!5N&%hY`VVAJ)h4mTW^s3x zHZ>FGyjLov*VxU?N#rXH`VxxKsld$C1G^~v%wx)JcI^Kbg1*lKK7Wnrr~9?x*m(n) z^&R^fim&$(y-HW4Vg8!*#Enztif`+TNJOT} z(-ecSKp2;&1bV) z4hKpKaNLii5bkaF%v{e)xFqng9N>bsg z&|x~QxOeXoUa@3zmka!Gje7oLUUWR>)Pv;HJj%g(H#8|^v|6rKqzf+^mR3>DUtYXZ zl_)sApDQM(;Y&3d+XP%%l&rQ_|FHZ%=6Qiuhq3VqXXiZ^$>@Wd?*Hqo9c=YIlLK+K z@t9%}WC5%A8^(S+DVCEtl)WsEu=jg&Z>=(A*c?uKW=r=iPEGT1otbu++}XXl;Vi`d z)qK)4@7|YIO#~-uB`_GUky=ihcLv@Xn6BTy%EJ=kAdxzL8Nu<8e8_y&CjIOBs?YK=z8%FB!IvekrnK5nrjCe) zceeBUYCd6!Ja`ISOn3#|>BqGgaj2(CRl2`b4Zs0@+^LfL5U71amP|`-AxnBH73nvG zXmx2|3&bxxXHE7uyWE+_(tI`e`l;pR73+H!7%#IO0{wgo*{X7*BKGKB|5be_ee9k( zm$Z`SohF6~;sKhuH)*N3N%jf@L1g`d445+`-eNt;E(gS?RTkW%?C5$2)MzVy08B0v zB?3|bvs|Mz6U;OD6ImUVt}%ITw|J)KM9M_55dnQZ#(7{uE%_)P_ovj`^u$-nB3At{@x}GfT zer0t_S80e@PI!Ig$5J+Dk?Pb7+_9@kI<4{J+! zMo#e}t*N4q7UC)7_sw2@SUKb^(X-GL)F2gu7Lk+3^zNO$C#DeJt;4V{fr(ro&vVZQ z2h?%x>IwGUEAg@MR)Iq=R!^oQ?{LHhJU?nIsm~~L;JR^NyYmP7*tOT>h7GGU@7!;o zRt2NvN_!%1>5Is~iii#`-CPc;C1%Q~67#rR+^X#;&?uz5?;e#|tab3oV?u}gDAawO zlvBUi>e(YD!+XM$ItqsaU$wdTb6hS`Z*qUY}MJUi~;K>JjB*B)(V#|zWn1BgP-56u;l z8=2a0k35t(ZGaAhWJ;h{wF_7=O)lNAU=9lbP&bQl(iUKZaR~_7ARsdojvG&pC{&9 zACs&!`BX6RbpbW0@Aal@M9qX5hO(YLHG5mt_66JCW^E@7N|U?7)+lgCYQ^yUyZVJC zQ{=7Qt~+h+WLC7at0MYig8a#oI8pX_)eX%&{|bf=3GL$5)6x_69NLG^OU zWQi@k68{+0ZMtieG$d{>jVzsNo7S|{UpIKW_bl-*YPPp0v^y`^Q1L#KiP+CgK`GE^ zv%Ig#m4O!rR8JSaNkqDhbrdqwRLe^lxIKRSa1E{U)w?6^TY;~ZgZt8_H|g>`&5x@9 zPtzOYTwJ;nI&t7=tF^({sDjZdjD5G3KV4e?byFG8VUBr|B2tGwB^!2r%ewPaeW0~? zJmZy-_h*vuqE#Nv${u^&>gj>O64AJpCwb@-FO?2fGTrYm7NPmnA7ao^>*C38s26xS z1;r9Ae@{O_xH3m0rB2~xJo)E;;o=WVEiQvfk^X6QBrkoRzNR$-eO-zA*8HA4t{i<# zjRy{xc#P#IaM%h;F#Xmmt|6-nA=qW6J{_)!(K`{J-^hQdd+kSaP>C^u;Bz_lh3}PT ziLhc;$%y4YG>P$LUQhgD(+gMOOI{tH=go4X5*jgmQ3fzmgU&F zGY3(wO;5g3NVY-+4$!@f1Kvv?7`o>+WRru2MfS5ej0X}kNM=38hTs6nS{%@|>lM2I ze@?*Y0&5M;i4>z4!-mRxU&Ya3@EcN=cV2GZ2(+fbRd zu--Me1#}B(9jPstTilH&joXCDx{a|m4%p;Q-8Ra8oLl^Px`ndVHh&cU4Wh~*qBVG^ z3I97x{h#Q4hAr&=zv-tPh{Bq-*wppkrzHQTKjVIYBZCmAah7@nz!X2<%ymSf`{$^(2O2m*ZU z=aq9gK6GSG%`zWP)qeA3fj6^$`iry88Q?TI$FXY6nhOCwrQfr$Xu#k!B|c>&&HD6s zh!-?Zep+}go{;K-O#JR=32WBzL;#5}!yd8vy7h^ulN?llrsjOb(`?KcK;5AcI-{+W zg9_TozXV=_eUN%D5KtjGZ5>YtrN>k9SN_-UgHSU?9$7dtox&QwcQv{2ZDAy<9K9cL zkNOk8gZF;_zSKYaA;^r#H20%JlAor!;YWkK5sSRx$1Jcf<<8kg0#a>qtt{zA0zy3r z_5((XVfD0rmX>x`YtCT|ei*!Lz{)@5T42Hf(q6!i!j~@T1?MmeV90u%sYO(8by9uh zJEl0BHJ%JJ%D{&8U|E|k>`|Dfh{OTnhp~U37J-i&*OmDeW2)OEM8c(e_h%Tn*SZzTA!`*_MnE?__DIRxjcw|wH2m>*u z>}^|&=c-IMxp}XLZ;ca*x-@_4>fIA}936c`o->%r)O9Z!Z9-Hh_t?vuhJciw+%yP_*J=Jt-viYWfg5}KY z$nCe?VjjEplUTZ!A{Ld>;Zt7|h_Xo&_u2JDz6g_Z%Du=c#X>9D8DkS0hXanQ-!2@P z(ZB(WTR}#g9&vtQO1BeOVpqA2WJe#Kj&P$=GFBI_$eA(dXz~ zSV`UJVTF}@&xg(L#sPJK6;Y?bvxpxFaW>ugps? zqO;Xjl=5a~mBq(q<+P$1QfniY2>bphzhVKgi}YsURSqToQ)hj%8k(mzpQIOwwvYyuNo4 z_XhbEw)A5eF$SL}1#dm;O3Xp~*fW$AB%u$?P;u|wD-6t5tNDOo@WlA4%;T25cgEK8 zB|XR)m#7@H+R+u|zHy(^l`)82#SQ9oq&M~*xCDp^b&%Ga2$rUAj`9|roWFg!C%1I$ zIr;%h^uc=8OM72r0_x0+9U~FJ$C4LGi*<7-KEJUsKWygsfh;VYVBRDk3%GnIw(#-r z5e@{x2gN^v1K9gQ_1}&ZiS)GzPZ-P%NJ`f6#|V`iv@vka*NqZ&3O4jSF8%yDgET$C zhff)bIiZPHM2zgMG(LJcRjmFXtkKe%(z}&05neK5*z&DK?Q5sqt$|M`Lf86&y1AGc za6sZ`b z<2{KrwP#UUSk(~9k?6ePW=6UxD#zO`#|*DUQ_eYmtjZB~(7qakmAXkRhe@|?)q3s~ zGkUnX4zU&h80=|{A_?rmyq}^_7df${dInFye?^|kPu?jI zXsPo?KeO@L+cfULF*cyh#eNF0Bx#;X^XS0aK3axh4!+V*kC5VN(~F&k7rSoixA3Jc z(U=Pfk8<;ciG6kVpIwtw516kxnXghWbJ|=-$(-R;?5b09{c9InTWjorDm1;~>-X1- z+({mXa5c{H6AWd$ziLCytEL#2p2*q7fAGqIOLx0tch;|dkO09Wh@J#J~u2*n$(&yO{Pn8qms9Eh;<`7puksf6Dr`V~w#b@rQQCN#SB)3mB( z6RgZBTscRx{XEMt=X3=IC2Zv&Wtrniz?Lod{`?I8*;MetR0RJ>{sea^Z z9N>flW{F>vJ?F;(p^24i<)CS0^b4iPbesUkH}EzPYNAU@UGjYSA6* zTQ~*QBazzixYtF4I2%)J+S9ePj04JK~EVZb2t4^Bn8xGiq3BU}3 zwt^lr`4oE)2T*_kKr>bt2lSY*$N`tFR!?FYGJB!v5*9yAdTbTdkZqwH5J!W^{5xomc$5{4a zLuLlo%2`vks_L4^hhk2#e#>9ouPLD@4PFhq4`Nqr1`3X0DubnlGO(Yd8CZT7H~*)5 zGjn##RISOo=B4t0=f$q+mt~`U$&8WR03SojC#gZH>t5<5y}1P~&Qh*58C~%d*zxJk z;*Rn0HcRB4sw+<6!9`!0erhkObal~fL?YV)yJ9eP=HK)PD`DFX`lxo2#`f{Yz`yHp zO#!6k#lEEn!2k$g%_iHPOw;Z?hM757D9qQdmiXmHdwtm4PtfUSU=`z@aUN$+&}%tk zrUd!|=bgSAFbjz*8iz~yr7$<5V0*;$c;wa2k_ipV@Dq$3jy+zNk$$+o-eBw_1auEven%O?L^`Y;+qlTBS}Wo^%Q_b6HI$ z{Biz2{8}D~!FdA!O6hoI;DD3;$y~8>$y$;RXi|Q}lU0(RDpxa-juUcsFq{F|((r5{ zA)ds2Ua&PLqSdE&;)Vm4c)N5ME7)C#2ENaAQDE#B;j2RP{)cC8iFf1`HoeYv>vwIv+{B??A{uUc(6)fF z@UY&YvR7&u`y)^6!*6U!N3s&$u3cquO0W$dX^y^aQscTe(758z02zfIF#rIhA!YZv ziW%i^rTxGG$eQ`*%?BsGVV_s?1UW3dnxjo`zyVDP&4s33z|%y11~Jv_h8&dO+W2eQhIRTl6;^jP# z#0;*bj~nKXwdH&%uWTHo8CljlD?Fs+FHOI2gP(Fyfq$T3bt3Z;@?`rFRF_B@ub19K zkE_K~L!!h1;#?db9$>N#(8-x{+>DHQOKW!^RwTnVb*8no{eIO)rDM0QmgnzjEqO{d zE4gM(cs=UFa#_*|ZjTT>A-Da)cMYGj9k`paOWlWScN&fY7CP0mp!SM8D zI@uZnpy$$LdIrK1jqZuj8s#z04YNLRQdUmA15e)fPs_a-9=Bz%T{r5vq$*Z8+V%9?@*G2?xGn?@W(*mVvt$9D&4KW`qb6D5 zD;F|-^eXJb{dS4#uY?rtZJ(vBLcep(Q!1cA5s4%RxEsjD8^{59n^P&O=Nbt}b==a(H3R@Xn~&;C zbasX9m^FeC`?Ld??a(fsVqoVsgR9ZO$R}4$MPF*YxzD17082f%Tz&_3nHpOj`t&W= zjDzVrVx#cTMG|0ECYr5!7DFd}k7Ml(vqTXl%4V%+RGyge#`|5gPhw9-A8rpOJUuEi zu{amMj|~dE3N9OqE;aIgRFs%5?31QSPV4#>9k4nrwNMW&+wHgpE440AJiiW8s8M4=HxDzMEdkV${_lb3e>7liKI+ zU+;G+%#(qRXz4h|-K)fNBg>7~gEqK{D7+SPha};(I!U3&vMQq5=x1*KmMc;k?(3*KEl4FJQ>q6bBq1YhES9 z0kU9RG~aau2UO&Nh8GN7YQN^62i;%-!Tm7}B?;oiT0*6wPeZH2CDOH2LP{S>h$@x} zIV0*$DBiz=hN0#XLVhGZ21tNdrG6LdL;W|i&yq1UXN+hN1WKe>6A&}7&L=$a6II`f zsVD{A8VInK?tON?GDt9w!8*ZvGVJ3iA8sCweVUTNBS9Rk$wtHE*elae(1lX7CfE;a zoxW2UdnD1v*Uzh7@k2GWTk=Y>ND;R14#fm>X0UVBCvnVjN^B!=S+h)Wz-2EO~ZMy<@%7aoRe1i_baE&LAJ{_h+uUP;2!vPudFOC3x{~%58>rsKRL)ww? z4Jfm>q0Z+^kH0FK@Utc~2~6@yzBqJuE$PC>-W{1Zl}G3??D>ns25u>ot^95G(=CXP zJ~1m{e)R#reaE;jr%%q=;hZ^IUt>JYPI0 z=Kbc(IQdY}-2902QGOl6hi%GITw~}HlD138_gBU-<3V#Mc$Ic`Grw)csod=R8;UQg zPlOtuKfPert+D3?b$HT9D`y(BY+~mJ=bf zn7+>a+E3@A8%Ns-4Psk4w4;%Ua<9C0BkZzZ)qvN49j`9+hHTHB+`AAWE{l`~%|NJU3Xw**fH>4!`(a3Q(-gpY-{*6vN z{@4b%p1LQET&LBKEz6v1^^TzFxD?iJ?p^WA<{it!<2&aOs+$UmUBGc&CZ?|qRWmz_ zjU4DC##W04Vcoj;S@%zj1kL!bjmN$4dR|-Vbf|>)hTiUrjNNnTg!+?4`^*blrZU6R z(7ENXK?z5`hWL20IC_i~xjYlIbrkZ@=xhxw4zSG_G6{dSc6&vTa&%&GzWmc891xpT zW{oBFe{Q&9E*R{Fin0v`%7l%A=7!0=h`7s92W3gFpCizwC~|@PPCHk8#P`naaq6_lH>t^7LvifcHfM0hNs!%kqBW%B479n#UMZ zBsIG`-Qk`35wgX=k>&*-sdj_G-W$jTPqsX>6Vt-0KX!3`OZu30?E95?W^^Bna8xwT z=HVJ0U&!KOd)yd|c)1a+%KlyDMV@u>q;UK`qEOk7q`6H6`s$b`v1e!*zN1eBpm{!> zdMF3bFK=XmCKxN&j{`#8nz6(<;Bgk(bbsOZaxCZ=MkDJNWwCN?ri)D28%N?@t=VM&9heSK0ZT_Od#Alp=#Z&CoxfavS+kbFBy@5CYg#xK zg{?6`?f4AgSqhyjIoVKnrp{QU1Vzziz7<${ z7sx8^+PlLSD!x>-n5k$x>}a@3tfl(1H>~O}(=NhVn4zx-hBuPUB`eUAn0Rf6QA~>e z=^WgejG3AB)`U=oqMb`qHghuQy>GL_+GCz*pN>-r(jdNb=FQ7JTx#qR_TlBF>oQEYLK%hi#n9u(x>aj@;dpG)LnsY zFOxLJ$4^JNl965!(<9DeOLyCj$f=majxvjh2F{}n3~AYVaa4!zF8`)lJc<;YIEKF0 z$JXRAQlI&J4E{3nM%gzfssqohC8*_h1D=S&TPVv#LnjQa<@+}`TR(*c=xOc`$9}Cp zI%0e>>PkKz*Nxu#*7{RQaFs7qp4abN`A+X6kM$9=px4PWB{6L4966{23#-v9QL@t` zxR|1A)|T5znTWm^H+jS3I(u*cWBy2@eaoRwro!hiSHIM#IOWlnGqCQGI^4=86p+uw z|5_rZsz~Yfqs-eR2%Q!Su@F8c{!+4*UoIGk1 zdsN&dJ;`A5%R+0A!PgLvR^P{TG%EgtPs==8et4}M2&sj)as|wZsmjdR+iHd__dK0$ zqV`S><%``%&%Dd-0-;sD1mDVGj9T&vxq8U0(n;{9sp?Zc+B*OEA>3 zXdM}k_U+=3fwE*Qh!-gg1_A?Fm24v+6pMOlQzW5cHv46S*-5EOxY(24EmXOhoXMVy zeF(R=@HDeLr1pY5;Ym+Is2FdGj+xka_ob{XO45W;QI!KmqMVUV)J2?RA+R6|qJFcS z45{-`AAK3^o$MVrI1Q?&%Vat7du06-KaeF|q4WY~>}4jHrzrg0-W~tZ-Es4pe_#7> zUxZ~ye7X1_b)D_k!@R3!>ojdW9x0R8Mev?(*O4c+%E-1U@etE*6d)znGioZR;|Qwc zeRB4oIE5jNU4OTCc|(Go$L$h#x))8cDT$p&N!t$go)+A<=i45VNZ~5L(l9mS}G|j9ZJ4Ziw%tR){#a=HW$Euod2&li5^E`GB9D=LF!iR_M(bPCq z0nW#csJxs?_qTSkLhcWvBI*%ed=R7X66R!3*%L#yD$Mycl>bGNPyAQTGy*_j}+5`s(jn+OhoXT;l z3+iKGin0062FHKFhY;F=dEQ<$+L|EozTEm~_mEcft>j&Mk}qmkUEq!<8D-nMU;Kh4 zrUe@AdZs;icUPvD?KGuIDmaFei(0NFj=!Lgk@ZW1tXCO_EC2(HJq1snl>***^A9JM zx~*4K7gi?)<_@#|`CGQbqAHrT#6cc!MqiCAXsJFBypIE1_6Wg`ND0Xpsg`zp31d3m z6vox9D+2Smj1`z2JGC3Cd%H8v>gkwJ*Gy4!!o(liW^!`Ju;Yw`e58v2E4dNPKxsX+GgxC*di@iN2>YB^*{&|!_ zW?&gNhD@)HUxTS7sNchVWNznIuhqRkAdk;kAR6mai?C#044vgW?AJe;he8mg)Uy4l6Kb zLMl;Jb6|i5*pkXjVG(Y_bn`L5~JQjs`#KHdgoBq4gj1{&&hCwoh zI48c}tvo^WN~8t{q(1zk$TZyRoqb8Zhd{!1m`tp!nw=cyGxJxh*Ntjo?r`>!T% zrkOg_3BAuc)DYwasflG>8+2$^;A!i4q9>bg%n}tn-34B&zo6Hwliq`r7y@rS#Q{yq zasXlAe|pybuh@_e?Pk|f6%F&FK_9B{WZ2a0{q@)NY_8~Z$wc!AB5oSX=`FlzH1&AAs5CU|C~F2LZ`S{ggy zk-bbzACriup_6vs%bA7j2S-u|6(#+chEE54Y;|8axf+E70^=!e1P-d-nw=O|h2Da~ z0o01#7eH(7j9U4QSxg0f{7AQ3Oj5=6cR{aKO=-tXMj{K_A7YnGv1j~54cH#wfNL4s zk1@r1iI~m0L&@n@*n?GkE8&~Kcj`W)UR^y*tI^|(}L613)(h^Z0TY(M2mE^1MEwq|K?vwqZ2+)VWbcEi@`hS-B^ zd|1z_ZSc!ht23JbqS@|2t86Nur$TQN;0sbLKCp#iV&M0}9@MnomnQ`Y1AIH)-;O)yrOnWhX%2_99jzO;<$}24*5wo zq!|RLzd+)(rIQwmg(`QHX$FLuI`DX=vIT>9_9=jPx-;RCa7pR2Kh|Xy?1%wNaQcan zu-%8mbxTckjPq@uJs)wfh~wNxY}4nDodaBF^?1eg6Cat20Pm52%324nv#pBsXL6{Or#y z=vse|5&(MsC3V96hFk~0DUgF7JY@jqd9NONbnvnLEJ3)6wP!fE7S=1A_=pozzW)0E-QsazpLn7QkqF^#;G{Oa@ z1!9HZT$cx1gr_^o*>by!k8jHr_(Kkk2HV>Fbq)dc`Q{I;4aB#8Tf=R)e}MFYJ@wN) zSx{J<;XmI~0Pn%%5eU1@8#}L+99$62jwm}k12%7JY1Q5LTD2nQE@3p&nrkjPoPxHzIkxwx!Axo|b-1pAI_T}|*>!u5|@XkiU^ zutM0OtbT8GE^|ASIhQ>g>AAb zi(vMkyu#3~j*cj27j_sLwJmFCm<1>l<_H+1x(G`c(gC)vcX-K1xw^m*5XT|mfh1T1 zEQN246ZYFl0S$wND;ly!Xf8os2(cZC3xRh)xkD%*9YFJMX9r^8hJ>#xB}`-86~a{E z4&WCg>m0CipdvtuW&`SyC=3n~$%4mAW|Jrun7ONq3n<$zsBN8temHK3{SNXs2wrE= zFKFJTcaxtG7Z4txjwA7+VFxqQM1Tq;a|x^=i`Qfq1nX%tP+P&KEFqxI(DR)j!Fy0E zNRU7z*nk_{&J_XD4~p=nF@VbbQ4aG6@cnaKx9fnm;S$n{6XdHa+)im76{Hs)br3(~ z){UKgwSl9V=DJ1NuBC#4TWWhcA~?_DOK4dj9Pszdeh(2yG};vb;m^H^zZw1kr!Eo= z;wWc_fT&OhgCkHder7Rz!)!wYoBdRr6Yb(@hu}o5*D~9*&z_tx89OuzG@u?X2!}05 zvM4*0Gnb5=qcwc9d3<+)4hRJUZKCbEKlm8}WPTyFlf~;HUhy>GXvjvw%p6?p?C=aV zQ+L=Y9iY2{gdQ?b?x4Iw-oOC`vqOOmI70&CYUhF%O;9-y&dw<3KP(J_{F~^>BR$rU z!(WK*>{m+^0`0)!vQ8l!l4RJrp9P&N*x#TV15rmpis^0*e&KBeMBWZ#VGT9|ai2wV zvoNTRmXHT>K{~ju8xF7v3+UTiT<~?#pq9bS!A3y_Zbui+2uBneYSMGtz`3s5PLOhG zbEJ#8tA#DXg%jm$B?_7gdq;#N!V2^lXs+!5i4!ckY1LgovD~P=c?&WEo3RnE5W-wY zKv+=NTu?v&E+}Bh%ge*ZFUZ5oEyB;uCn$*ELx}M33R&PWB=I5nAB_<=IaLWYd0e@3dds{J*eY z8&(TH_I7o&guASdO?PUr3fTWT(4%z~#v^5ouyce)-_W%KsPioA1t39PZw7zK0&|2r zg8>0ZJ||2YEDCpnBkdp*VJOG-_91Sp*Ja-UXnjzQXY2ZnKO*dW!W%TQ=;Cb@9}5fx zj?wKv<-v=dCTe{+DdVE$h(K7fp2h=J0f(t}zkIYIvYVEQMH>`vd9W+A@QTf{Q&sTK zR1s)v4QCYRrHwKyJM`lZ3LUS=25>lt4H^yE?G0;(@UTGO`3e4VM!7qz3lAveNC(gW zA}wJEaI6i<2Z)0k66}1u?r6Dy^unDj*C!D;Vg8MVTUKv9Q0}6O_(Rj z)p^sAZJO6j35U8-6>f|82kwCm60Gau47UKCg&h*~jgY9~nF)4-3p90v*KRzQ(Reem zS@(~yj7J3TtPyUYt=l=51Sy>*c-Ic)2$@09-y-cmk;UTy)6i5>l{3}Wlao_3)sm5y z)7CeYRg{xe*4nB6uuTKN%gMW80Qfn0csaNQe$8&}kk_5652>aD%4LVrf_SaR4PbkG zoUpU5RxoIg;0y)|o7C@+SWf&5C!P^5J4OT?|2Q?su?-WvwB*>Da^n)=73AmT=He3+ z*hY3|d;)!2x`HKP>lSi-$_{VZK_*^;=~%fUVH=VBx^r;Z4ud$idBn5LBOVT3;a}s? zx<=vU(q(g&bA8ef)JGS*9NEFqpdE$m9b_5Jv{CvI?=! z(B!2%(#{U%4o9vVU#JClXA~3&;vMF%a`(5(7O&todEDFNadU9<{Tg|jJm*vZv2z6N z-A@h-#Cc=>blsJKs*QAz1-S_6+J@Z(=>)CY_DxQhDx`5phfAp6ga1z!kB4`Y2#}0z zLFN|W;Q6H|Gy6w7b_ulfP=D{3rId%SPx(S~k9ecFBi6A73tJ)GKw*Nq0&b49gCrd^ zREUiRA@hJYnE0A#m_0tevjYt}q{B#*D;i{wi!~@18%?^y(LcqAoWI6-O9Ut%>+{9n zfXfPuWf+w2Ty#JY)t5d2e8vXjgF%-g@fDiErmoCpXA2=WPTqp72z z3evK^MzCcWAgu%WiZ_ywc~)|81mk-xPqYid9>%JMa6iqtqXW0Kj9Zw4kLRZjRDv4D z8#@Jriy|CtEej3{HYH2W31mOs06~hf9$-NaHmA6E0^!~X1eBj&^+|Y{Z~%k$b@t*H z1z5nF>wXD}7g^Y$z|6uLAp`x5v#%JTnmX^F@!AP6k2n1jt`?jt=QO-cziv^FUe3N~{l zOEX!M;Na8c8cK#i(_Z!^QAx z4GBOFP!!DT6Ts{f!0mxT4S9&_xMYAA&RN*ax60sKC5mya0v8r~Jm?=0$Iz%CRmVZP zjhjb91|kj_JjCtT_>eo%lNld`KGb@mq7gI65c-rxm>8 zhogpAu0El;WFlq(xGI)v0!fp5lNNcC7WbwI|4aCo0WzZ$TIxV8&8ut4w!@0kjV`MdU?3d@Cu5!V*_0m?8oxJP-B3w+l zj;v!E1wrUZ)PWVL%CK%lcoN`Ik1h#9^nF8joh=d|;I%qBPsKv8D7GGo7 z>TarFc-eBsdM-d6+-c4<$lzS!$gSiqc_~BtBFeGx>K;(v(z{|-ysX#)lGPHWs z$#Q#cZR4&Q+)`1(r6My@!;2#^21R1?i(Hz88aRMdjI4`)1VR@YP8_&Y0NH9`cV8}- zS(+wHG?ztBV$;iPZlzP>w3{m-+S!=MmJlNYf(7;j-l|3Ik63>PwFGk-pOaeBc{-f@ zrk=fM{%rVqP+!Mfwx`elH};aC7qsiT$i?2VAv>2TG?p7HkwlwEoGKBCT;TVf91f_| zD#?|WIVOM12gcn7<~}-HME0t9p&v3~LN>7u5h0H3h9n~8x#7^@*Bd9DB<7(fgFPKC zL#LF-mF1WY3#!kXqf-$Ob#L8!9XUS_o8Oann$rwb8uh{fF zJe)}*f|CPd0qRsM;h#3@(|F?lI%;hEzT~tju~m$0$gJxKp2-$A%QvK(4N87rT`7MUV-DX|)<1*ViMWX6)QuVlKIOL!_z#_;P>3Eb`l zNc&ud+f6=E<}n}QAkbI_6a>{6p;>5Yr4kE~dPRvBxoh?)8hUDm0?SFdSaQ8)ELtEP zgj?z+ztROWveMUwmQGn^CYKv7bIZVJ2IGau!CZ6;Qa`5Q2lyX=g0kyyUpfmmzO^zX zQumj46qyuI=g`$)6e?%!MX>0tioVm#6S`van*n+0PU}la-KtXFQzT%frZ%u>J)2OxcG5HLUI8s2FK76 zF|k6WM8lRX=8>>hrD8DLq9G3kib+l!S1RD}5Nsq4n?beftmnBNPZo>_S>PC8JLNq? zFhQ)6Z2a4o78g$@C(wR)trQrw#t zc%=durpVlrb;JfYw0U$eo5$=xxS-w_-s+YwWudn~E#MC^89L0qi)V<+BQ+6}n1e;Zf2%Ai#QmJMxgoY^@NQ8j_DF#Ct z+O-1bb-|-l3vbfu^Wq?q3d*fTXaLJw;07I!a%ecieu*J0byKyFu;pPSs31iOTRW)` zRPLa{<~bZwL!^ab7*-I{`@S5=K~%iNG@o3-lTskGgO^|n+yp3*2@s+aKsIAwj0ZbS zFVI{*v@PomV3!9!+933gfU^!b0ro64<-L(~)(w=%#`2(qh*U(a(-!6B94lw!g?qLM zSGs_@=jM}oz#2j1L1HTcd56d~!)5+LwtdSThRy3huci(MZ*BGPTVpg?wC$}@rieH- zYUeCs|Hc+Iw4A60%T(pBlq{FYEU=!~^e1U96CQqmaSEpLm8raIh~>irh?YzsUzG*vd86rK5YF0zgLgSAM%ZDoRW74# z;UvLsVU(+r>A$H%b7MJ7Q^QLOFb%5=#0$NZ*hbToEe+v^kiZ!{oM>qYbnBKDOtRuz z;8CgtJcGK5m|=^K$F+Yh>eP4uun5QoMxcN%su+Pj#06A6oiZ(xpwX_tZsX{j6{y_U zhh&9Ii4A?_GcoSJ(8@C2>n$99h3AdRU8%URtwwCATtl;16%%WS>$1tjWSV(e!w{F? z=@I@pm^V6QFf1LJOjC1`>DF|B@I|~v`q&yEOOE`2mEc?!6HGE?$poi_!*e_%B2=Ro zEFO?qP=^uMClea8z>tzc-`BpyeY zxW;W^AZQ5U6o4XNsV1kt7(24nI&RFAj{;d@=6Bw*%8rn$gH$r5d!D6yf^V9});wE%G=9!lSW z*($}(^e{~`u@aDHLRvOEI{l14wtrW*eGiQpDy28V{QWMFV*6gq`_pW#gzwAkLWoMV4~t zN$#a`F*ju33IZ!0W{;)fY%r0d%OoBqERU zCYit_ixlEzXfqs|D`9obVJTvSCPr@qClht;Fn0=KTM)(y+tEn_zd{wDfhvaTUZe>r zvWEG-;O3S&wCI8y$|06HoEt7>tbF1~qN{XHrK^@8zofk~p$pbUNb6EqBmoJtFbpPh z)FvvV;DkDUJq!GL7As?FNPUY&M=KJ$@az!~7%m0IhUgLy{tIw7Klb5n;%lxH5OM9* zVuQG#Q?3^#-wC1Ip&k|Xf!*-3JumZ<-(Y6AsGbCpq%0<_@=@>wG#Lewy}VX&B4G$A zh`0P3Sfr3u97mMKR>w%LUDc!$ZfK0i(C9JriYl(jfUbnnb}||t!n^z8wq0N$?DqSx zVZV!HYD9DlyljX%53~sfOmQ+Y^~*AYBXROrHe^9FuMkc8z-b^v-&_xwGZk`8rI(LL z);yQ&nn(V2bal+{o4tS=c0DreF{ua(yAw2EuQ4zpH34cCu@4O8+!A6#sS?txvGk5~ zxH@;q{ZD>yu~)wfOHkY@CP^NP`iWd;_<-AXi{4jA86M`;`A1HzL$sDZd=$* zBM=KIo;##sUzQpy4rQ9j2JwO902`zI!r66kET&4RNE=?{aS7G<|hcl;8LD z(B0hw3_YZzf^>s)cXxv#qQD44cZYO$mvpCqbST}3G$`@B`1$_c|DH8#?z-#FK6{^i z=ehTsUaXW{*@p2pYzV%-VPsL|a2W5DVVt*wEYwyYHnlz>S7X)wBg2vGCyqE8i-z3R z#@}}FwIGNKmtmbTtDv1R(n@I6C~q-~=$l-1y}#Q*{x9+P7y(_ zve(sI$u%6=*>8QKm?_v0n)iB0a$;N(Y+D%q0>UrlEv$%4Dc`#{Bp)87ru|VkIAc-T z@3Vs5@PjMVmqf}O3wAY4yf=#P5|xHoI^HFsE2B(=MthATm#U^l9zlW}#Vqel;k7#p5D%`%jL``3T!Hvi_hFTepm3Aesp}`wLnXLWon&Z z*=NL%pcnap3r8L=g^jVYargB1_FJLFe2p4JshY1^>eyOJ5T5T{y6eQ?8iiboP$voQ zMPm%5Y`nJKq8!80vL4}Or{R62IjfKTmv**QYMW%y?hU8z`0Yn|`@4;YQT##01@Dlp zpJ5GD`k0bY_CxiI^7iaJBfbZ&xfgNK5%yd$I9$`gL!zfuYX6PSk!R5o_cts5k z45nyFRO0yY@B4qULEokCPwK|W=Uk5Kk-a?&rYF_^us1=cLBPc0T~KurFJH$sRz94! zA+s{YXlT!<=nhgv_T~z@Qm3M3GzO(6j&6=(+ws1diDzi#y9k{ek)c4vZoX<8F%kKbVW&HPZ6hIiPi5Uqu{^SI`Oi%nX_`fi_JMekH@j?G zcT8vDWRh*$uc(UDE)Do%GF#+&aLsNEhThdBY6*qr&WGJ~FGzoPHL8yY=5UU&2zYGD?H6&Kd}! zL^{+vqwuZ`gb}~wMq7vDPr0|A*KDv-4^y3R`38VcHlbt3bPZ5{onbxZrNi6^X|JNL zgh?M?Yimfzfh~c_fKRl(teyM1%?m#zF*90J#C2O_58dnc?>dG^c|A@y@7M3)z6#PoiOcrg@w^ktY@Ia z_0Ut9dm?la8$@UP5F{3~-LvtQ5FhnpF1uO=Lhqndz$7AXK5?N&E^XcpDtO7JA+#R2~!i_O=e()@y#w#Sn(2fvq_Q7g^Q zq5xAZm9jmw_G|q1ly9rkE=gQ74<4F(&}RmdI!dxs&fzB0FzX-13Tje+m)+4rhHsSL zPl#~}g?bC%%~1!oz&5b3f`5Y35yFu_2wdIXz6xvK3#C%1l^4dIrKDV0LHw#^#T!Op zjR7sI8&cOaFC&0tp>|3UOB9mD+i&c+^ZUgmBApJOLRC>5!`j90T-f2voVIsv^2tn} z!!WKm!?z1p#>*XK+ zJGO`q0{mA}`cveRgANXP=4+4od_ERF1VvR}o!;gLvXbZOZd7{g9q$QCVs5Ra{h9q1 z%{>0XG@a?^m^pVKSsK|Yk@+#U6|$5Si*-qyRj3qiN<&2c6pg~WiEGOrUq)&fOT84# zWbaEje!&cu)n+TElZQkT(!JV>(vJ2n?qR}Mr(sb-GD&BHj~a9e0Vr;}UoaI4@gSGl z{VKH}^WfMp%C1s7SK?ik>5!RPW;SN-^W^E^qMLyPxv|-ciDonVOfjWx5A!rk7q7HS z$S$$O7daY~7s5w6M#@-%r!T1Fl$Ey$ZAD9bwUsH!e1mR7@^-f{r>l^;BQ(Jb1s>kW zRo<2yLsT&nxO<8Cn_85Zy8rHj^KYN3=#abP>Ofv&_T*L zR&HH8y{%yma-mc*MC)LU8r>F5NA3oaaL?A82+MUf}O-e`4$#e(IJm5 z!pTYU7MDNOo2@>IYWy4LWwE)_F8U2ADOC6XQ6u>*;TKb>P6C4K_2uVfJl)Ap3$L%{ zCHsV8wocK0PUoQOBaHT#~%Zo@-}*Q zP+TX=F!E!Cy!jTnHO7f#rq8SV$+sfYD$K@^>+VW1cu+)RK1M8%Mpu9-p6kG+qv~DO z+3=qs50hK;4bqnd|9we-1N|mTfxIXgj3#2$e^W|ASwjXP=HzNvtQtH!TTQ_e-qmH# zr*~#!DB=+i5}KBIV~efvu9#mQ9ZS%WKe!xp?ERC9+1H8WuxS7nCPo;S_DYT$e}-u- zPmy{eDCb1&MJY$)ck|l6{f!%7w$^TJzLn=2OFT*5`kpc@SY}J?3DbDr4Y`;QMr~+= z`~!I!Eap~BsN*vd@IBX7j{Z3$N-8eeGCKj&a})7ea0%0cIrNn3L?$K z4eEE{7`!Z%>G-$ITvnUJjN zWC1tSlT0{egws2yp=lPcFg%RlHDjqDZvo`5G-u=~Y@nj$Eav={x*kG+8imq4o?sN65Fq{hI;C2XQPPTHKI%~oqo)<#EpR(GsP0}S9 zwR$&tWUQ@(egfOY@@O6tEZ*gI`Y-l!PU*O=m_E+G3Y^MB@STle_#7=ECb^Ck4@Y(1vCn+@ximap_zj2~ zO9Qg>huR?O0*N9*ftB5i3yg05W~e{_UgLDMPfvB9IsU@Pf~6^5gar!$i}bJ${4Ecu zalyMTe^R3ntDU^}WS))&Hy?(qdNFkJ7*dY>ggx27BBf^jr;_gSR6TB-J z@6mlh!HpyYm zjgi6OL?PcBXQ}Pqaa5W?FNpRLyN?xVXHtpJPb4rhxeQi zo}BW*q%@Q%XQl<~U(3-&l9Lm83!QWA*r!>=zf$kq$VKJ ze|aa`p2qK0<5(4MyqILzb#HpA%)p9_keV8Q`_JTV;wIQeZ$PMiEZ0K-M~+ zMLtW5G=MRiE&1B$mE!ee-6ELE3O|KK=UOONR;^XXx*Su(evh>XY;Z+aRzr4UJLSkU0fOKdVXZe};5nKo^y}l#PAeSR_=W9Pgjt04msWn>ips2MMHtig%PE87t2ftSr!-09s5dC+@2AW& z#gVw3qxeClUg#NMh{Fxx(Q@#STjheL-10V+gs%kD1+VOHBiu^rD>B*R^t5E>bM;1H zhKkcQdB)GCMIc!W-FLq9}7$%F#`eve%;W?*5z~q>KJIaoSbn z?>o~~ZYSiV3nOP@wCNnXd<0!NNB;vJ3oGrA>~w z2;N|%2RKL)G{BPaDvO0$rbbXxg?#p(Nu2sI5ZG?T1wPD+1!bYuz}gy2kJ=IKw= zP^8VR%a3=YnrrYt#z2%jJ`m<{0F4Yjys;^)KV3)0A%)}tQ(V&;<0VS4?^PnPamESO zyXa&G`M5CTw`OSD4AS_o$#4up@qP;udV3RY0)bFc@S#!fr+XL>uw zQmd?@A5KS4=>O1%q!?wPs6N+n(2pdc#oU)m^c4H6g~5&IEp+2cmZta4zo7yPSR|@VTAo$ONxp z_^G}1BKX(p*o7Qtl;{+$_GEkSp9Je#kdipEGjtCgA2$~@MQ^1O$`Lv@+!?`{*<{R8 zDaU%;VVzIBAF1`ym!eL+FoQd-B7vZ1^kx8)&wh<6R*~RhPNI&A_jHp#Uo7v|iuy-x zKR$;wr&VPOHf^Xw+zGFf|U4=F)9sdGM($;~P!8~S2)h_1{ zNg?RGqb~#BGR5X|B$qHSz*|yW^d=D0?)y@yjK<(XUP6Q|2l|kyOk0g>hCye28U<3o zcMXQDH@Qu^HxAtuyB{Mqp<08CO{OR{R1BJS0uz+%b!bVdA1tD-r?9IFNt-c-Tx8G_ zh@B}HQtGYrctWt%+^}%{EQo%R>&g-oFLyR}xqn8H4?%Ik@hG(gQ$%2kzr{r9(Ijy0 zaDP)LF|C2lD&Nak`C6?G8|EYPjj9ygaN}jfPf~*&awhzvfi`VH)B&ceC{&xEE!k08 z%~HaRhT_+zQ5@uT7A=j_3KJU!wg+g+1ye?)6#U}tf(rO5y>nSq%VZs>Rv(yfgOiZT zoh;9J6pnj4FEJg=IV8E?zpig3L-WcLS)sd%Vaz8Fxe|Nci@=oysoBCq4oz!((Ys!| zElE3y*R7Ob?HFmdn=bu`_d)eKxX!DHoO`~ycjIii9vo+{)>tkTg2o$n-Ckx(hl}fh zB9|F#awR$vFAzxl?ntFLLX7vfflj#S_X7`NT~u7=Ei!!S8v^>GtR{#OF@h+eJ~2Y< zfMD1ev8UzRt4ex__x+Uw%(V=reCSFHk;oHo?u-%i1vQjacYgF@m^@l{-1h>?6L)JC zrW)JKV&G6=nXqDbsE4qgwJvo^sHOp03@4>7k~$ID zRD1XB4s`sJ0$Wt%_hCMl6Yhzl?VXFbP`!zG?Jo+>;FC-Q8NaXeyqyZ@W0dv2?1}H( z0r2x5Q&fVeGH7xnjEI(-R^u}t*l57}X^cv+ZNZf1HdKagZS-JPf;A@6cyd+~bGL%b zWhM(Au{LK{QptJw%Wy+!2@G&)e4m9Sy+9yco-`tw|8D)#35jGg2bTYl(PFQ?TW-F= zK{@8AL_+EfLIvWE9E*a+nZi)Oi{yFs15#Jke#i8fs-71_R#8VXp9T@#=!WF_=t)~6 zd(FQ;A8Hq-;J%`N62OPHz-=`JKH1`L=q-FZ+6!DlTiA`JMwdNNt_Xgq_W^n{Pw+rZ z38icktn%Yw3cpYZ3J@Ob6faHyds2pRND3kd&@eXDX`%Ygp?r$gBpsbWFF!`{lYbkf zppDWP|3%U-pTr;;-+~&Qr&hR(4kSIWi~l3m`4$d8Jj_Gz{%k~@#Vbo3+*ty_d~Y|D z#Cm5Cr`s6Js8_}qidH<~Y#+EitYCL<1F*|!Bh+QnryEA175)@ObcVVUIB zz&NoaBe@AV3Q!aZ1&FOcLb8?S&B3x{o8?NLhRXnE5BUf2X0WH7t*jz$I}smids?6r zB*Ky_3<2E*U;7BzHpnrbISrPI@r|)C%^zVA+Z?P2A#qY)qMkeDm;D1Nc{mBNji8>; zNn7UWRHvk@zp#3-Z?kq0sp^K+zCP`)&^VQ561rOS z%DCXy@z32R#;u)G2|aX&;bC4&9n+ME>M3^zIOFO>CSwr!Ci$ni4*Qb7wtR1C_?%F? zBf~PNSfs)1vYNOMNkYx7*KEQ(X|^irC(eb5))I4Dpn@|-i&kU7RF`Nc!ud4^qdT68 zW*%t8M(?L*S;dKekb_#ylpfVzVH4_3Uhwj{lag9%pa~25CiQufjCl20*ayMLFiRe< zAQmTBZ!|Ak=9pX96uF4PkYPQB$NRD*TZBWvmXBZ+f}Zrl&nqR!I(tV`JRW(ZwT^(y zOAZLfWg!Fk+a>4NuFr|DD`^j#cRaleu=I3YQh?tnT8IjEu6;(RBXIYlaq zAfH;$3P3|JsPog~pdxLul|#JPezEBwo!Z!_es-3Ua@Wj2lJP(-f>Do8nO&Eu$ z943%04C&F?%^)8rMA?sX=Tae5ce0`GVJ%EiA{Et^#D%_Od zjC5oBO$2{%Sl@{Hrd6k@v;+QiLSek*9Tmf^{~YvdRXoCHE9y^#JxZ~8*wzhlZ#iP? zp39=zQ6|>^(5IkpEymSuj{Z&jcff}|A-NCfRUCRnOlh$pnB4dw-EoOj^X*TGWr_p{ z5Jall8vyjTX z^v3C#D0+v(%#8;J5ni#J%Viv1OLe*!Ue#g5-ml zbZl4PDfp zqX_&mtQ{6mUYa2Oi+JZJKRvk(=YToh zd2D+0d6=UJw?T2(O44Mpc^eO`-LDQTBUHcQ-dWz0a();xzR<5&$}n2MOv5KXE_UOQ zxqu#f(}yz2z{;tq>H5`~MxNMrd3TXt=;jmTAWx$TPv6Cue`rpQ^|bQUXM>)YvY_=& zg`FdyGKYk{9)TUCJ)NAX2Uu>x+71|xU9*3tN_Ep1DC}M!Jr+h3Bj(3Hx<8?Znl8om zCVB~*##2H#R)|c4hHj$jigVxFLma}bB_)BjvJxI~{Kr`y?kNe2I{mS7C!}2Wbq-=J zdD1xQ&^lpQ81uy4rXNxoc?t5_!aUyJ5=O75=N)}EPL>Bp@R_o9mHlLY3MAUAz4!z0irVavVXF)l& zUtY{i*P^O(IinnAQJR7Y`up1mxbZOdDF&33c|xEUgpKwm_Ct;mHiUlf;>R3|Fg2&dzB}V(utK7H$hB2*YDhiB zE%>q2mzJO&%C6jfytuhD6#OegYO&w1LZTd6;+grJKF|$*BWea z2pVb&cN`>O&XuwA5MiTUSy3*Pj)t_4NhvGuhS~l3rP^?b6wGef9jcnaiN#ANhdtEi z!A*}S^Aa6pSpQZy8(z?Vhy2Z)O1Iw;j1!Bg;B+9@mPfXTZ&!l{RiCRIpVuF>#7i)x z-`ZxDG93{6K`dFc8RSf^ta__gt}0lGr;L_fD;llQ)x znv#IX4Z>*YFJt?iK3lhafdf}RsM3H?S97eL|NbjSs!d7Fu4)LD;o*OM(fa%{ojk;&ZEagb|F%%C;<;y%ol{r-Hx)Brk5AK?2I`2=b zXcFEG2rg)oxH}G!cbZuOOo5xQB_#V|P@2`NyDsc=8W>5mMEM{{72l|*j}Y6!E$qdC zgr`;g1O~=u$@##P6j~=@RYl(;EoJ322Rd73OCDpwuMt)^tc0MnU-1l7!g%n?nJaaN zFeJ>}OQqN*5080a2u>t2f|VLtV8o-7$0@y>e6AT{DiT)BH+}M1_WjV`c@3d|AfrfO z$RKl9USs^I1y6JAPVk;MQ+4E+OS7m`e6fSV6=Oi2N>|tUzQz$7IZV zW7yx^&^vKwNeJg8aIuo<&1E?>-mH#E*2&F!bbtUk0M0D%UAUk0-`S z3v-}_QcxZIb$3D?Fi-OnUa!Z`SLyNJ3RRG}esEQi*C!`TJ7>IuyYH9>a)dL*)v7+y z6Vg91&C@MfC%}Un5K=b%Nwk@CJ!b5s^cxB>F)D)X@dby$wx-b9yyDd`{~=nYS0;s_ zQ{VfWC2kxPsbP4nJ5zWdeT?y8&oxU_Ww|s}i+m2*JPF#UO!x3rl1I4+zN2$>HZ7F~ zYrzY5K{8r0+*~54YSgO)v4lw3msF#$)ks^(VQFL`{^^FVeSzF`xa@Q>!|rA(O%asM zc;jPSNOUn92Z;}Ci1J}-3#`qs5Pk{V;;HEYwnnbn9L!<7jSr%H$Z!3?{FUHem{jJ| z5?Z(_RWXfRC!%PPauORb*0el+gL?1xo}sqAIAN+dI}x(6dvD3SHW)*HNpUd0)KwQwS1jI57*;TH_-&l;Em4Ua&ekGk8nX3GvwtC%e9+bfv<_NG z;=)Z33#63S{3V4cGsP!kM)Q0Omguzv-Zw{wpvUkQyZ5UzXS-fSL6TXAfyba&=Lx^i z*X@OojS^GHKjlptN=+rweS;Im$w6}6xymBxN^*Mrx%ycoL4d8a3LJK}bPCmn4=D@; zB*d?DpgH0dmqAP`oNzI|O5~JiKtDfW;@d;Z{0!2NJ028}%VqJVXyxJPGbp@fL06(z zuU37Z@1pPITABFz{1*QzlxXPMAtaW;d|6KU(sxJNzA?0qB3$k`Grg*Sy3Q6<~=Pb>zMYA3DvZ-%4U zb;uCgrD$9Yg!*@87`^`RD{A#!qQ`edBL3%`? zFqvfYHJZ0?8RZ%V7S?C+Lk-mggR(=y;ww{#pX^MXk8w=zj)50J%%Pmu?&ho@1Xl9Ng|qd)ewO!wQ+=M8yzAf5kq zL17~~@nb|GP*OztKsI$yUj$SWLe76K_+NP#O@RckcFD!_8P-xc?vea;A z1(HA|8n0_FQ4ci+zDHspG47XsK%zzZVb3DB=j~hT#1I-?Pr%46G#JPp_>(%_9#vW8 z#*m$B;7eDQu)gLS3m2p{2lD1bgfF6+ius*T6t)rO-%8sU0})ck-}%4M!xBU5XoJ3z zQ(Dydh-cU;%kybc&_4IL8@TGpqAT2P@j^|h%|19>5bjRg0};MMB*iXEO;UC*_$FC6 ziH$N%SjN+rr5(e{WlVp^$hhzwUm}#H$RbyLQIr}F8BI?}R*fJx#aLGp0&NniMG;I! zcrWc8;I;fhArK}EE3WsVVs|}~U<`W?lEaL8ih*ZPSH$D5Zu(XfttnXQhQMD0huc02 zuVWf{;DC)6{!grKRJ1(3Mh7lGl2}ZWpR5@Nlg>#G$lpgfv@<*1gJjktDy)~phvU+X z_q~x=dpx$QL#c)8JxWl7s1whok+naiD)Th+m`;-bb)n%q%FIU!7Zby zw&n})lkz>uXrrnfk3e1uRm%4f>+3zMicp3JuZsNF#*3JsU?( z!A7%}eur1u#mfV{>+~bkLvWJHvtG7K(iFuX)XGrCI7{Np;KS`ZkyQ>|p5;N4UjGGi zzD>Swecne3qyjtbTF}*=($BMzs};P_XD-_p(HJg0Y3j;9Lx-5;&Siu&JYFI)mkYnH z+d827q#Hg*@-A2tNpZ!3#j!uQ?|dt%hSvz$KneL}ii0yj$m{$=l$U6l3Sso1hRHz6 zP&d4ZOLIo-&1A*r6^CUql{z2y=N?BcS4Gp( zyKUZd8C`AYV_dKp2+#_q+3*L}Qwu$M;K)%0SdiMGwjqN^#AzIy=N&6z+>@0!3=L@m z7DY{!Ir3MmRrU0SX&K__RRn6LDD%>8|3<2 zUn2Ec5s9H5t>ki$Fpl7C-;Zl&hhISNHKoU2zLl(_@#J-?d-6*xuNtehD$Gre4_v4gNEGv?onur@K=WC25$+Tbn6>Po>@v1VKUp@j?t&2)gQA0fGoqJSq8c|G9@ zMLJLSP@D$g^zC2!*5q>WNij;$N4+p7dq(rma*lu~1N%mweRbNmC7!pfBpu3gl!TuA zm=s4sC3`k?iiK?YDZ3=IMs3eW;Zej&1rBVIGZrEogQs#03TK#l+c+k+^#mnUQfP25 z+j577Xn=L7_XanvC;(DaRLxof|ILE0J~VeuU4rrSI>jZI?53R^Cl6t#Kd7ez2X z@XL`)!k*%D!-+)d8skrb1S`EMVU4$3ZmglJA%iwiZw(Z`E#{lR@eOp*QsD6I)?G?R z4Tj{2mWaX8Hs$>-+jRhtb$2*b|KI_P;b}sbd zJi%$-p6d4vd|^T`AKTFcrZqwgJ*xJfLE9NA?-4kMZu72jBtU1L!Y6iBDP!%|5<1~; zRMp6b>NLQT_-4xPjQH(?kf&-6|G(Q}5ZVi_(%+rx^`Rin68^vj@r{$B!QAQU$oP=p zsBOa!iaz>>^4y&2AtJ}9k{H6djXd#-XLfV_UrQBX6pY|w63tCG*c|lT!aat&3EKLH zdf=m#jsJ*}-3pPgxH;Pm;cp>O>c%`yqM&!4hJlOI#h;St9U~(DP%wH%K4hb&y6mn7 z9RJ&0aiMVlqCtXeKp>+S&zwg`Lh#9~MyyIx35=It>~26!R37ThOz`k1u71b6D}IS` z;dK-G(O5JscN2`$Ws#foc9p1_`%is2YX9 z!&E;_4Uw$lP1w%{R2U_+*6o_UzCKXo=aNM>Tk;3mC>s-ERS=e9r9raz6r6F|`l=vW znEy!lP$-}GU{IDng`6hE2~0H+L5C{F!)V!oZyzJGl4#TND+krs)YGfI7Bo6+4c~Yr zvuY%*aB-ApMfZV3LxK8S@{`Ge5O-!?&MeY_fGM6Z(Q@3BD&vL9Cz=r>t5$=LBF?mh zdWV~nUzk=uyRz_m&(NE_)cEa{PAL1M&nYCh7*(i$kl{U%!GLvOXr;#AC)38-=?GF{ z#*Rb-+Y$WXO7ZYYLQzfY$#?^4=jyoaVt3sY_F4yie#>vYZM>=Csc>_eQ3I{0-~jix$#W zJxOadR4XEzP8AmEH_Y$u)30iygQrp2;t|_2O%7$oU0IF7j8r>K>sI_x#AQ>g-IJYT z|11ZIEKK8@Jdv-X2mHRs%8FD|11ImN6wjPWVnI%5u!?ud+@01CQ!q?8ie7MOoqZii zPi=%500 z2W+J@gQbr&Xzol%&O@K`)`Yv`RV1Xk@zvKFEz5CN+BUYrzil0#!-(GG98}tWPcZnh zf^b0hWv#2Ze0N^Kl(j$obRk{4H7zK$kv5Hu0;NHG3W+Y`O&)Wcj#sLUn{dfID4T61I6pW1L724(7gihARDhXvvWH}xOCEfZ{oB?@s;->li;Y@}k}zU2hr zKWD)~hD1NVuYPD=jB7rG?6RLY^9YXXBS=3{*H1+@DB)+lndZ-5#6{(?#eWj)Sl$Ix zEN zdwOpcpVa=?vZuNIv?yan%CC1rqo?hy_d;einWmpaY&eeitWWl~yE-hRa$GZcVQw54 zb2 zSQ>P>kISMOfZ=*vIs04$6e1Rs<1Ro)26S}az3@DJD(5(ftfV`qjt;UizpUD#%A_{U zl(w~E`33+lRIIOb&i%PCE`zxWbPC^9*49VE^GH@~4MG};P>bflsFfDLxM9%)_p#$g zVA0TV4S++-t2e*Gj_kAZjk-3CB5aNop!hWFe3al{QFu@K#~?f&hxP$_3S@O+7%PEr zA@UEw*w)Ot{kfnLU7n3M&UK>2t`A0ZHk`NO;mBEF4E_EmdC>wG5b0?G)U?e(0mffu zKFGrf0$O#Py$dw5?%MMF$a+nKsFYf@wuI{IC4e2)Du67C5A8(KkQig!Rw2`JE~1;`6He(3%O`z_840m+P9d3Tk5ww+%} zX=wyKWlYI$PT6u zYw^(NeK%J1z@D7Fj(Dtz%wRrTK|ONmR4LTHeqKXuQ&TH#X;1s_0E5J%8zAF(_2RH! zlp(pH(zUrXc1%O`0XATI_`9}Xzp7N0w( zd+iY3=JOEx@~MAFBT9bbC$t2Rwf*K3}^?J*PEC70P92A3zooQ(mj$5&b>G@faa0b z4%GYuQApNAM|F@-W#A9V4<8rVWaM#msNP$W^_qRaA5p0ia1&zzRXG3^O0rL}#q*bd zBUjT9P*J{n$h>uz5!~EWk_M{@%eT6#XB$sh-q`00lLx6|uT)!^=Dooe?9vo?3Z>x4XXVZ662P3+EpJfz*sgAcNsgO3`sbp?!u!8ElI@;n1+yrL|a{04Q*T+m2lP zF9<4kpK25t^lu+)&>jDyPb=V~Hsh>DY_fVw{6k%3RkA!V&neq-9LB198eo#ll-C6a z74z{vO-YHaH4!2&ya&efS?6~DMb4dB41_A%xo>380;@sRO2oy7|qc`_9Z zPnvFjAhSFd(^d>{D`3~S7q>>Z-5}n$-u}a4^W(M~f@%1lsw4yPT))fmPwwjr!JIt{ z*u!%;{hHQV30asAYFgi|wRDdj0<74dV>aXQQ)T5>K<)d{-+ux3$E-zk{++d!0Fz$4 zZ2xzEwFVi3IRcB?toAm5NPX<=xkFmda1KC629zv3W5eC_7eHQ5)z{l6 zqn`BOl$@uLtQZD9A}VDtIudY({b<|s^h~n&rdTrM?5xvhNZp2{yR=1jgMjXM3C`Y zl72yz`SRg^ag+We{xYgiAPmXaZ6hF&*&2{0wEe#y0%sPV`YP5|S^_lzuo>0iH}SMt z_vZh4@t{U==xO`-P!nDD%={_2;8$2!&ov>Ra|PYU(&2v?hyjc8mwOn+hksyOPANsN zvbS05?Sz||)9UVW$~9wwt7vy~Iqdz9y)xSYdp5mi4cW~f)tPev zC(Xx)-~UN?b^%*;-cmCMdo^Qbwi|kN6=gLfv$<6F0LUmSc>f%$&MHOzz_u`|dn&GP zgFFr1Du+`v$n;qT6#V{=j|9eQ8Um_|HnKAx3zt{(Ih9jf4)g8O>h8@*uG*ivc}bdq z!}YoNkZW9^Q|{5MYzcrdEL=b9z~p&%%637h^DGhPV57-6Ke5T}M3kS_a{JtW2_Vz7^52#ySRp>O+!K|3V9-E!_0V9C`U1UA?Z9zF7t%%7Enxx(kk%&Uw9 zSZpR96{MN+M$yoK^v=1A;`^Amn2tnM z;QkBCS1d2RD`$Awo)^)~;#9sNT)lCB{Rm*NKC_3!I#AH0Qg=K;?Oe*|Q(g*6xd zfjh8A;GlyOpj2JC1sLCtE&!H%?M2{~mw|Yv=^I3YcR&slOY=Ws{{T|*D(a8Q;0J8k zmK5c7Bh97k*>>pJMnOPcW-;5591Y-P#jdjrNJ&jw**rHI^W9@HTc`zWRJqpy_V54m zavV>gCl&3{a{(srh)wD^6?w&|R9=+t-`8Ju_X4iT$aygcPj$)VPvY&zUnvOHabP{| zmjQ*I3;!t5bP>?6ORPF8J3~M`rR_2!Kx{@TrhzXz+01?}j-w$sc2tuJtlCgN z#N!YHX2U>r=NvWQQ zebwzV1t8IB{djst@XrHX?>W>&NNh^md%a#%Iq1&JAaGk;pd=f(#bDL>10dFDgQgR& zK}fZy4`z~;h5sz?vqo$GNH7_eAM45|hqShE=r zPeJNg7yvlF0R%p>HNXF*u#4_r$L$t}%_ptZTW$696k&+1FxKbYdd2l+z-t61N?`Wb z*TBv7o9Bm4O9USC;gOC>cAPnP>NCn+Ku0y(>&S_a8W7pd%`O~x#|O!0JD~VbBO_JsWQr>B;(qggY`5<1l~s1BwC&j z#qt4wS7tUzpehFV%A4G@4gf}v-JhQHem%=FoqVH!a=q$|kG1S~?7|1EuA*1fzp<+G z=dJ-YiLz+`t*YqQ;2|gMfqU%wQrwBFX%9Gp75vGzRw%Dxt#)mTsValha}=KxlvNG@ zda{F+#{iX1_z&PDuny)~R;7j~m7j}u%3dj({q*d}82#s3Wv7q+ndRd@;wjd5fq$w*Qu5nio3H9i73yd0%h+)cSp29eo6)`1R?Tpf z{p$}ruiV~|UqcAm4Fkp#xad)d*0Xl_@B-=!I>#x zY^yzsBxbYF<$0H>T8Mm$?C8__4zS=AAih8t3S4#%0o7rEtW=?T%fC6-fa=_%Y|F@c zs{(o1*%p^UGMn`ls4|Iv3oUSu!AkH1)X4y9tWRdz$L9e8sfNFRdIpMo7p!sy<%r`^ z=93R7)Q=IlFF$<*{>9W&_tTq4oN<|lfMvY8Y%vVW?d4_lOzAL- zo?E3yx)}^b9U*nMV;hE|@<%)(n271Zc>lxG)UN=?=k)q-D4D?XUHmC;95oN>DNmBw z7axat1@v@8+dKiMd{@fr$8O%_^V@(}J?e=zs;%d|4AgYaMFAB{ueWZh+4|-C1vyt6 zIcHMD6iL5~-O*uq1oW5Y0ByX|cy0IA1^^%do+{Q$%46OII{~4~%HColspgb{6?;-u zbw~xK61BK_l4{pzD4_Ky2i2i=Kl$;@B|!?bhFaHpP^;-K7c<4(%zR zJF~9cwBlH6kinw!>bZ3r-;Lk7K*d}xFJKRR~><9UFx?2H^^)6#RkN?c&c|agwN+?(e~ln`26zIC z|Cxw#AhV0T4GwiYV3Q=oHfV-SYVs?$KxAjxcLI0_F@5gW<#h7z>7<`-4E`Y0EQN6G zDC15C#)<$!%z%9SGp%kkUp%!OeSjCY78gI4sSktOgFp5x#$WtiE`PQue~|yN5i9a= z!p{@*=9$>TKxyY(2Jm~l`FBQnp>TeFFUCf*jZ<+D^9&Dvx9F1^nXF=JT-N{Tz0NJr zt6RL|vsW+6@ug}8L6`u@F?~*_#*VuH{NzJ@ZUoGc4W3V4Y{5#|o|_S~;h205WaO7$ z-{nMCBrOB^U%SX$qPI>ejS6twpYu0dSn-ZlVRf+2Vho-%Z+no(G|3YWRDhw|9-^c&UT3!CHxzrs0 zV=AiSIIgeDimAJXEP0-*TY~Ocs;^hz{~Lmcqy)Ln|2L+>_J3E-DGhmu@58olvs`N! z=>bbz&qs1VYB)Pk%R9!~|B@_df>e3_w_5lA*Id?S|9^Y_L32LauqznFKHGgj*Mdot zHlI9c(k9C%e+peW{mVy=pf8Klot^W$J3A9d4g`8JX;RZ^L*Kjm%bR{>$KRiN(JtN> zzjAidj}~72qc8sbf?s}q(ZB5fw^hqw%FLl1-ygmCtjQPd`{UU+4nFjYTNC~Rm-n1K z`Gv1Nc+DjX6CHmlo`3L>Z#

`GtFKJbdfF-ajz>)t5JIIx}-&0x(X_>wtck#2AzkC0xBd*DxdEJ~dc7E>ZcmI>SWz`!4 zSMD_Rm-l~tmz}kzzVhvBjye0wGZTAkSKRTH3*D=J|FiGk-#RnrFIaxg+b0=!<@Z1F z?b8^x))&J}{1Y{8OcW ze0f^ivVAvs?R@v=&DTCUAC2}&-lA^5r)N?N`aF5k=9}y~X$$me6ZHSgO?C@D@4rdY zq|NZ>O(#wIW_r@*^!h<`Lcd49lfRpN|HMh3MxVAv|BqgX=dgP&W-=gB8p1JK#ZYX8B zIonH(4h`e?PakbZA3<73j1Fb8h4#@IQ}7+_=rdeyo07n{6qnAJvZ!Z%qBEEG5?V?~ z2~%b^Boc|~dDm}W(6v8(9DSQHWw2NrZf|QF85v29$f;a@piMMQvrUlNB&ikM(OMWo zq-(S_TbN2JVfA!*1$;m?B5DcvZrQm~amJJ>^d3^ki@ecv_@-=ub_;c|4Ss18Q$kx% zH&hQ-+vlf8z09Fqh!JLidCrt|V|rWcFR@Q93V#;`S>hjERQ=I~1ux&38v=4YGn_B_ zF#jVPiMFz#AmiLd2YP11^tNEqW;Psl)7JN)dHh1UYhEAvyD42)H>3ZX=wI~zsh9oe zPp|JcY0`d^y1P31MmKrk+)v+h`0O|CZ2aBU(qc82kFyx;F3Hul&Em&b;lT51(83j}z}a zSi5xtUjZC+fBAB`|m$r+VsLrAG>Ss@4WtlLmDr=Y;fh_zdG%;D~1l<_2AS0 zxZhvzTKto1rzAEl`>(Y#(RbW#pYJ1*U%TM6ox6u-S9E3hiTnM0k}jPv<%54c@W+;Y{@z8gI8U>`)?lZ`+qn6>ede*Ip)K6p3A=f_A9sCb9(PV|4rTe`htgUJ@#0A^sc+M z7bjo*_T?*H{ek(|e@<=u;?pg?n|EFC)($@!I&o$80b7bl?z!oOS1w-t^Y6TV+QOgBU3s{^`li7{7u|c`vaio+ zIrmTRJ%8!19(#D;{1>k?lVAAhwyTf-)h!>M|LDpG4t@Nl4}SLZAKv=Nw~w2AwRrq{ z=YRC~51#$oHoJdn(-Y2m{l!PGJ9+i~o&0nR4&b*Ovt!)YoS{GL{@^#g2bmWg{=MH$ zdt%S0PI-9chs%F+>A91?wO`v_FF*UkB{wvlfAoE?%$Dv}?tlIJH{Lh&t>Y#K|6RS? z@$(=4<;V-O-@WS>yinit3|LxdmFI@4pvsb+Io1Ywh?n%c@etk#ursXHyboo9U z5$NB1miLcW|FlOiG^G#!HfPV@d~=WGKYxCwmG3{Z=Z&k6S-s+no31zljnq$m{p_RS zU#{9^^AFy8YoznUmmb*lQz!iF{FRS9KKjhbXY97k4!dQpIDT>dk9*&dya18xT$yD#xX_dWlI?|%N7Bld0?dHA&J-*|BG<2%fo zzMa4DzFj^oZ2$EWR&BAVIDU;Pv}Q zT2}w*yT_uQy>!JLTfg>|sq<#Oxj@+Oo@5J@l*d z&o10!K7Qn-zx?-3X!KJzFMIf&^Ory0JaX4w-@N|w1LyoLw@Q5R>if@p(f-5RUwN)5zWGLvQbO&dPWHn|yi~^wS?4^yU;W2jHoxjG(sx!p zc*Iu!n0E8j$@YwUTd%r%`Kn(&cji}@|MxGiUVqzGo9~vp>DT8!eC?~KEx&z5n0(LM z?>u+@jeCCh@;7G={_|fyn3r96!wYXev10W*OYfff-V526pSu0>dFP*U#c4CXcJN9*v*+mld2HFELr?sq z|FqdV9W`*?*u_hCdg!oc?%wClS>HVB#QraIp14)|ksmd5E`8=CY1^w`x#Rx7hP}Gr zhuePZj2D(?FFjz-LrZ`9*PW%;?)lD{-*_WAG-uII(L%iGmU+`(`Q1y8|NG@Xx7}JC zIJb1>A-Aj=8$NXC;{SJK%XQD4x1#;Qo*lQ7x4mGOE6+)ssXsA#$3Fi}e&Zi#&pzg# zJ+#vy|9#-Ov4+wUC$GNgwR=uc<$XVT=ibM&H@^7bB`teQx#OGLy!FIxD^}lp-J|Xg zdfFejr12*YjxIgpp+e6!M;-L3O>f?UXV^1(5`D{7?f&J{W?uRH>3=+R)xXc(x%D%v z4t?a5mk+q8cWkGhZoAD1Gv55dzu%qv;LlcFXTHB`$w$vWbkRf0hqpTEqRl4%dCMn` z{pf?kdT#pkCg*KF`=@6ff85M__WkJSk8+n>bmpr|@BihKh^SnA<>gQObH^*T*kX@K z*FSS_`>M+heqhg6x<+5STi^W;+dcU74)R`mKiGEF^Ot?|-tAYN`V8vM;?LbJUHaK~ z9()OP>eTZeXnb&1a)&R?efiJY9>>0a)X2Y1n{&hLosanY?nnJ@yIXeMe-~SEx6Ho3 zTlV@3Pd#_|j?e0EU%%NUH|+e?(F<>U^O2>G|7o9Jz3{`~pFaP+foJZ%@!rFpd3NuC z&mZ{22kueV9i2?Sc@A2%V{hKb``*)8#_0C%_KKjsg*4#^OxnpJ1vCp1y z$QS00Eg8)XK6&Jn%{nffvE9jY!d3gF8JGn;zH>lQ&E==G-a2sBjOB9{U3c&e=jC5N zJ$q`$ZOd~zUYqRL@`#bgOOJ1}^5w7nq6HD9TX+A%7N)z2)mQ)A_TG;^y~}1>xBn+G@}CR8+5YOb{+-u7mjCkk`-{_`J-zqn zD`uYX=2^*W|6ym}dVFN{)nEMWyU%WMh5E{aCq8rMp2xoMt)5|YdBx5v_i;Y|yDO|a z+QqA0y=<9q@$N77EIRBJG>MNKbm=L=Zlc|_@T;T0{me}-Ui;|s&2DeK?y&`LZU61d zUb*cCtpDA;r=B|F z%|&~ks*N5z-1fV>FIbHT?{y1Ku_oQ|_ctC|vikh%KG!e2_xrY$PcPd3{sYk&ULHnPT-Sk=Q$)jKU)7;#ZUrSu|t>cet z-TBZToRVMmz`{co9(MLW?=o)v@ZF_%UM4L*XxqP@`uXCNH*S6Ho@p!7n;yT*!@v6e zabHUwd)xiTy*KH@+{)K>yAG|Mk>_hPUI@ov$2WedBZQ8$Y_{mbd@;o!wWx`f$$)KfL4GGrwRA z_dhVY&t@NK$LIgNV5=REKK;onkDvPAi(feA!Cl+#z34$Cfq(Zmi$6SWlg*|#jz0aB z^Ok^qrr$dH#9FemIu<(Q#X>-e&*3Zrb|8H-2^OJIj*4H_(=E|NP{aAGvMY zKWx3z^c~)Q?a;kmp1S{+PVle&{%QMt>V%gs*{7A`#(&)bbBtBNDt-QaG%q9n`SFFq z?Z&;+U+cT_x63Xmww(HhGjn$e_inZMf7(`Tz3WRi44vJ%;~yW*-Fox=%TD}E@`~dg zMWlBh{oDf&U-{0nPrT8dysCfHJNyc?Xs_Q%ezWNtzv~gi-=9|4asJ^iAGOIg-#BaR z1Tl5%`>(EC_1ob;&-(5cMi&TYzklbxAO8BvFW&y{$)8*Ju6Of?h&7Mgdev_?`Scf_ zI^*aY&ujh0Qym|^bMLX2=T|hY-1Mb4n$EuUy~kI#EN*;ttLycx_S}5-O|Reg&3W-gw}a<^SopZRbsXz1wKp zsFvJQy!|tq%$xk(P9b~n@SIh*KJk;SHh<&$z0-J&!QT#qsP~fh%{lm7>7An<|NGdy zT_?YMj<(GS*>89BZ}Z)=Uj9z%hPw{>V7u$KeDI>@{Tge zHwcKdbkER@NQk!J$vQQ^bnyOs{c;g#)|vjko?Am@7u&fm&VoG#0T zHM@GaTW~*T?oTl%4N+O^x{x__eelA)M-hB?_5!mwP!i6>LgqG?7C^TkqmiyDG_{9O$9a?+v~s3+ z+Frwm4Pp(aKmoQ*q${5$;f9F`os*l%wzA<49=8SeS_IN4D8`YLFQPq$k3KBOd!0my zF2A*#I9V&$IvBT>(DU2CDyW>pmI&!n3gUhJL4o``#^P~iqSZ^MDVGm!0FPnM=g3Vl z2<riVu+C&f0W7i6IO_EsQ$@S7f7tt!^=A_nWlRx*7u zN-hL<8$8Bt0dcv&EU{x`Qg!Y2yvBL@wgkZ4ri>-bF+fn-cmrLlszrC0SiZqLByjGH zdHzFHgU`xYI8M8k_o1ZQCzSxVm;jJf{_rTzpPU|%B zg*v*D9Os}z3B{Xv$u{6q69)YRD;Tv)rd!INg1qZ?P42XRlrdE<)(iefMCwp-U>oC~ zoD)R{xIlgY>>re(5J@Rks5y8b_4Ht5$n?LE#MWS@udd~D>k_dh<;5jn{g@%dt0k`x zG#@T{+lkEiU6{bG)sY2Ohk&cbxu)00qE;7{k1RQXWk%A8r>u+s2TJgqt9CY>k(P%` zOzZ^->l@CO?bRANrwr!&l@~OQXDgM!Xt8nnxx!2FMl=Xo<-6|Kb5DIA<7Tz*qL(9{ zkz=9>yeX7LXCw%{YfZ+!^%01CvHQ9s*RO~SZUF1eU5q3CDb#KNLd}m3Gzn0p3a8;i zQ!H%Px^bHHX9RRmp`5jB_dN&&|BL99v^=(4TcyXg6He0}9)rhF0<>C|ZAiRD@#hJ^ z-jQpP`sYMkCt7Q9uhnr*O1^a6USRLw5!PCi7vG|Uu;*7AG99H{yW2W?_s%(x zyGgrW0$Q})Q_P(r_lwE#JSW}!DQ4d{)>%Nq?w{Jt-AbWi-mk(ylW6;LvQ{U5lKacA zwfg`IIM4c#*YX6!Q&<>1B*8#<~qO55j`ueQ7{PYp;?rd*bjXdPB} zFuxCKMDad@JSTqOa3yFN6atF_>OxK z8v^L4=rE$zsMLhwCNOm+Q=E1&Aok24`h?~99)RB5E$J|T3!C&LOq%KlW0$!+ddB)5 z3LQ?C05;8&R^;}&fmf?2q>)|};|w6ghtg2}oual4~C1@B$I zsc7xCz&U!&oE1?fde5V@mKM}car?WiIJnpdoIm z;v;+yDKS|XVY2}LUaY|U2IxEw4(y}d&6Xrc3_vukVi0g0meDZpQF8Uo<_#jAgF=vx z<6r`y_AD^PT%!@GGCON?R}~ZO&w2yoPrYG_l>kl4uo1ME+C-bY?eUgc^uQ>hRKC63 z>XPyPodbp9^xXi5;P-uiGHS4gSE91qWBGh<)wHV;YA`ACNN^t$6rdF9-F0AN{5}T{ z6dJ*auZU)wVOmbJNMlYoevvlwZac4}S0u(@ne{zr|8%Ipa}j;S;0uCsd@GUwBih=K zio1pedok39i7M2`n1Us{Py963NC#(LXfBYE<~DoLXej>(V#lA_YDJ80&UIF}Mp^$o zqz!EYj7u?N^43;5z#Mwmvo1_*)lN}fa47yAkc%aqC6%U&0rNe)gfn4MP;_^5TW08{r^PikW>>5?l~;{)yn^U<1Z1g)1*7x}^NTNZD0+40VJ2YY=%ajnjTpv z%I`1GQH>;LMUld%QN*PCiOsmFDy6Ylv?lh){Qzp$%6sU>FH3p^?8dEX^47k7Xz3=w zYC|9^V>JZ<^N`VNkw389mx^P-G$nJ)B`rf00c<@{0xd&Oh?>? z8VX`H(1MZXI!5ixx1Vava5bC_^ze^pi?2wn(gm};FJ%mGp|-A_)j8(D*Pq3T!+3vk ztFH}Vi-5bAk4vh0bTLb#UT!mB#<8fo3`cTuRxyW4a`2~$T?Rj@JJc|*E$a*kFNky{ zkT@$mgxnZ~NMabxYSaPmevv?Q)AxuZkA;`8bWZt8{GW=v{s03ZTh0EI%fD9%oa0h# znz1|+>?^o)D znwBNM)6r}I^IEA?CN5}WJNl0FmF~mjPvIiU`O9x=_tK3G#2$|m(INH9XMJ1{$CGKh z{_Ra2!&mz=@y6|+MC|=O+#bfAm=!*dHfW3I+=w1QqNZy93EOM3mc! zmW!6oc!M$+-+1IyM_2GIZ_C9Ap$&0oyfW%+(rvukWQBNPcpH58##{GD7uTf>(4YaY+*$|lbb zr?-44iydesw?@-o0~estCio(+ZT}NAeyiG@Hu1t|k)uR;vUkDWs-7ZLiGRw@vQ&TB z_V&NpmVm%}K0;!uJv$0Rvd;STSP%>k4OxL1mo0V&JJF&E9FPI#s(?P647gIs=0d{9 z;qBmmEr^#efk7qHMtugo4i>Kj9oO6G%u>RWKo>G>Q|%rbWg`dIf21Iv(g90#y4ng# z{qWNyMy&t-qUeYX!+u^#>@|sQmyEeEu;*W)Z9=^n;I>`^J% z)XR%W0mcSYU`H#NdE(>`0}Dh1Te&5@O0VwvWWK`;gbAbZ5=PHwj9pFoJ&c5G)nNyk zr3JaJ#=FW6^R=~mg&eXijlCPswVU^zzN!6~`KB|;Who)AtS4;}9{$hP7_u<_X&6}; zKZsP}iqX5tl}nOI>E&!?CK}6HA+W=<&UhQA@0*V0(e|uWtcJ-KfdE+4)jr1GhQ5WW zY(h<`^92aSjNOn0KZoW!hs4QRW8ub~c~9JNPXoJ}?Htvq1uWtP2?>2*lGrzxuXZl} z?q3L_Wp)ej7N!Ge|9Fx7GtQc?*(MXTqLj8PS}XC0;(#d5Z#n9TK!PA);U3_pjK&a@ zxBu)qrtV|L^Nx3P1YcQFRowOjk}FzS&KZr$Xp<$EwCcA866JecURZVX*FF3Fpwu#~ zPpdn1mE|`~;tjy`aBd6h{T9ak0DRhPCNTW<-^LP02u{0y4Wkt;-^a)%3jSq8 zdumkWm(+Fod7itSC7p9;M{jxBU1nY4!`J+c%Lcy6OVlMAg$uKd6rap~iKSq9VDJuz zgOIf(6C2YrMb?D@HWM))L5u2e^H1)Gg0mKeP3h!$7I!Ki+v-lasH@(x zbXXJfJl`ML1Rn2T-Edxx6ry6{hB$@pC=d79(GfE5F8}W2CZXt}r+6GBB$~W2n=lOF zT&h2;+bTPG#V`Jwv)>}*zF+<&|HXckN^)n!-fnM8F|S$9cqn7TJ7nGH@OU}pbXrNa z@cjv1h43?SAMvRD@7oh+qwlut07`!uF~}GJRodqm)^*#+woCfkyI^X>N2@snY{}^8 z82CSQ(REzJ_J60uei4vtq^146vXjqj@{8>*F3ScQ38h1p!#h#(;%ucW3VWERAqhYx_Qm> zXE7gke+E~s?AWTnUWXF;obYU95IHLG0sU>BR~VA-tl$3H2`mI4rbf0@AzO&sO*wLZ z2YqS=Ry^AH3dH=sOw-NCgGJ}I&eKqXiolF4^xA_ow!nZ_n-==})mDhntZR4tx8j(r zupf*v1rB}u6>=QNx1-hnukB29Ia^A!o~S#VT2m~32fUy)7%db-({N^IMdGhbQf1T! zdjrT?Fyx=P^E-m=d44Wd_8*UXUr@7EKmM+pmk^g)pnF!5`}sEJC&=?38Om;dJ#UHR z6(aRmcIe%&7sEkSenm}d{Vz{~qN66ikqW@ym&7h>P5mM$xAB*Gs(oP^=uODpAD!os zfy_GEvx9G@P7)V85ww!{Ousi|<9;LQg0zfIPD<|XQ_r_?PIR#`549#u=)UI!BJ_tf zOoxblr1gGVjtb2f7X*YwLk+TZf#=Kbkdt4Xtz{geA`-(Y^*dWQV8we+tYH3gXFL`u zF)he_zL_NUY}B_aaPs`eqFG)*oPofZyicyPz_@3Kt8N&?bf%w-?3zt`99ALA=~ky3 z6>-dxd-Rd6q<=@qZAN|Um+#24hU8UU*d%(pL<{`!&I zj0%G=n{UQ(!Uu;sc0K%)kJ$5`@+V`^yZ28zjObV)r7*w{pQt3r{TaB3gR^#og%_$y zXe@p_6XM!}aZH&^PHoSy)PRc*l{S{nsM8HCXzQ2!}sI;A*=!j&T zwEy})l}hv_BEuD77l6JIH4H8uTmQ!`6touT^~^8eV12fyU7Pgf8O&)rtg} zlTJRu!d4V?$;*rLvJlC4T))Et50w(L+CRtj@A?J85rQ;?QQkidq0$B8c0aNa{3^@$ z8P>mo^WosH-Pe&y%|gH)<5v4O{C-OE&7V*CcXPsd=zjL=z6u0{)!V+{`YT~Dfr6

?&E^~d-vO5 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 diff --git a/Client/Assets/Scenes/Main.unity b/Client/Assets/Scenes/Main.unity index b86196c..0d41737 100644 --- a/Client/Assets/Scenes/Main.unity +++ b/Client/Assets/Scenes/Main.unity @@ -214,6 +214,10 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 1599215827984154130, guid: 8e4808bf30e54a8439a661bfa35ee982, type: 3} + propertyPath: _language + value: ChineseSimplified + objectReference: {fileID: 0} - target: {fileID: 5472542677182214335, guid: 8e4808bf30e54a8439a661bfa35ee982, type: 3} propertyPath: m_Name value: Entry diff --git a/Client/Assets/Test/GameLogic.dll.bytes b/Client/Assets/Test/GameLogic.dll.bytes index 0696f307b2fdea3dc214706e16674efe58b8e168..c640215a095f40e19fdaa95cb833f4db110eab62 100644 GIT binary patch delta 106 zcmZp8z})bFc|r%vCTJguNgm*TFNOOX-d&a$H{f?EEhgKkvy2kE0c!f*WCiK*dZ9$Am?!r$?74x~?tWeEYE~4*;N+ BG4=oe delta 106 zcmZp8z})bFc|r%vK{<JAR4}I;DhO1ZoP5^dnY#5iJ4p@$kw}uou^Yv5-Jk7)`ST!T=xx03a71 y80|~(N~}gY!ejD-^ONXSAQ(+1&7=T80RVN1)cU6N6hfcr%^_9kWpJ|~S5OP0Fex|y delta 92 zcmV-i0Hgo#!~yWc0g!wYU-R6=-|l5hx7vZ&NT_>NRMrmTv5-Jk81|sXvH&0h0G=`7 y^F~C4O`Fhb`7}uDz?0}!AQ+umPu2iH0RUz?fK|clVML5#)p~9RbT_jgS5OPE@hjv2 diff --git a/Client/Assets/input_bindings.json b/Client/Assets/input_bindings.json index 30b1438..28c0613 100644 --- a/Client/Assets/input_bindings.json +++ b/Client/Assets/input_bindings.json @@ -1 +1,11 @@ -{"bindings":[{"action":"input.map.player/input.action.movement","id":"15d59094-85d1-408d-b565-724532c15263","path":"/upArrow","interactions":"null","processors":"null"}]} \ No newline at end of file +{ + "bindings": [ + { + "action": "input.map.player/input.action.movement", + "id": "15d59094-85d1-408d-b565-724532c15263", + "path": "/upArrow", + "interactions": "null", + "processors": "null" + } + ] +} diff --git a/Client/Bundles/StandaloneWindows/DefaultPackage/Simulate/DefaultPackage.version b/Client/Bundles/StandaloneWindows/DefaultPackage/Simulate/DefaultPackage.version deleted file mode 100644 index de541bb..0000000 --- a/Client/Bundles/StandaloneWindows/DefaultPackage/Simulate/DefaultPackage.version +++ /dev/null @@ -1 +0,0 @@ -Simulate \ No newline at end of file diff --git a/Client/Bundles/StandaloneWindows/DefaultPackage/Simulate/DefaultPackage_Simulate.bytes b/Client/Bundles/StandaloneWindows/DefaultPackage/Simulate/DefaultPackage_Simulate.bytes deleted file mode 100644 index db139993805a4fba51786a7f19f1b5a594c1cea5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15859 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 R8#Blk`|L0M$! diff --git a/Client/Bundles/StandaloneWindows/DefaultPackage/Simulate/DefaultPackage_Simulate.hash b/Client/Bundles/StandaloneWindows/DefaultPackage/Simulate/DefaultPackage_Simulate.hash deleted file mode 100644 index 184f266..0000000 --- a/Client/Bundles/StandaloneWindows/DefaultPackage/Simulate/DefaultPackage_Simulate.hash +++ /dev/null @@ -1 +0,0 @@ -81bfd4e0 \ No newline at end of file diff --git a/Client/Bundles/StandaloneWindows/DefaultPackage/Simulate/DefaultPackage_Simulate.json b/Client/Bundles/StandaloneWindows/DefaultPackage/Simulate/DefaultPackage_Simulate.json deleted file mode 100644 index 3b84518..0000000 --- a/Client/Bundles/StandaloneWindows/DefaultPackage/Simulate/DefaultPackage_Simulate.json +++ /dev/null @@ -1,1686 +0,0 @@ -{ - "FileVersion": "2025.9.30", - "EnableAddressable": true, - "SupportExtensionless": true, - "LocationToLower": false, - "IncludeAssetGUID": false, - "ReplaceAssetPathWithAddress": false, - "OutputNameStyle": 0, - "BuildBundleType": 1, - "BuildPipeline": "EditorSimulateBuildPipeline", - "PackageName": "DefaultPackage", - "PackageVersion": "Simulate", - "PackageNote": "2025/11/18 16:08:53", - "AssetList": [ - { - "Address": "A1", - "AssetPath": "Assets/Bundles/Audios/AudioClip/A1.ogg", - "AssetGUID": "", - "AssetTags": [ - "Audios" - ], - "BundleID": 0, - "DependBundleIDs": [] - }, - { - "Address": "A2", - "AssetPath": "Assets/Bundles/Audios/AudioClip/A2.ogg", - "AssetGUID": "", - "AssetTags": [ - "Audios" - ], - "BundleID": 0, - "DependBundleIDs": [] - }, - { - "Address": "A3", - "AssetPath": "Assets/Bundles/Audios/AudioClip/A3.ogg", - "AssetGUID": "", - "AssetTags": [ - "Audios" - ], - "BundleID": 0, - "DependBundleIDs": [] - }, - { - "Address": "A4", - "AssetPath": "Assets/Bundles/Audios/AudioClip/A4.ogg", - "AssetGUID": "", - "AssetTags": [ - "Audios" - ], - "BundleID": 0, - "DependBundleIDs": [] - }, - { - "Address": "AirDash_01", - "AssetPath": "Assets/Bundles/Audios/AudioClip/AirDash_01.ogg", - "AssetGUID": "", - "AssetTags": [ - "Audios" - ], - "BundleID": 0, - "DependBundleIDs": [] - }, - { - "Address": "tables_tbachievement", - "AssetPath": "Assets/Bundles/Configs/bytes/tables_tbachievement.bytes", - "AssetGUID": "", - "AssetTags": [ - "WEBGL_PRELOAD", - "Configs" - ], - "BundleID": 2, - "DependBundleIDs": [] - }, - { - "Address": "LocalizationTable", - "AssetPath": "Assets/Bundles/Configs/LocalizationTable.asset", - "AssetGUID": "", - "AssetTags": [ - "WEBGL_PRELOAD", - "Configs" - ], - "BundleID": 1, - "DependBundleIDs": [] - }, - { - "Address": "AlicizaX.Framework.Runtime.dll", - "AssetPath": "Assets/Bundles/DLL/AlicizaX.Framework.Runtime.dll.bytes", - "AssetGUID": "", - "AssetTags": [ - "DLL" - ], - "BundleID": 3, - "DependBundleIDs": [] - }, - { - "Address": "GameBase.dll", - "AssetPath": "Assets/Bundles/DLL/GameBase.dll.bytes", - "AssetGUID": "", - "AssetTags": [ - "DLL" - ], - "BundleID": 3, - "DependBundleIDs": [] - }, - { - "Address": "GameLib.dll", - "AssetPath": "Assets/Bundles/DLL/GameLib.dll.bytes", - "AssetGUID": "", - "AssetTags": [ - "DLL" - ], - "BundleID": 3, - "DependBundleIDs": [] - }, - { - "Address": "GameLogic.dll", - "AssetPath": "Assets/Bundles/DLL/GameLogic.dll.bytes", - "AssetGUID": "", - "AssetTags": [ - "DLL" - ], - "BundleID": 3, - "DependBundleIDs": [] - }, - { - "Address": "GameProto.dll", - "AssetPath": "Assets/Bundles/DLL/GameProto.dll.bytes", - "AssetGUID": "", - "AssetTags": [ - "DLL" - ], - "BundleID": 3, - "DependBundleIDs": [] - }, - { - "Address": "mscorlib.dll", - "AssetPath": "Assets/Bundles/DLL/mscorlib.dll.bytes", - "AssetGUID": "", - "AssetTags": [ - "DLL" - ], - "BundleID": 3, - "DependBundleIDs": [] - }, - { - "Address": "System.Core.dll", - "AssetPath": "Assets/Bundles/DLL/System.Core.dll.bytes", - "AssetGUID": "", - "AssetTags": [ - "DLL" - ], - "BundleID": 3, - "DependBundleIDs": [] - }, - { - "Address": "UniTask.Runtime.dll", - "AssetPath": "Assets/Bundles/DLL/UniTask.Runtime.dll.bytes", - "AssetGUID": "", - "AssetTags": [ - "DLL" - ], - "BundleID": 3, - "DependBundleIDs": [] - }, - { - "Address": "Unity.InputSystem.dll", - "AssetPath": "Assets/Bundles/DLL/Unity.InputSystem.dll.bytes", - "AssetGUID": "", - "AssetTags": [ - "DLL" - ], - "BundleID": 3, - "DependBundleIDs": [] - }, - { - "Address": "Map1000", - "AssetPath": "Assets/Bundles/Scenes/Map1000.unity", - "AssetGUID": "", - "AssetTags": [ - "Scenes" - ], - "BundleID": 4, - "DependBundleIDs": [] - }, - { - "Address": "MyShaderVariants", - "AssetPath": "Assets/Bundles/ShaderVariants/MyShaderVariants.shadervariants", - "AssetGUID": "", - "AssetTags": [ - "ShaderVariants" - ], - "BundleID": 11, - "DependBundleIDs": [] - }, - { - "Address": "UICardWidget", - "AssetPath": "Assets/Bundles/UI/UICardWidget.prefab", - "AssetGUID": "", - "AssetTags": [ - "UI" - ], - "BundleID": 5, - "DependBundleIDs": [] - }, - { - "Address": "UILoadUpdateWindow", - "AssetPath": "Assets/Bundles/UI/UILoadUpdateWindow.prefab", - "AssetGUID": "", - "AssetTags": [ - "UI" - ], - "BundleID": 6, - "DependBundleIDs": [] - }, - { - "Address": "add_hover", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/bg/add_hover.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 7, - "DependBundleIDs": [] - }, - { - "Address": "BottomLine", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/bg/BottomLine.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 7, - "DependBundleIDs": [] - }, - { - "Address": "BottomLine3D", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/bg/BottomLine3D.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 7, - "DependBundleIDs": [] - }, - { - "Address": "cloud01", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/bg/cloud01.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 7, - "DependBundleIDs": [] - }, - { - "Address": "cloud02", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/bg/cloud02.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 7, - "DependBundleIDs": [] - }, - { - "Address": "cloud03", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/bg/cloud03.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 7, - "DependBundleIDs": [] - }, - { - "Address": "TopLine3D", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/bg/TopLine3D.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 7, - "DependBundleIDs": [] - }, - { - "Address": "TopLineBack", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/bg/TopLineBack.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 7, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_GreatSword", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_GreatSword.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_GreatSword_RGBA", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_GreatSword_RGBA.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_01", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_01.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_02", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_02.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_03", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_03.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_04", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_04.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_05", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_05.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_06", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_06.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_A", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_A.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Alt", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Alt.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Ctrl_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Ctrl_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_D", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_D.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_E", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_E.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Enter", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Enter.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_ESC", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_ESC.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_ESC_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_ESC_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_F", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_F.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_F1", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_F1.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_G", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_G.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_LB_btn_Normal", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_LB_btn_Normal.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Move_A", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Move_A.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Move_A_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Move_A_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Move_D", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Move_D.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Move_D_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Move_D_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Move_S", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Move_S.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Move_S_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Move_S_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Move_W", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Move_W.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Move_W_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Move_W_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Move_WASD", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Move_WASD.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Move_WASD_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Move_WASD_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Q", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Q.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_R", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_R.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_RB_btn_Normal", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_RB_btn_Normal.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_S", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_S.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Shift", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Shift.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Space", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Space.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Tab", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Tab.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_Text", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_Text.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_U", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_U.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_V", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_V.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Keyboard_W", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Keyboard_W.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Mouse_L", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Mouse_L.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Mouse_L_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Mouse_L_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Mouse_LR_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Mouse_LR_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Mouse_Nokey", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Mouse_Nokey.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Mouse_R", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Mouse_R.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Mouse_R_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Mouse_R_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Mouse_Stop", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Mouse_Stop.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_MouseSmall_Wheel", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_MouseSmall_Wheel.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_MouseWheel_UpDown", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_MouseWheel_UpDown.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_MouseSmall_L", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Nonuse/GuideIcon_MouseSmall_L.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 9, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_MouseSmall_R", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Nonuse/GuideIcon_MouseSmall_R.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 9, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_Small_L", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Nonuse/GuideIcon_Xbox_Small_L.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 9, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_XboxSmall_A", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Nonuse/GuideIcon_XboxSmall_A.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 9, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Skill_Xbox_Left", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Skill_Xbox_Left.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_A", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_A.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_AClick", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_AClick.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_B", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_B.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_Back", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_Back.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_Dpad_All", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_Dpad_All.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_Dpad_Down", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_Dpad_Down.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_Dpad_Right", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_Dpad_Right.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_Dpad_Right_Left", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_Dpad_Right_Left.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_Dpad_Up", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_Dpad_Up.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_Dpad_Up_Down", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_Dpad_Up_Down.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_L", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_L.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_L_Click", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_L_Click.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_L_Down", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_L_Down.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_L_Down_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_L_Down_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_L_Left", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_L_Left.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_L_Left_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_L_Left_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_L_Right", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_L_Right.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_L_Right_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_L_Right_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_L_Up", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_L_Up.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_L_Up_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_L_Up_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_LB", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_LB.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_LeftStick_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_LeftStick_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_LT", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_LT.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_MENU", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_MENU.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_R", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_R.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_R_Click", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_R_Click.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_RB", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_RB.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_RB_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_RB_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_RB_RT_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_RB_RT_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_RB_RT_Stop", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_RB_RT_Stop.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_RT", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_RT.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_RT_Hold", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_RT_Hold.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_X", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_X.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "GuideIcon_Xbox_Y", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/GuideIcon/GuideIcon_Xbox_Y.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 8, - "DependBundleIDs": [] - }, - { - "Address": "add_normal", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/add_normal.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "btn_hover", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/btn_hover.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "btn_normal", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/btn_normal.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "btn_press", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/btn_press.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "btnLast", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/btnLast.PNG", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "btnNext", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/btnNext.PNG", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "cancel_40px", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/cancel_40px.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "cancel_hover", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/cancel_hover.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "cancel_normal", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/cancel_normal.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "catb_disable", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/catb_disable.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "catb_hover", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/catb_hover.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "check_hover", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/check_hover.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "check_normal", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/check_normal.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "defaul_normal", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/defaul_normal.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "default", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/default.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "default_hover", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/default_hover.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "default_press", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/default_press.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "hp_icon", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/hp_icon.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "item_hover", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/item_hover.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "item_normal", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/item_normal.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "item_press", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/item_press.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "list_disable", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/list_disable.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "list_hover", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/list_hover.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "list_normal", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/list_normal.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "list_press", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/list_press.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "list_select", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/list_select.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "ok_hover", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/ok_hover.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "ok_normal", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/ok_normal.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "panel_about", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/panel_about.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "panel_appearance", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/panel_appearance.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "panel_general", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/panel_general.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "panel_performance", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/panel_performance.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "panel_plugin", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/panel_plugin.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - }, - { - "Address": "panel_sound", - "AssetPath": "Assets/Bundles/UIRaw/Atlas/icon/panel_sound.png", - "AssetGUID": "", - "AssetTags": [ - "UIRaw" - ], - "BundleID": 10, - "DependBundleIDs": [] - } - ], - "BundleList": [ - { - "BundleName": "assets_bundles_audios_audioclip.bundle", - "UnityCRC": 0, - "FileHash": "09f560261f6874b6843182b4782f6d5e", - "FileCRC": 0, - "FileSize": 268950, - "Encrypted": false, - "Tags": [ - "Audios" - ], - "DependBundleIDs": [] - }, - { - "BundleName": "assets_bundles_configs.bundle", - "UnityCRC": 0, - "FileHash": "da9fc5dda26736fb80cbda4c72d87b82", - "FileCRC": 0, - "FileSize": 4749, - "Encrypted": false, - "Tags": [ - "WEBGL_PRELOAD", - "Configs" - ], - "DependBundleIDs": [] - }, - { - "BundleName": "assets_bundles_configs_bytes.bundle", - "UnityCRC": 0, - "FileHash": "213948d92addb839c79a02a5c756408c", - "FileCRC": 0, - "FileSize": 281, - "Encrypted": false, - "Tags": [ - "WEBGL_PRELOAD", - "Configs" - ], - "DependBundleIDs": [] - }, - { - "BundleName": "assets_bundles_dll.bundle", - "UnityCRC": 0, - "FileHash": "d54634bab862367eddd45455893f6a44", - "FileCRC": 0, - "FileSize": 4342272, - "Encrypted": false, - "Tags": [ - "DLL" - ], - "DependBundleIDs": [] - }, - { - "BundleName": "assets_bundles_scenes_map1000.bundle", - "UnityCRC": 0, - "FileHash": "f9e9af0a1482d58280d517bbf6fd3908", - "FileCRC": 0, - "FileSize": 11828, - "Encrypted": false, - "Tags": [ - "Scenes" - ], - "DependBundleIDs": [] - }, - { - "BundleName": "assets_bundles_ui_uicardwidget.bundle", - "UnityCRC": 0, - "FileHash": "8382993c3598a4a2e8d429b0d7a6f9f1", - "FileCRC": 0, - "FileSize": 9704, - "Encrypted": false, - "Tags": [ - "UI" - ], - "DependBundleIDs": [] - }, - { - "BundleName": "assets_bundles_ui_uiloadupdatewindow.bundle", - "UnityCRC": 0, - "FileHash": "e0807c700d7f154aa3711c1bf07383d6", - "FileCRC": 0, - "FileSize": 34611, - "Encrypted": false, - "Tags": [ - "UI" - ], - "DependBundleIDs": [] - }, - { - "BundleName": "assets_bundles_uiraw_atlas_bg.bundle", - "UnityCRC": 0, - "FileHash": "c824533757904cd2aea7ed3154adbc9c", - "FileCRC": 0, - "FileSize": 551955, - "Encrypted": false, - "Tags": [ - "UIRaw" - ], - "DependBundleIDs": [] - }, - { - "BundleName": "assets_bundles_uiraw_atlas_guideicon.bundle", - "UnityCRC": 0, - "FileHash": "57dc380c1fc46aec5f55e4d5d9dacf04", - "FileCRC": 0, - "FileSize": 95314, - "Encrypted": false, - "Tags": [ - "UIRaw" - ], - "DependBundleIDs": [] - }, - { - "BundleName": "assets_bundles_uiraw_atlas_guideicon_guideicon_nonuse.bundle", - "UnityCRC": 0, - "FileHash": "5ca745843fab507da8994effdefd51b6", - "FileCRC": 0, - "FileSize": 2686, - "Encrypted": false, - "Tags": [ - "UIRaw" - ], - "DependBundleIDs": [] - }, - { - "BundleName": "assets_bundles_uiraw_atlas_icon.bundle", - "UnityCRC": 0, - "FileHash": "1637fa01c3050af5c246ebc653bb8b9d", - "FileCRC": 0, - "FileSize": 203831, - "Encrypted": false, - "Tags": [ - "UIRaw" - ], - "DependBundleIDs": [] - }, - { - "BundleName": "unityshaders.bundle", - "UnityCRC": 0, - "FileHash": "7d7d1d6498d2ea70864c60b8a4553d8a", - "FileCRC": 0, - "FileSize": 3405, - "Encrypted": false, - "Tags": [ - "ShaderVariants" - ], - "DependBundleIDs": [] - } - ] -} \ No newline at end of file diff --git a/Client/Bundles/StandaloneWindows64/DefaultPackage/Simulate/DefaultPackage.version b/Client/Bundles/StandaloneWindows64/DefaultPackage/Simulate/DefaultPackage.version deleted file mode 100644 index de541bb..0000000 --- a/Client/Bundles/StandaloneWindows64/DefaultPackage/Simulate/DefaultPackage.version +++ /dev/null @@ -1 +0,0 @@ -Simulate \ No newline at end of file diff --git a/Client/Bundles/StandaloneWindows64/DefaultPackage/Simulate/DefaultPackage_Simulate.bytes b/Client/Bundles/StandaloneWindows64/DefaultPackage/Simulate/DefaultPackage_Simulate.bytes deleted file mode 100644 index 558925828b00c6c202ad2a1004b8eef0d790be65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2643 zcmaKt-EQ1O6vt0elC+SNkCcmofQXi=7nSXq@h1`&*(9`)wo24AgkCN4<;05DUil+Y zcm^JV3odvHu6P5Ug-ax6#=B|k^{!>vt379a|8vgFIX*gi2M+){*s~&wI4djAT>AYb z9EhaKi<4wrr?irTI!VQGGLdPL$%n8nV_K)xG3A%^T;7M7+qS{k2;11(LF9W^-Tt=X zt-)TJ@XK#uw=88<+Jib1sVwc?S|oXCpB~!AZe7zWfE8GW#?S<`2CwofSu9y>?EQ-$ zK}DI88dZ$)i$q?@vCOKV8^~Us#mRYTvztnV)wjelCV*Agg0q9c%i-ww&B5?!cYgz> zi&ss!pTaQbG);b`Rg!0KwYarNZQhgW`YaP^cIj)_RrORFKU+T*bS$s);?jCkXH_zm zmPpgN{Pu@Kd-;-Cek*Vfl=nT8%qF~4^Z_jm^}B8!ntIovm+_Hd3=^gUd%6fQwf7RX z8bW@aaLstOkTLUELOCw-Dql*u_2{K+!novlkv8e{R^+ZjFXLl4xhX3-w)XPE6!v*v zMjfAC(l(rC$y-{sHvdH*t;esI__-!lH`ZY`sjF!Ss^)V?SZ{s5=d@2+=V$|7(+P4M z=SerV6D~8=aZ|HZYw>0TG?ov{Is61(-<(`fA&Z}Ak< zgf{ZQRO(e;UCNuCy?i{$Gc_zoS4xkonbGcgTa!XfN2Uc<;q-9LK-WQ(RNZq&SE0_5 zOyt*gU~4~P(8l^GrGzVYexHsn$bS06RY`0d+tCGaKU_!1w3X1yKy8vgk8HBxeh9wm@_93{TXaH65DMaiE{?c}B8EdpgrP%mKw~!uHT3sK`l+tPgB;+=0=1Dj z+$~KnjF=-tgapM>%80v?AlFC4LxCfRtEC>#zOBnNA9po%+uf}lqprsU_E8Y?m?G)B zH1b3cxJdBOL0BunU|?RVc4mwNJndpj({ZD5(~vC%*CUP;EK-3BjH6fzPY8lN^-H>v zOO5{5ZUoHkG(8GHx*~Nl;HhnRju2iZl&WT}O|v%Xwd6vKJwkmi zbP)?= 0 ? componentName.Substring(endNameIndex + 1) : componentName; - return $"m{regexName}{componentSuffix}{endPrefix}"; - } - - public string GetPublicComponentByNameRule(string variableName) - { - if (string.IsNullOrEmpty(variableName)) return variableName; - return variableName.Length > 1 ? variableName.Substring(1) : variableName; - } - - public string GetClassGenerateName(GameObject targetObject, UIScriptGenerateData scriptGenerateData) - { - var config = UIGenerateConfiguration.Instance.UIGenerateCommonData; - var prefix = config.GeneratePrefix ?? "ui"; - return $"{prefix}_{targetObject.name}"; - } - - public string GetUIResourceSavePath(GameObject targetObject, UIScriptGenerateData scriptGenerateData) - { - if (targetObject == null) return $"\"{nameof(targetObject)}\""; - - var defaultPath = targetObject.name; - var assetPath = UIGenerateQuick.GetPrefabAssetPath(targetObject); - - if (string.IsNullOrEmpty(assetPath) || !assetPath.StartsWith("Assets/", StringComparison.Ordinal)) - return defaultPath; - - assetPath = assetPath.Replace('\\', '/'); - return scriptGenerateData.LoadType switch - { - EUIResLoadType.Resources => GetResourcesPath(assetPath, scriptGenerateData, defaultPath), - EUIResLoadType.AssetBundle => GetAssetBundlePath(assetPath, scriptGenerateData, defaultPath), - _ => defaultPath - }; - } - - private static string GetResourcesPath(string assetPath, UIScriptGenerateData scriptGenerateData, string defaultPath) - { - var resourcesRoot = scriptGenerateData.UIPrefabRootPath; - var relPath = GetResourcesRelativePath(assetPath, resourcesRoot); - - if (relPath == null) - { - Debug.LogWarning($"[UI生成] 资源 {assetPath} 不在配置的 Resources 根目录下: {resourcesRoot}"); - return defaultPath; - } - - return relPath; - } - - private static string GetAssetBundlePath(string assetPath, UIScriptGenerateData scriptGenerateData, string defaultPath) - { - try - { - var defaultPackage = AssetBundleCollectorSettingData.Setting.GetPackage("DefaultPackage"); - if (defaultPackage?.EnableAddressable == true) - return defaultPath; - } - catch - { - // 忽略异常,继续处理 - } - - var bundleRoot = scriptGenerateData.UIPrefabRootPath; - if (!assetPath.StartsWith(bundleRoot, StringComparison.OrdinalIgnoreCase)) - { - Debug.LogWarning($"[UI生成] 资源 {assetPath} 不在配置的 AssetBundle 根目录下: {bundleRoot}"); - return defaultPath; - } - - return Path.ChangeExtension(assetPath, null); - } - - private static string GetResourcesRelativePath(string assetPath, string resourcesRoot) - { - if (string.IsNullOrEmpty(assetPath) || string.IsNullOrEmpty(resourcesRoot)) return null; - - assetPath = assetPath.Replace('\\', '/'); - resourcesRoot = resourcesRoot.Replace('\\', '/'); - - if (!assetPath.StartsWith(resourcesRoot, StringComparison.OrdinalIgnoreCase)) - return null; - - var relPath = assetPath.Substring(resourcesRoot.Length).TrimStart('/'); - return Path.ChangeExtension(relPath, null); - } - - public void WriteUIScriptContent(GameObject targetObject, string className, string scriptContent, UIScriptGenerateData scriptGenerateData) - { - if (string.IsNullOrEmpty(className)) throw new ArgumentNullException(nameof(className)); - if (scriptContent == null) throw new ArgumentNullException(nameof(scriptContent)); - if (scriptGenerateData == null) throw new ArgumentNullException(nameof(scriptGenerateData)); - - var scriptFolderPath = scriptGenerateData.GenerateHolderCodePath; - var scriptFilePath = Path.Combine(scriptFolderPath, $"{className}.cs"); - - Directory.CreateDirectory(scriptFolderPath); - UXController controller = targetObject.GetComponent(); - - if (controller != null && controller.Controllers.Count > 0) - { - StringBuilder sb = new StringBuilder(); - sb.Append("\t\t#region Controller"); - sb.AppendLine(); - - foreach (var ctl in controller.Controllers) - { - string upperName = ctl.Name[0].ToString().ToUpper() + ctl.Name.Substring(1); - sb.AppendLine($"\t\tpublic UXController.ControllerHandle {upperName} {{ get; private set; }}"); - } - - sb.AppendLine("\t\tpublic override void Awake()"); - sb.AppendLine("\t\t{"); - sb.AppendLine("\t\t\tbase.Awake();"); - sb.AppendLine("\t\t\tvar controller = gameObject.GetComponent();"); - foreach (var ctl in controller.Controllers) - { - string upperName = ctl.Name[0].ToString().ToUpper() + ctl.Name.Substring(1); - sb.AppendLine($"\t\t\t{upperName} = controller.GetController(\"{ctl.Name}\");"); - } - - sb.AppendLine("\t\t}"); - sb.AppendLine("\t\t#endregion"); - scriptContent = scriptContent.Replace("#Controller#", sb.ToString()); - } - else - { - scriptContent = scriptContent.Replace("#Controller#", string.Empty); - } - - - if (File.Exists(scriptFilePath) && IsContentUnchanged(scriptFilePath, scriptContent)) - { - UIScriptGeneratorHelper.BindUIScript(); - return; - } - - File.WriteAllText(scriptFilePath, scriptContent, Encoding.UTF8); - AssetDatabase.Refresh(); - } - - private static bool IsContentUnchanged(string filePath, string newContent) - { - var oldText = File.ReadAllText(filePath, Encoding.UTF8); - return oldText.Equals(newContent, StringComparison.Ordinal); - } - - public bool CheckCanGenerate(GameObject targetObject, UIScriptGenerateData scriptGenerateData) - { - if (targetObject == null || scriptGenerateData == null) return false; - - var assetPath = UIGenerateQuick.GetPrefabAssetPath(targetObject); - if (string.IsNullOrEmpty(assetPath) || !assetPath.StartsWith("Assets/", StringComparison.Ordinal)) - return false; - - assetPath = assetPath.Replace('\\', '/'); - var isValidPath = assetPath.StartsWith(scriptGenerateData.UIPrefabRootPath, StringComparison.OrdinalIgnoreCase); - - if (!isValidPath) - { - Debug.LogWarning($"UI存储位置与配置生成规则不符合 请检查对应配置的UIPrefabRootPath\n[AssetPath]{assetPath}\n[ConfigPath]{scriptGenerateData.UIPrefabRootPath}"); - } - - return isValidPath; - } - - public string GetReferenceNamespace(List uiBindDatas) - { - var namespaceSet = new HashSet(StringComparer.Ordinal) { "UnityEngine" }; - - if (uiBindDatas?.Any(d => d.BindType == EBindType.ListCom) == true) - { - namespaceSet.Add("System.Collections.Generic"); - } - - uiBindDatas? - .Where(bindData => bindData?.Objs?.FirstOrDefault() != null) - .Select(bindData => bindData.GetFirstOrDefaultType().Namespace) - .Where(ns => !string.IsNullOrEmpty(ns)) - .ToList() - .ForEach(ns => namespaceSet.Add(ns)); - - return string.Join(Environment.NewLine, namespaceSet.Select(ns => $"using {ns};")); - } - - public string GetVariableContent(List uiBindDatas) - { - if (uiBindDatas == null || uiBindDatas.Count == 0) return string.Empty; - - var variableBuilder = new StringBuilder(); - var variables = uiBindDatas - .Where(b => b != null && !string.IsNullOrEmpty(b.Name)) - .Select(b => GenerateVariableDeclaration(b)) - .Where(declaration => !string.IsNullOrEmpty(declaration)); - - return string.Join("\n\n", variables); - } - - private string GenerateVariableDeclaration(UIBindData bindData) - { - var variableName = bindData.Name; - var publicName = GetPublicComponentByNameRule(variableName); - var firstType = bindData.GetFirstOrDefaultType(); - var typeName = firstType?.Name ?? "Component"; - - var declaration = new StringBuilder(); - declaration.AppendLine("\t\t[SerializeField]"); - - switch (bindData.BindType) - { - case EBindType.None: - case EBindType.Widget: - declaration.AppendLine($"\t\tprivate {typeName} {variableName};"); - declaration.Append($"\t\tpublic {typeName} {publicName} => {variableName};"); - break; - - case EBindType.ListCom: - var count = Math.Max(0, bindData.Objs?.Count ?? 0); - declaration.AppendLine($"\t\tprivate {typeName}[] {variableName} = new {typeName}[{count}];"); - declaration.Append($"\t\tpublic {typeName}[] {publicName} => {variableName};"); - break; - } - - return declaration.ToString(); - } - } -} diff --git a/Client/Packages/com.alicizax.uxtool/Editor/AlicizaUXUIGeneratorRuleHelper.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/AlicizaUXUIGeneratorRuleHelper.cs.meta deleted file mode 100644 index 294a47d..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/AlicizaUXUIGeneratorRuleHelper.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 48bb3b6017052894fbcebf49a41e6b61 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Base.meta b/Client/Packages/com.alicizax.uxtool/Editor/Base.meta deleted file mode 100644 index 0ed84b0..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Base.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 971b3a6d43d84485bc82a92f677c431d -timeCreated: 1763975420 \ No newline at end of file diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Base/ScriptableSingleton.cs b/Client/Packages/com.alicizax.uxtool/Editor/Base/ScriptableSingleton.cs deleted file mode 100644 index 18543e3..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Base/ScriptableSingleton.cs +++ /dev/null @@ -1,98 +0,0 @@ -using System; -using System.IO; -using System.Linq; -using UnityEditorInternal; -using UnityEngine; - -namespace AlicizaX.UXTool -{ - internal class ScriptableSingleton : ScriptableObject where T : ScriptableObject - { - private static T s_Instance; - - public static T Instance - { - get - { - if (!s_Instance) - { - LoadOrCreate(); - } - - return s_Instance; - } - } - - public static T LoadOrCreate() - { - string filePath = GetFilePath(); - if (!string.IsNullOrEmpty(filePath)) - { - var arr = InternalEditorUtility.LoadSerializedFileAndForget(filePath); - s_Instance = arr.Length > 0 ? arr[0] as T : s_Instance ?? CreateInstance(); - } - else - { - Debug.LogError($"save location of {nameof(ScriptableSingleton)} is invalid"); - } - - return s_Instance; - } - - public static void Save(bool saveAsText = true) - { - if (!s_Instance) - { - Debug.LogError("Cannot save ScriptableSingleton: no instance!"); - return; - } - - string filePath = GetFilePath(); - if (!string.IsNullOrEmpty(filePath)) - { - string directoryName = Path.GetDirectoryName(filePath); - if (!Directory.Exists(directoryName)) - { - Directory.CreateDirectory(directoryName); - } - - UnityEngine.Object[] obj = new T[1] { s_Instance }; - InternalEditorUtility.SaveToSerializedFileAndForget(obj, filePath, saveAsText); - } - } - - protected static string GetFilePath() - { - return typeof(T).GetCustomAttributes(inherit: true) - .Where(v => v is FilePathAttribute) - .Cast() - .FirstOrDefault() - ?.filepath; - } - } - - [AttributeUsage(AttributeTargets.Class)] - public class FilePathAttribute : Attribute - { - internal string filepath; - - ///

- /// 单例存放路径 - /// - /// 相对 Project 路径 - public FilePathAttribute(string path) - { - if (string.IsNullOrEmpty(path)) - { - throw new ArgumentException("Invalid relative path (it is empty)"); - } - - if (path[0] == '/') - { - path = path.Substring(1); - } - - filepath = path; - } - } -} diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Base/ScriptableSingleton.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/Base/ScriptableSingleton.cs.meta deleted file mode 100644 index 898a5f8..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Base/ScriptableSingleton.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 611899e70b4f424091a58af4e485db0b -timeCreated: 1763975423 \ No newline at end of file diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Common.meta b/Client/Packages/com.alicizax.uxtool/Editor/Common.meta deleted file mode 100644 index 5e1aca5..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Common.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 11e0c553755e49e9bb95b35bd924cdc6 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu.meta b/Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu.meta deleted file mode 100644 index 20e3290..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: dc242d8f56ba469cac5f90603b46b1a8 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu/ContextMenuFunction.cs b/Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu/ContextMenuFunction.cs deleted file mode 100644 index c9e6724..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu/ContextMenuFunction.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using UnityEditor; -using UnityEngine; - -namespace AlicizaX.UXTool -{ - public static partial class ContextMenuUtils - { - public static class Menu - { - public static void BuildPrefabTabMenuItem(string guid) - { - ResetMenu(); - BuildContextMenu("关闭右侧全部", false,null); - BuildContextMenu("关闭左侧全部", false, null); - BuildContextMenu("关闭全部", false, null); - BuildContextMenu("关闭当前", false, null); - } - } - } -} diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu/ContextMenuFunction.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu/ContextMenuFunction.cs.meta deleted file mode 100644 index eb67cd5..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu/ContextMenuFunction.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 835d2b9493e24712925e98a7a3da62a2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu/ContextMenuUtils.cs b/Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu/ContextMenuUtils.cs deleted file mode 100644 index d6e3538..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu/ContextMenuUtils.cs +++ /dev/null @@ -1,72 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEditor; -using UnityEngine; - -namespace AlicizaX.UXTool -{ - public static partial class ContextMenuUtils - { - private static GenericMenu contextMenu = new GenericMenu(); // 保存当前菜单 - private static HashSet menuItems = new HashSet(); // 用于跟踪菜单项,防止重复 - private static bool menuBuilt = false; // 标记是否已构建菜单 - - // 清空现有菜单和菜单项,重新构建菜单 - static void ResetMenu() - { - contextMenu = new GenericMenu(); - menuItems.Clear(); - menuBuilt = false; - } - - // 判断菜单是否为空 - public static bool IsMenuEmpty() - { - // 判断contextMenu是否有任何项,若没有,则菜单为空 - return contextMenu.GetItemCount() == 0; // 如果没有菜单项,返回 true - } - - // 显示菜单 - public static void ShowContextMenu() - { - if (!menuBuilt) BuildContextMenu(); // 如果菜单尚未构建,则构建菜单 - if (!IsMenuEmpty()) // 如果菜单项不为空,则显示菜单 - { - contextMenu.ShowAsContext(); - } - ResetMenu(); // 显示完菜单后重置 - } - - // 构建普通菜单项 - public static void BuildContextMenu(string label, bool check, GenericMenu.MenuFunction clickEvent) - { - if (menuItems.Contains(label)) return; // 防止重复添加相同的菜单项 - contextMenu.AddItem(new GUIContent(label), check, clickEvent); - menuItems.Add(label); - menuBuilt = true; - } - - // 构建带参数的菜单项 - public static void BuildContextMenuWithArgs(string label, bool check, GenericMenu.MenuFunction2 clickEvent, object arg1) - { - if (menuItems.Contains(label)) return; // 防止重复添加相同的菜单项 - contextMenu.AddItem(new GUIContent(label), check, clickEvent, arg1); - menuItems.Add(label); - menuBuilt = true; - } - - // 添加分隔符 - public static void BuildSeparator() - { - contextMenu.AddSeparator(string.Empty); // 添加一个通用的分隔符 - menuBuilt = true; - } - - // 为了确保每次显示菜单之前都进行初始化 - static void BuildContextMenu() - { - // 在这里可以添加额外的默认菜单项(如果有需要的话) - menuBuilt = true; // 表示菜单已经构建 - } - } -} diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu/ContextMenuUtils.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu/ContextMenuUtils.cs.meta deleted file mode 100644 index 3697c7e..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Common/ContextMenu/ContextMenuUtils.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 7ede2a32054642119314d6875e9d8615 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Common/Logic.meta b/Client/Packages/com.alicizax.uxtool/Editor/Common/Logic.meta deleted file mode 100644 index 0ffee4e..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Common/Logic.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d974406a2b96e2049970825025bdaa38 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Common/Logic/FindContainerLogic.cs b/Client/Packages/com.alicizax.uxtool/Editor/Common/Logic/FindContainerLogic.cs deleted file mode 100644 index ba53da4..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Common/Logic/FindContainerLogic.cs +++ /dev/null @@ -1,67 +0,0 @@ -#if UNITY_EDITOR -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.UI; - -namespace AlicizaX.UXTool -{ - public class FindContainerLogic - { - public static bool ObjectFit(GameObject obj) - { - if (obj == null) return false; - //Graphic[] components = obj.GetComponents(); - //if (components == null || components.Length == 0) return false; - return obj.activeInHierarchy && obj.GetComponent() != null && obj.GetComponent() == null && obj != PrefabStageUtils.StageRoot.gameObject; - } - - /// - /// 只选中一个非 Root的节点时,拖动出来的节点应该和该节点同层级 - /// 未选中或者选中 根Canvas 节点,拖动出来的节点都在 根Canvas 子节点层级 - /// 选中多个时 拖动出来的节点在 根Canvas 子节点层级 - /// - public static Transform GetObjectParent(GameObject[] selection) - { - var prefabStage = PrefabStageUtils.GetCurrentPrefabStage(); - if (prefabStage != null) - { - //Prefab编辑模式下,需要额外区分是否是Canvas (Environment) - if (selection.Length == 1 - && !selection[0].name.Equals("Canvas (Environment)") - && selection[0].transform != prefabStage.prefabContentsRoot.transform) - { - return selection[0].transform.parent.transform; - } - else - { - return prefabStage.prefabContentsRoot.transform; - } - } - else - { - if (selection.Length == 1) - { - if (selection[0].transform == selection[0].transform.root) - { - return selection[0].transform.root; - } - else - { - return selection[0].transform.parent.transform; - } - } - else - { - if (Object.FindObjectsOfType().Length == 0) - { - new GameObject("Canvas", typeof(Canvas), typeof(CanvasScaler), typeof(GraphicRaycaster)); - } - - return Object.FindObjectsOfType()[0].transform; - } - } - } - } -} -#endif \ No newline at end of file diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Common/Logic/FindContainerLogic.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/Common/Logic/FindContainerLogic.cs.meta deleted file mode 100644 index c2f613a..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Common/Logic/FindContainerLogic.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 67cc1404d938c9942896d12f3832cff5 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Common/Undo.meta b/Client/Packages/com.alicizax.uxtool/Editor/Common/Undo.meta deleted file mode 100644 index f19c88e..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Common/Undo.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3e53dd6d150f78d4d9239f98eef08fb2 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Common/Undo/UndoCommand.cs b/Client/Packages/com.alicizax.uxtool/Editor/Common/Undo/UndoCommand.cs deleted file mode 100644 index d0224e5..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Common/Undo/UndoCommand.cs +++ /dev/null @@ -1,91 +0,0 @@ -#if UNITY_EDITOR -using UnityEngine; -using UnityEditor; -namespace AlicizaX.UXTool -{ - //所有需要执行撤销的操作 在这里定义Commond,通过Execute执行Undo记录 - //目的是为了不让Undo. 代码乱飞 - public abstract class UXUndoCommand - { - public abstract void Execute(); - } - - public class QuickCreateCommand : UXUndoCommand - { - private GameObject m_quickObj; - - public QuickCreateCommand(GameObject qucikObj) - { - m_quickObj = qucikObj; - } - - public override void Execute() - { - Undo.IncrementCurrentGroup(); - Undo.RegisterCreatedObjectUndo(m_quickObj, "Create" + m_quickObj.name); - Undo.IncrementCurrentGroup(); - } - } - - - public class CombineCommand : UXUndoCommand - { - private GameObject m_combineRoot; - private RectTransform[] m_combineObjects; - - public CombineCommand(GameObject combineRoot, RectTransform[] combineObjects) - { - m_combineRoot = combineRoot; - m_combineObjects = combineObjects; - } - - public override void Execute() - { - //var id = Undo.GetCurrentGroup(); - Undo.IncrementCurrentGroup(); - - Undo.RegisterCreatedObjectUndo(m_combineRoot, "Combine Operation"); - foreach (var rect in m_combineObjects) - { - Undo.SetTransformParent(rect.transform, m_combineRoot.transform, "Combine Operation"); - } - - Undo.IncrementCurrentGroup(); - } - } - - public class AlignCommand : UXUndoCommand - { - private RectTransform[] m_alignObjects; - public AlignCommand(RectTransform[] alignObjects) - { - m_alignObjects = alignObjects; - } - - public override void Execute() - { - Undo.IncrementCurrentGroup(); - Undo.RecordObjects(m_alignObjects, "Align Operation"); - } - - } - // public class LocationLineCommand : UXUndoCommand - // { - // private static LocationLinesData m_LinesData; - // //private static TextAsset m_datajson; - // private string undoName; - // public LocationLineCommand(LocationLinesData linesData, string OperationName) - // { - // m_LinesData = linesData; - // undoName = OperationName; - // //m_datajson = AssetDatabase.LoadAssetAtPath(ThunderFireUIToolConfig.LocationLinesDataPath); - // } - // public override void Execute() - // { - // Undo.IncrementCurrentGroup(); - // Undo.RecordObject(m_LinesData, undoName); - // //Undo.RecordObject(m_datajson, undoName); - // } - // } -} -#endif diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Common/Undo/UndoCommand.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/Common/Undo/UndoCommand.cs.meta deleted file mode 100644 index e15deb1..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Common/Undo/UndoCommand.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ee529be6285730e48a42ee2573e5fd8a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Common/Utils.meta b/Client/Packages/com.alicizax.uxtool/Editor/Common/Utils.meta deleted file mode 100644 index 8889281..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Common/Utils.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 51515c3febc44da9bc96e216fb4f2c52 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Common/Utils/Utils.cs b/Client/Packages/com.alicizax.uxtool/Editor/Common/Utils/Utils.cs deleted file mode 100644 index b49a535..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Common/Utils/Utils.cs +++ /dev/null @@ -1,811 +0,0 @@ -#if UNITY_EDITOR -using System.Collections.Generic; -using UnityEngine; -using UnityEditor; -using UnityEditor.SceneManagement; -using System.Reflection; -using System; -using System.IO; -using Object = UnityEngine.Object; -using System.Linq; -using System.Text.RegularExpressions; -using UnityEngine.UIElements; -using UnityEditor.UIElements; -#if UNITY_2021_3_OR_NEWER -using PrefabStageUtility = UnityEditor.SceneManagement.PrefabStageUtility; - -#else -using PrefabStageUtility = UnityEditor.Experimental.SceneManagement.PrefabStageUtility; -#endif - -namespace AlicizaX.UXTool -{ - public static partial class Utils - { -#if !UNITY_2021_3_OR_NEWER - private static readonly float m_WindowToolbarHeight = 21f; - private static readonly float m_StageHandlingFixedHeight = 25f; - private static readonly float m_TabHeight = 19f; -#endif - - #region Reflection - - //反射方法 性能消耗较大 调用后尽量缓存结果 - /// - /// 有可能引起window重新生成实例 暂时废弃 - /// - /// - [Obsolete] - public static EditorWindow GetGameView() - { - var type = typeof(UnityEditor.Editor).Assembly.GetType("UnityEditor.GameView"); - var gameview = EditorWindow.GetWindow(type); - return gameview; - } - - /// - /// 获取GameView对象 - /// - /// - public static object GetMainPlayModeView() - { - var playModeViewType = System.Type.GetType("UnityEditor.PlayModeView,UnityEditor"); - var GetMainPlayModeView = playModeViewType.GetMethod("GetMainPlayModeView", BindingFlags.NonPublic | BindingFlags.Static); - var view = GetMainPlayModeView.Invoke(null, null); - return view; - } - - /// - /// 获取所有的GameView对象 - /// - /// - public static Object[] GetPlayViews() - { - Assembly assembly = typeof(EditorWindow).Assembly; - Type type = assembly.GetType("UnityEditor.GameView"); - return UnityEngine.Resources.FindObjectsOfTypeAll(type); - } - - public static EditorWindow GetHierarchyWindow() - { - var HierarchyViewType = System.Type.GetType("UnityEditor.SceneHierarchyWindow,UnityEditor"); - - //var GetSceneHierarchyWindow = HierarchyViewType.GetMethod("GetSceneHierarchyWindowToFocusForNewGameObjects", BindingFlags.NonPublic | BindingFlags.Static); - //var hierarchyWindow = GetSceneHierarchyWindow.Invoke(null, null); - - object hierarchyWindow = GetPropertyValue(HierarchyViewType, "lastInteractedHierarchyWindow"); - EditorWindow window = hierarchyWindow as EditorWindow; - - return window; - } - - public static SceneView GetSceneView() - { - return SceneView.currentDrawingSceneView; - } - - public static EditorWindow GetEditorWindow(string EditorWindowClassName) - { - var assembly = typeof(EditorWindow).Assembly; - var type = assembly.GetType(EditorWindowClassName); - var editorWindow = EditorWindow.GetWindow(type); - return editorWindow; - } - - public static UnityEditor.Editor GetEditor(Object[] targets, string EditorClassName) - { - var assembly = typeof(UnityEditor.Editor).Assembly; - var type = assembly.GetType(EditorClassName); - var editor = UnityEditor.Editor.CreateEditor(targets, type); - return editor; - } - - public static UnityEditor.Editor GetEditor(Object target, string EditorClassName) - { - var assembly = typeof(UnityEditor.Editor).Assembly; - var type = assembly.GetType(EditorClassName); - var editor = UnityEditor.Editor.CreateEditor(target, type); - return editor; - } - - /// - /// 获取Editor中的类方法 - /// - /// - /// - /// 要获取的method的参数个数,用于区分重载方法 - /// - public static List GetEditorMethod(Type editorClassType, string methodName, int paraCount = -1) - { - List m = new List(); - - MethodInfo[] methods = editorClassType.GetMethods(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static); - foreach (var method in methods) - { - if (method.Name == methodName && method.GetParameters().Length == paraCount) - { - m.Add(method); - } - } - - return m; - } - - /// - /// 获取没有重载的Editor方法 - /// - /// - /// - /// - public static MethodInfo GetEditorMethod(Type editorClassType, string methodName) - { - MethodInfo[] methods = editorClassType.GetMethods(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance); - foreach (var method in methods) - { - if (method.Name == methodName) - { - return method; - } - } - - return null; - } - - /// - /// 通过反射调用非静态方法 - /// - /// 调用对象,若调用静态函数请使用typeof(className) - /// 方法名称 - /// 方法的参数,默认为null,表示不传参 - /// 非静态方法的返回值 - public static object InvokeMethod(object obj, string methodName, object[] parameters = null) - { - if (parameters == null) - { - return obj.GetType().GetMethod(methodName, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance).Invoke(obj, null); - } - - Type[] types = new Type[parameters.Length]; - for (int i = 0; i < parameters.Length; i++) - { - types[i] = parameters[i].GetType(); - } - - return obj.GetType().GetMethod(methodName, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance, null, types, null).Invoke(obj, parameters); - } - - /// - /// 通过反射调用静态方法 - /// - /// 调用静态函数请使用typeof(className) - /// 方法名称 - /// 方法的参数,默认为null,表示不传参 - /// 静态方法的返回值 - public static object InvokeMethod(Type type, string methodName, object[] parameters = null) - { - if (parameters == null) - { - return type.GetMethod(methodName, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).Invoke(null, null); - } - - Type[] types = new Type[parameters.Length]; - for (int i = 0; i < parameters.Length; i++) - { - types[i] = parameters[i].GetType(); - } - - return type.GetMethod(methodName, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static, null, types, null).Invoke(null, parameters); - } - - /// - /// 通过反射获取非静态属性的值 - /// - /// 调用对象,若调用静态属性请使用typeof(className) - /// 属性名称 - /// 索引属性的参数,默认为null,表示获取非索引属性 - /// 非静态属性的值 - public static object GetPropertyValue(object obj, string propertyName, object[] index = null) - { - if (index == null) - { - return obj.GetType().GetProperty(propertyName, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance).GetValue(obj); - } - - Type[] types = new Type[index.Length]; - for (int i = 0; i < index.Length; i++) - { - types[i] = index[i].GetType(); - } - - return obj.GetType().GetProperty(propertyName, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance, null, null, types, null).GetValue(obj, index); - } - - /// - /// 通过反射获取静态属性的值 - /// - /// 调用静态属性请使用typeof(className) - /// 属性名称 - /// 索引属性的参数,默认为null,表示获取非索引属性 - /// 静态属性的值 - public static object GetPropertyValue(Type type, string propertyName, object[] index = null) - { - if (index == null) - { - return type.GetProperty(propertyName, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).GetValue(null); - } - - Type[] types = new Type[index.Length]; - for (int i = 0; i < index.Length; i++) - { - types[i] = index[i].GetType(); - } - - return type.GetProperty(propertyName, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static, null, null, types, null).GetValue(null, index); - } - - /// - /// 通过反射获取非静态变量的值 - /// - /// 调用对象,若调用静态变量请使用typeof(className) - /// 变量名称 - /// 非静态变量的值 - public static object GetFieldValue(object obj, string fieldName) - { - return obj.GetType().GetField(fieldName, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance).GetValue(obj); - } - - /// - /// 通过反射获取静态变量的值 - /// - /// 调用静态变量请使用typeof(className) - /// 变量名称 - /// 静态变量的值 - public static object GetFieldValue(Type type, string fieldName) - { - return type.GetField(fieldName, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).GetValue(null); - } - - public static Rect GetSceneViewCameraRect() - { - var type = typeof(SceneView); - PropertyInfo info = type.GetProperty("cameraRect", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static); - object r = info.GetValue(SceneView.lastActiveSceneView, null); - Rect rect = (Rect)r; - return rect; - } - - public static float GetSceneViewOffest() - { -#if !UNITY_2021_3_OR_NEWER - //if (SceneView.sceneViews.Count == 0) - //{ - // return 19 + 25; - //} - // - //SceneView sceneView = (SceneView)SceneView.sceneViews[0]; - ////SceneView sceneView = SceneView.currentDrawingSceneView; - // - //var sceneviewtype = typeof(SceneView); - //PropertyInfo toolbarHeightInfo = sceneviewtype.GetProperty("toolbarHeight", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static); - //float toolbarHeight = (float)toolbarHeightInfo.GetValue(sceneView, null); - // - // - //var dockareaType = typeof(Editor).Assembly.GetType("UnityEditor.DockArea"); - //FieldInfo kTabHeightInfo = dockareaType.GetField("kTabHeight", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static); - //float kTabHeight = (float)kTabHeightInfo.GetValue(null); - // - //return kTabHeight + toolbarHeight; - return m_TabHeight + GetSceneViewToolbarHeight(); -#else - var prefabStage = PrefabStageUtility.GetCurrentPrefabStage(); - if (prefabStage != null) - { - return 19 + 46; - } - else - { - return 19 + 25; - } -#endif - } - - public static float GetSceneViewToolbarHeight() - { -#if !UNITY_2021_3_OR_NEWER - //var sceneviewtype = typeof(SceneView); - //PropertyInfo toolbarHeightInfo = sceneviewtype.GetProperty("toolbarHeight", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static); - //float toolbarHeight = (float)toolbarHeightInfo.GetValue(SceneView.lastActiveSceneView, null); - //return toolbarHeight; - var prefabStage = PrefabStageUtility.GetCurrentPrefabStage(); - if (prefabStage != null) - { - return m_WindowToolbarHeight + m_StageHandlingFixedHeight; - } - else - { - return m_WindowToolbarHeight; - } -#else - return 0; -#endif - } - - #endregion - - #region GameView - - public static Vector2 GetGameViewSize() - { - MethodInfo GetSizeOfMainGameView = GetEditorMethod(Type.GetType("UnityEditor.GameView,UnityEditor"), "GetSizeOfMainGameView"); - if (GetSizeOfMainGameView != null) - { - var Res = GetSizeOfMainGameView.Invoke(null, null); - return (Vector2)Res; - } - - return Vector2.zero; - } - - #endregion - - #region Prefab - - public static void OpenPrefab(string prefabPath) - { - PrefabStageUtility.OpenPrefab(prefabPath); - List m = GetEditorMethod(typeof(PrefabStageUtility), "OpenPrefab", 1); - m[0].Invoke(null, new object[] { prefabPath }); - } - - public static void SetCursor(Texture2D texture) - { - List m = GetEditorMethod(typeof(EditorGUIUtility), "SetCurrentViewCursor", 3); - m[0].Invoke(null, new object[] { texture, new Vector2(16, 16), MouseCursor.CustomCursor }); - } - - public static void ClearCurrentViewCursor() - { - List m = GetEditorMethod(typeof(EditorGUIUtility), "ClearCurrentViewCursor", 0); - m[0].Invoke(null, null); - } - - #endregion - - #region Editor State - - public static void ExitPrefabStage() - { - StageUtility.GoToMainStage(); - } - - public static void EnterPlayMode() - { - EditorApplication.isPlaying = true; - PlayerPrefs.SetString("previewStage", "true"); - } - - public static void StopPlayMode() - { - EditorApplication.isPlaying = false; - PlayerPrefs.SetString("previewStage", "false"); - } - - #endregion - - #region Selecion - - /// - /// 获得Hierarchy中选中且激活的对象。 - /// - public static GameObject selectionActiveGameObject - { - get - { - if (UXSelectionUtil.activeGameObject == null) return null; - return UXSelectionUtil.activeGameObject.activeInHierarchy ? UXSelectionUtil.activeGameObject : null; - } - } - - /// - /// 获取当前选中对象 - /// 若选中超过1个以上的对象返回False - /// - /// 返回选中对象 - /// 是否成功获取 - public static bool TryGetSelectObject(out GameObject obj) - { - obj = null; - if (selectionActiveGameObject == null || UXSelectionUtil.gameObjects.Length > 1) - return false; - - obj = selectionActiveGameObject; - //这里要避免选中Prefab中用于预览的Canvas - var rect = obj.transform as RectTransform; - bool isCanvasEnvironment = obj.transform.parent == null && obj.name == "Canvas(Environment)"; - return obj != null && !isCanvasEnvironment; - } - - /// - /// 获取当前选中对象的RectTransform - /// 若选中超过1个以上的对象返回False - /// - /// 返回选中对象Rect - /// 是否成功获取 - public static bool TryGetSelectionRectTransform(out RectTransform rect) - { - rect = null; - if (selectionActiveGameObject == null || UXSelectionUtil.gameObjects.Length > 1) - return false; - rect = selectionActiveGameObject.transform as RectTransform; - //这里要避免选中Prefab中用于预览的Canvas - bool isCanvasEnvironment = rect.parent == null && rect.name == "CanvasEnvironment"; - return rect != null && !isCanvasEnvironment; - } - - /// - /// 获取全部选中对象RrectTransform - /// - /// 返回列表 - public static List GetAllSelectionRectTransform() - { - List rects = new List(); - GameObject[] objects = UXSelectionUtil.gameObjects; - foreach (var obj in objects) - { - RectTransform rect = obj.GetComponent(); - if (rect != null) - rects.Add(rect); - } - - return rects; - } - - /// - /// 获取当前选中对象的path - /// 若选中超过1个以上的对象返回False - /// - /// 是否成功获取 - public static bool TryGetSelectionPath(out string path) - { - path = ""; - if (Selection.assetGUIDs.Length == 1) - { - path = AssetDatabase.GUIDToAssetPath(Selection.assetGUIDs[0]); - } - - return !string.IsNullOrEmpty(path); - } - - /// - /// - /// - /// - public static List GetAllSelectionPath() - { - return Selection.assetGUIDs.Select(AssetDatabase.GUIDToAssetPath).ToList(); - } - - #endregion - - #region Texutre&Icon - - //生成和缓存 preview图片 - static Dictionary m_PreviewDict = new Dictionary(); - static Dictionary m_PreviewDict2D = new Dictionary(); - - public static Texture GetAssetsPreviewTexture(string guid, int previewSize = 79) - { - if (!File.Exists(AssetDatabase.GUIDToAssetPath(guid))) return null; - - if (!m_PreviewDict.TryGetValue(guid, out var tex)) - { - tex = GenAssetsPreviewTexture(guid, previewSize); - if (tex != null) - { - m_PreviewDict[guid] = tex; - } - } - - if (tex == null) - { - tex = GenAssetsPreviewTexture(guid, previewSize); - if (tex != null) - m_PreviewDict[guid] = tex; - } - - return tex; - } - - public static Texture UpdatePreviewTexture(string guid, int previewSize = 79) - { - var tex = GenAssetsPreviewTexture(guid, previewSize); - if (tex != null) - m_PreviewDict[guid] = tex; - - return tex; - } - - public static Texture GetAssetsNewPreviewTexture(string guid, int previewSize = 79) - { - Texture tex = GenAssetsPreviewTexture(guid, previewSize); - if (tex != null) - { - m_PreviewDict[guid] = tex; - } - - return tex; - } - - public static Texture2D GetAssetsPreviewTexture2D(string guid, int previewSize = 79) - { - if (!m_PreviewDict2D.TryGetValue(guid, out var tex)) - { - Texture tex1 = GetAssetsPreviewTexture(guid, previewSize); - if (tex1 != null) - { - tex = TextureToTexture2D(tex1); - m_PreviewDict2D[guid] = tex; - } - } - - return tex; - } - - private static Texture2D TextureToTexture2D(Texture texture) - { - Texture2D texture2D = new Texture2D(texture.width, texture.height, TextureFormat.RGBA32, false); - RenderTexture currentRT = RenderTexture.active; - RenderTexture renderTexture = RenderTexture.GetTemporary(texture.width, texture.height, 32); - Graphics.Blit(texture, renderTexture); - - RenderTexture.active = renderTexture; - texture2D.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0); - texture2D.Apply(); - - RenderTexture.active = currentRT; - RenderTexture.ReleaseTemporary(renderTexture); - - return texture2D; - } - - /// - /// 生成prefab的预览图, - /// - /// - /// - /// - public static Texture GenAssetsPreviewTexture(string guid, int previewSize = 79) - { - // if (EditorApplication.isPlaying) - // { - // return null; - // } - - string path = AssetDatabase.GUIDToAssetPath(guid); - GameObject obj = AssetDatabase.LoadAssetAtPath(path); - - GameObject canvas = new GameObject("UXRenderCanvas", typeof(Canvas)); - GameObject cameraObj = new GameObject("UXRenderCamera", typeof(Camera)); - canvas.transform.position = new Vector3(10000, 10000, 10000); - canvas.GetComponent().sizeDelta = new Vector2(Screen.currentResolution.width, Screen.currentResolution.height); - - GameObject go = GameObject.Instantiate(obj, canvas.transform); - - Bounds bound = GetBounds(go); - - cameraObj.transform.position = new Vector3((bound.max.x + bound.min.x) / 2, (bound.max.y + bound.min.y) / 2, (bound.max.z + bound.min.z) / 2 - 100); - cameraObj.transform.LookAt(cameraObj.transform.position); - - Camera camera = cameraObj.GetComponent(); - camera.cameraType = CameraType.SceneView; - camera.orthographic = true; - camera.clearFlags = CameraClearFlags.SolidColor; - camera.backgroundColor = new Color(0, 0, 0, 0f); - - float width = bound.max.x - bound.min.x; - float height = bound.max.y - bound.min.y; - float max_camera_size = (width > height ? width : height) + 10; - camera.orthographicSize = max_camera_size / 2; - - RenderTexture rt = RenderTexture.GetTemporary(previewSize, previewSize, 24); - camera.targetTexture = rt; - camera.RenderDontRestore(); - - RenderTexture tex = new RenderTexture(previewSize, previewSize, 0, RenderTextureFormat.Default); - Graphics.Blit(rt, tex); - - //Texture2D tex = new Texture2D(previewSize, previewSize, TextureFormat.ARGB32, false); - //tex.ReadPixels(new Rect(0, 0, previewSize, previewSize), 0, 0); - //tex.Apply(); - - RenderTexture.active = null; - camera.targetTexture = null; - rt.Release(); - RenderTexture.ReleaseTemporary(rt); - - Object.DestroyImmediate(canvas); - Object.DestroyImmediate(cameraObj); - - return tex; - } - - public static Bounds GetBounds(GameObject obj) - { - Vector3 Min = new Vector3(99999, 99999, 99999); - Vector3 Max = new Vector3(-99999, -99999, -99999); - MeshRenderer[] renders = obj.GetComponentsInChildren(); - if (renders.Length > 0) - { - for (int i = 0; i < renders.Length; i++) - { - if (renders[i].bounds.min.x < Min.x) - Min.x = renders[i].bounds.min.x; - if (renders[i].bounds.min.y < Min.y) - Min.y = renders[i].bounds.min.y; - if (renders[i].bounds.min.z < Min.z) - Min.z = renders[i].bounds.min.z; - - if (renders[i].bounds.max.x > Max.x) - Max.x = renders[i].bounds.max.x; - if (renders[i].bounds.max.y > Max.y) - Max.y = renders[i].bounds.max.y; - if (renders[i].bounds.max.z > Max.z) - Max.z = renders[i].bounds.max.z; - } - } - else - { - RectTransform[] rectTrans = obj.GetComponentsInChildren(); - Vector3[] corner = new Vector3[4]; - for (int i = 0; i < rectTrans.Length; i++) - { - //获取节点的四个角的世界坐标,分别按顺序为左下左上,右上右下 - rectTrans[i].GetWorldCorners(corner); - if (corner[0].x < Min.x) - Min.x = corner[0].x; - if (corner[0].y < Min.y) - Min.y = corner[0].y; - if (corner[0].z < Min.z) - Min.z = corner[0].z; - - if (corner[2].x > Max.x) - Max.x = corner[2].x; - if (corner[2].y > Max.y) - Max.y = corner[2].y; - if (corner[2].z > Max.z) - Max.z = corner[2].z; - } - } - - Vector3 center = (Min + Max) / 2; - Vector3 size = new Vector3(Max.x - Min.x, Max.y - Min.y, Max.z - Min.z); - return new Bounds(center, size); - } - - public static void DrawGreenRect(int instanceID, Rect selectionRect, string text) - { - GameObject go = EditorUtility.InstanceIDToObject(instanceID) as GameObject; - Rect rect = new Rect(selectionRect) - { - width = selectionRect.width + (PrefabUtility.IsAnyPrefabInstanceRoot(go) ? 0 : 20) - }; - EditorGUI.DrawRect(rect, new Color(0.157f, 0.157f, 0.157f, 1f)); - GUI.Label(selectionRect, PrefabUtility.GetIconForGameObject(go)); - GUI.Label(new Rect(selectionRect) { x = selectionRect.x + 20 }, - text, new GUIStyle() { normal = { textColor = Color.green } }); - } - - #endregion - - #region Regex - - public static bool CheckHasAlphanumeric(string input) - { - const string pattern = "^[a-zA-Z0-9_]+$"; - return Regex.IsMatch(input, pattern); - } - - #endregion - - // #region Panel - // public static string SelectFolder(bool needUnderAssets = true) - // { - // string folderPath = PlayerPrefs.GetString("LastParticleCheckPath"); - // string path = EditorUtility.OpenFolderPanel(EditorLocalization.GetLocalization(EditorLocalizationStorage.Def_选择路径), folderPath, ""); - // if (path != "") - // { - // int index = path.IndexOf("Assets"); - // if (index != -1 || !needUnderAssets) - // { - // PlayerPrefs.SetString("LastParticleCheckPath", path); - // if (needUnderAssets) - // { - // path = path.Substring(index); - // } - // return path + "/"; - // } - // else - // { - // EditorUtility.DisplayDialog("messageBox", - // EditorLocalization.GetLocalization(EditorLocalizationStorage.Def_目录不在Assets下Tip), - // EditorLocalization.GetLocalization(EditorLocalizationStorage.Def_确定)); - // } - // } - // return null; - // } - // - // public static string SelectFile() - // { - // string filePath = PlayerPrefs.GetString("LastParticleCheckPath"); - // string path = EditorUtility.OpenFilePanel(EditorLocalization.GetLocalization(EditorLocalizationStorage.Def_选择文件), filePath, ""); - // if (path != "") - // { - // int index = path.IndexOf("Assets"); - // if (index != -1) - // { - // PlayerPrefs.SetString("LastParticleCheckPath", path); - // return path.Substring(index); - // } - // else - // { - // EditorUtility.DisplayDialog("messageBox", - // EditorLocalization.GetLocalization(EditorLocalizationStorage.Def_目录不在Assets下Tip), - // EditorLocalization.GetLocalization(EditorLocalizationStorage.Def_确定)); - // } - // } - // return null; - // } - // - // public static string SaveFile(string defaultName = "", string extension = "") - // { - // string filePath = PlayerPrefs.GetString("LastParticleCheckPath"); - // string path = EditorUtility.SaveFilePanel(EditorLocalization.GetLocalization(EditorLocalizationStorage.Def_保存), filePath, defaultName, extension); - // if (path != "") - // { - // int index = path.IndexOf("Assets"); - // if (index != -1) - // { - // PlayerPrefs.SetString("LastParticleCheckPath", path); - // return path.Substring(index); - // } - // else - // { - // EditorUtility.DisplayDialog("messageBox", - // EditorLocalization.GetLocalization(EditorLocalizationStorage.Def_目录不在Assets下Tip), - // EditorLocalization.GetLocalization(EditorLocalizationStorage.Def_确定)); - // } - // } - // return null; - // } - // #endregion - - public static int EnumPopupEx(Rect rect, string label, Type type, int enumValueIndex, string[] labels) - { - int[] ints = (int[])Enum.GetValues(type); - string[] strings = Enum.GetNames(type); - if (labels.Length != ints.Length) - { - return EditorGUI.IntPopup(rect, label, enumValueIndex, strings, ints); - } - else - { - return EditorGUI.IntPopup(rect, label, enumValueIndex, labels, ints); - } - } - - public static int EnumPopupLayoutEx(string label, Type type, int enumValueIndex, string[] labels) - { - int[] ints = (int[])Enum.GetValues(type); - string[] strings = Enum.GetNames(type); - if (labels.Length != ints.Length) - { - return EditorGUILayout.IntPopup(label, enumValueIndex, strings, ints); - } - else - { - return EditorGUILayout.IntPopup(label, enumValueIndex, labels, ints); - } - } - } -} -#endif \ No newline at end of file diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Common/Utils/Utils.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/Common/Utils/Utils.cs.meta deleted file mode 100644 index 8b6906b..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Common/Utils/Utils.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a90c428d74014a66a7e8c0c3faacd176 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Config.meta b/Client/Packages/com.alicizax.uxtool/Editor/Config.meta deleted file mode 100644 index 8d18578..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Config.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b38dd3e8fb89442baf34c39c99abf56d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Config/UXPrefabTabsConfig.cs b/Client/Packages/com.alicizax.uxtool/Editor/Config/UXPrefabTabsConfig.cs deleted file mode 100644 index 0443832..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Config/UXPrefabTabsConfig.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System.Collections.Generic; -using System.IO; -using UnityEditor; - -namespace AlicizaX.UXTool -{ - [System.Serializable] - [FilePath("ProjectSettings/UXPrefabTabsConfig.asset")] - internal class UXPrefabTabsConfig : ScriptableSingleton - { - public List tabs = new(); - - public void SyncTabs() - { - var dirty = false; - for (int i = 0; i < tabs.Count; i++) - { - string assetPath = AssetDatabase.GUIDToAssetPath(tabs[i]); -#if UNITY_6000_OR_NEWER - if (string.IsNullOrEmpty(assetPath) || !AssetDatabase.AssetPathExists(assetPath)) - { - tabs.RemoveAt(i); - dirty = true; - } -#else - if (string.IsNullOrEmpty(assetPath) || !File.Exists(assetPath)) - { - tabs.RemoveAt(i); - dirty = true; - } -#endif - } - - if (dirty) Save(); - } - } -} diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Config/UXPrefabTabsConfig.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/Config/UXPrefabTabsConfig.cs.meta deleted file mode 100644 index dcbb9db..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Config/UXPrefabTabsConfig.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c9f1c3d755f245759b4595b65b5e576e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Def.meta b/Client/Packages/com.alicizax.uxtool/Editor/Def.meta deleted file mode 100644 index 2ffce27..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Def.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f206d2f1a2fd4f81b95496801251b88c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Def/Def_UXGUIPath.cs b/Client/Packages/com.alicizax.uxtool/Editor/Def/Def_UXGUIPath.cs deleted file mode 100644 index c3aedec..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Def/Def_UXGUIPath.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System.IO; - -namespace AlicizaX.UXTool -{ - public static class Def_UXGUIPath - { - public static readonly string ConfigPath = "Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Config"; - - public static readonly string ComponentRes = "Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/"; - - public static readonly string UIResRootPath = "Assets/Bundles/UI"; - public static readonly string DefaultLayoutPath = "Assets/Default.wlt"; - } -} diff --git a/Client/Packages/com.alicizax.uxtool/Editor/Def/Def_UXGUIPath.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/Def/Def_UXGUIPath.cs.meta deleted file mode 100644 index 95dc333..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/Def/Def_UXGUIPath.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8ef1696f4c864c8c840cb2e637e72189 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI.meta deleted file mode 100644 index 614ace1..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3f498c2f64bbd1e4589a9c8058380495 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res.meta deleted file mode 100644 index 8851087..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e45fc341a3c39f547b39cce778b1c136 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component.meta deleted file mode 100644 index 2e51544..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9768513809263534088a2f32ed7c34f5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/UIStage.prefab b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/UIStage.prefab deleted file mode 100644 index a61b1ed..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/UIStage.prefab +++ /dev/null @@ -1,92 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &6407046066269117143 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6186567549948268087} - - component: {fileID: 2482112926894068853} - - component: {fileID: 7955690355910783094} - - component: {fileID: 9148593535310968807} - m_Layer: 5 - m_Name: UIStage - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &6186567549948268087 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6407046066269117143} - 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} - 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!223 &2482112926894068853 -Canvas: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6407046066269117143} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 1 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_VertexColorAlwaysGammaSpace: 1 - m_AdditionalShaderChannelsFlag: 27 - m_UpdateRectTransformForStandalone: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!114 &7955690355910783094 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6407046066269117143} - 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!114 &9148593535310968807 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6407046066269117143} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 21d71bc4606dce64fb65869d11d782df, type: 3} - m_Name: - m_EditorClassIdentifier: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/UIStage.prefab.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/UIStage.prefab.meta deleted file mode 100644 index 7a9792c..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/UIStage.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 0d29cbf8bba5fb34a87e59a5b6ead9a9 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/View.prefab b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/View.prefab deleted file mode 100644 index f63433b..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/View.prefab +++ /dev/null @@ -1,155 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1398347742421458328 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4677800691646643621} - - component: {fileID: 5154831573443284405} - - component: {fileID: 4279721120777329907} - m_Layer: 0 - m_Name: View - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4677800691646643621 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1398347742421458328} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1431218276088536921} - m_Father: {fileID: 0} - 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, y: 0} ---- !u!223 &5154831573443284405 -Canvas: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1398347742421458328} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_VertexColorAlwaysGammaSpace: 1 - m_AdditionalShaderChannelsFlag: 0 - m_UpdateRectTransformForStandalone: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!114 &4279721120777329907 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1398347742421458328} - 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 &8524026683550576887 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1431218276088536921} - - component: {fileID: 4882821455657707705} - - component: {fileID: 2892262279528891506} - m_Layer: 0 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1431218276088536921 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8524026683550576887} - 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: 4677800691646643621} - 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 &4882821455657707705 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8524026683550576887} - m_CullTransparentMesh: 1 ---- !u!114 &2892262279528891506 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8524026683550576887} - 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.3962264, g: 0.3962264, b: 0.3962264, 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: 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 diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/View.prefab.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/View.prefab.meta deleted file mode 100644 index feadbdf..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/View.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 3b558d5df13733448af9e24b0c779294 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Config.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Config.meta deleted file mode 100644 index 48d0c4f..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Config.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0fdf05c5b631e734ba52458209687d6a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Config/DesignLayout.wlt b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Config/DesignLayout.wlt deleted file mode 100644 index 516ea8d..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Config/DesignLayout.wlt +++ /dev/null @@ -1,1492 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &1 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_PixelRect: - serializedVersion: 2 - x: 1920 - y: 48 - width: 1920 - height: 997 - m_ShowMode: 4 - m_Title: UXHierachy - m_RootView: {fileID: 8} - m_MinSize: {x: 875, y: 300} - m_MaxSize: {x: 10000, y: 10000} - m_Maximized: 1 ---- !u!114 &2 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: PrefabTreeViewWindow - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 227 - height: 941 - m_MinSize: {x: 421, y: 326} - m_MaxSize: {x: 4001, y: 4026} - m_ActualView: {fileID: 12} - m_Panes: - - {fileID: 12} - m_Selected: 0 - m_LastSelected: 0 ---- !u!114 &3 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: ConsoleWindow - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 0 - y: 690 - width: 455 - height: 251 - m_MinSize: {x: 51, y: 76} - m_MaxSize: {x: 4001, y: 4026} - m_ActualView: {fileID: 16} - m_Panes: - - {fileID: 16} - m_Selected: 0 - m_LastSelected: 0 ---- !u!114 &4 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_Children: - - {fileID: 6} - - {fileID: 3} - m_Position: - serializedVersion: 2 - x: 1465 - y: 0 - width: 455 - height: 941 - m_MinSize: {x: 100, y: 100} - m_MaxSize: {x: 8096, y: 16192} - vertical: 1 - controlID: 35315 - draggingID: 0 ---- !u!114 &5 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: UXHierachyWindow - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 227 - y: 0 - width: 245 - height: 941 - m_MinSize: {x: 52, y: 76} - m_MaxSize: {x: 4002, y: 4026} - m_ActualView: {fileID: 13} - m_Panes: - - {fileID: 13} - m_Selected: 0 - m_LastSelected: 0 ---- !u!114 &6 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: InspectorWindow - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 455 - height: 690 - m_MinSize: {x: 276, y: 76} - m_MaxSize: {x: 4001, y: 4026} - m_ActualView: {fileID: 18} - m_Panes: - - {fileID: 18} - - {fileID: 15} - - {fileID: 14} - m_Selected: 0 - m_LastSelected: 1 ---- !u!114 &7 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_Children: - - {fileID: 2} - - {fileID: 5} - - {fileID: 11} - - {fileID: 4} - m_Position: - serializedVersion: 2 - x: 0 - y: 36 - width: 1920 - height: 941 - m_MinSize: {x: 400, y: 100} - m_MaxSize: {x: 32384, y: 16192} - vertical: 0 - controlID: 35269 - draggingID: 0 ---- !u!114 &8 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12008, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_Children: - - {fileID: 9} - - {fileID: 7} - - {fileID: 10} - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 1920 - height: 997 - m_MinSize: {x: 875, y: 300} - m_MaxSize: {x: 10000, y: 10000} - m_UseTopView: 1 - m_TopViewHeight: 36 - m_UseBottomView: 1 - m_BottomViewHeight: 20 ---- !u!114 &9 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12011, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 0 - y: 0 - width: 1920 - height: 36 - m_MinSize: {x: 0, y: 0} - m_MaxSize: {x: 0, y: 0} - m_LastLoadedLayoutName: DesignLayout ---- !u!114 &10 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12042, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 0 - y: 977 - width: 1920 - height: 20 - m_MinSize: {x: 0, y: 0} - m_MaxSize: {x: 0, y: 0} ---- !u!114 &11 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: SceneView - m_EditorClassIdentifier: - m_Children: [] - m_Position: - serializedVersion: 2 - x: 472 - y: 0 - width: 993 - height: 941 - m_MinSize: {x: 202, y: 226} - m_MaxSize: {x: 4002, y: 4026} - m_ActualView: {fileID: 19} - m_Panes: - - {fileID: 19} - - {fileID: 17} - m_Selected: 0 - m_LastSelected: 1 ---- !u!114 &12 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc4810274e14449aa8d6e0f9ef1ad21a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_MinSize: {x: 420, y: 300} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: Prefab Tree View - m_Image: {fileID: 0} - m_Tooltip: - m_TextWithWhitespace: "Prefab Tree View\u200B" - m_Pos: - serializedVersion: 2 - x: 0 - y: 24 - width: 226 - height: 915 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_ContainerData: [] - m_OverlaysVisible: 1 ---- !u!114 &13 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 460b36db23659db4cb26ee8ba3234ad9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_MinSize: {x: 50, y: 50} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: UXHierachy - m_Image: {fileID: 0} - m_Tooltip: - m_TextWithWhitespace: "UXHierachy\u200B" - m_Pos: - serializedVersion: 2 - x: 2147 - y: 84 - width: 243 - height: 915 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_ContainerData: [] - m_OverlaysVisible: 1 ---- !u!114 &14 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12014, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_MinSize: {x: 230, y: 250} - m_MaxSize: {x: 10000, y: 10000} - m_TitleContent: - m_Text: Project - m_Image: {fileID: -5467254957812901981, guid: 0000000000000000d000000000000000, type: 0} - m_Tooltip: - m_TextWithWhitespace: "Project\u200B" - m_Pos: - serializedVersion: 2 - x: 3385 - y: 84 - width: 454 - height: 664 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_ContainerData: [] - m_OverlaysVisible: 1 - m_SearchFilter: - m_NameFilter: - m_ClassNames: [] - m_AssetLabels: [] - m_AssetBundleNames: [] - m_ReferencingInstanceIDs: - m_SceneHandles: - m_ShowAllHits: 0 - m_SkipHidden: 0 - m_SearchArea: 1 - m_Folders: [] - m_Globs: [] - m_ProductIds: - m_AnyWithAssetOrigin: 0 - m_OriginalText: - m_ImportLogFlags: 0 - m_FilterByTypeIntersection: 0 - m_ViewMode: 0 - m_StartGridSize: 16 - m_LastFolders: [] - m_LastFoldersGridSize: -1 - m_LastProjectPath: G:\UnityProject\AlicizaUXTool - m_LockTracker: - m_IsLocked: 0 - m_FolderTreeState: - scrollPos: {x: 0, y: 0} - m_SelectedIDs: 56b40000 - m_LastClickedID: 46166 - m_ExpandedIDs: ffffffff00000000a6a70000a8a70000aaa70000aca70000aea70000b0a70000b2a70000b4a70000b6a70000b8a70000baa70000c0a70000c2a70000c4a70000c6a70000caa70000d0a70000d6a70000d8a70000daa70000dea70000e0a70000e6a70000e8a70000eaa70000eea70000f0a70000f2a70000f4a70000f6a70000f8a70000b8a90000c0aa0000caaa0000e2aa0000e4aa0000e8aa0000ecaa0000eeaa0000f4aa0000f6aa000000ab000002b8000052b80000a2b8000000ca9a3bffffff7f - m_RenameOverlay: - m_UserAcceptedRename: 0 - m_Name: - m_OriginalName: - m_EditFieldRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 0 - height: 0 - m_UserData: 0 - m_IsWaitingForDelay: 0 - m_IsRenaming: 0 - m_OriginalEventType: 11 - m_IsRenamingFilename: 1 - m_TrimLeadingAndTrailingWhitespace: 0 - m_ClientGUIView: {fileID: 0} - m_SearchString: - m_CreateAssetUtility: - m_EndAction: {fileID: 0} - m_InstanceID: 0 - m_Path: - m_Icon: {fileID: 0} - m_ResourceFile: - m_AssetTreeState: - scrollPos: {x: 0, y: 0} - m_SelectedIDs: e6f50000 - m_LastClickedID: 0 - m_ExpandedIDs: ffffffff00000000a6a70000a8a70000aaa70000aca70000aea70000b0a70000b2a70000b4a70000b6a70000b8a70000baa70000c0a70000c2a70000c4a70000c6a70000caa70000d0a70000d6a70000d8a70000daa70000dea70000e0a70000e6a70000e8a70000eaa70000eea70000f0a70000f2a70000f4a70000f6a70000f8a70000b8a90000c0aa0000caaa0000e2aa0000e4aa0000e8aa0000ecaa0000eeaa0000f4aa0000f6aa000000ab000002b8000052b80000a2b8000000ca9a3bffffff7f - m_RenameOverlay: - m_UserAcceptedRename: 0 - m_Name: - m_OriginalName: - m_EditFieldRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 0 - height: 0 - m_UserData: 0 - m_IsWaitingForDelay: 0 - m_IsRenaming: 0 - m_OriginalEventType: 11 - m_IsRenamingFilename: 1 - m_TrimLeadingAndTrailingWhitespace: 0 - m_ClientGUIView: {fileID: 0} - m_SearchString: - m_CreateAssetUtility: - m_EndAction: {fileID: 0} - m_InstanceID: 0 - m_Path: - m_Icon: {fileID: 0} - m_ResourceFile: - m_ListAreaState: - m_SelectedInstanceIDs: e6f50000 - m_LastClickedInstanceID: 62950 - m_HadKeyboardFocusLastEvent: 0 - m_ExpandedInstanceIDs: - m_RenameOverlay: - m_UserAcceptedRename: 0 - m_Name: - m_OriginalName: - m_EditFieldRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 0 - height: 0 - m_UserData: 0 - m_IsWaitingForDelay: 0 - m_IsRenaming: 0 - m_OriginalEventType: 11 - m_IsRenamingFilename: 1 - m_TrimLeadingAndTrailingWhitespace: 0 - m_ClientGUIView: {fileID: 0} - m_CreateAssetUtility: - m_EndAction: {fileID: 0} - m_InstanceID: 0 - m_Path: - m_Icon: {fileID: 0} - m_ResourceFile: - m_NewAssetIndexInList: -1 - m_ScrollPosition: {x: 0, y: 0} - m_GridSize: 16 - m_SkipHiddenPackages: 0 - m_DirectoriesAreaWidth: 157.5 ---- !u!114 &15 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_MinSize: {x: 50, y: 50} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: Hierarchy - m_Image: {fileID: 7966133145522015247, guid: 0000000000000000d000000000000000, type: 0} - m_Tooltip: - m_TextWithWhitespace: "Hierarchy\u200B" - m_Pos: - serializedVersion: 2 - x: 3385 - y: 84 - width: 454 - height: 664 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_ContainerData: [] - m_OverlaysVisible: 1 - m_SceneHierarchy: - m_TreeViewState: - scrollPos: {x: 0, y: 0} - m_SelectedIDs: e6f50000 - m_LastClickedID: 62950 - m_ExpandedIDs: 3662feff4262feffe8f50000 - m_RenameOverlay: - m_UserAcceptedRename: 0 - m_Name: - m_OriginalName: - m_EditFieldRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 0 - height: 0 - m_UserData: 0 - m_IsWaitingForDelay: 0 - m_IsRenaming: 0 - m_OriginalEventType: 11 - m_IsRenamingFilename: 0 - m_TrimLeadingAndTrailingWhitespace: 0 - m_ClientGUIView: {fileID: 0} - m_SearchString: - m_ExpandedScenes: [] - m_CurrenRootInstanceID: 0 - m_LockTracker: - m_IsLocked: 0 - m_CurrentSortingName: TransformSorting - m_WindowGUID: 41c0050a86990064a9eb3e2eb22c25c3 ---- !u!114 &16 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12003, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_MinSize: {x: 50, y: 50} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: Console - m_Image: {fileID: -4327648978806127646, guid: 0000000000000000d000000000000000, type: 0} - m_Tooltip: - m_TextWithWhitespace: "Console\u200B" - m_Pos: - serializedVersion: 2 - x: 1 - y: 714 - width: 454 - height: 225 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_ContainerData: [] - m_OverlaysVisible: 1 ---- !u!114 &17 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12015, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_MinSize: {x: 50, y: 50} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: Game - m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000, type: 0} - m_Tooltip: - m_TextWithWhitespace: "Game\u200B" - m_Pos: - serializedVersion: 2 - x: 2508 - y: 84 - width: 979 - height: 915 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_ContainerData: [] - m_OverlaysVisible: 1 - m_SerializedViewNames: [] - m_SerializedViewValues: [] - m_PlayModeViewName: GameView - m_ShowGizmos: 0 - m_TargetDisplay: 0 - m_ClearColor: {r: 0, g: 0, b: 0, a: 0} - m_TargetSize: {x: 1920, y: 1080} - m_TextureFilterMode: 0 - m_TextureHideFlags: 61 - m_RenderIMGUI: 1 - m_EnterPlayModeBehavior: 0 - m_UseMipMap: 0 - m_VSyncEnabled: 0 - m_Gizmos: 0 - m_Stats: 0 - m_SelectedSizes: 03000000000000000000000000000000000000000000000000000000000000000000000000000000 - m_ZoomArea: - m_HRangeLocked: 0 - m_VRangeLocked: 0 - hZoomLockedByDefault: 0 - vZoomLockedByDefault: 0 - m_HBaseRangeMin: -960 - m_HBaseRangeMax: 960 - m_VBaseRangeMin: -540 - m_VBaseRangeMax: 540 - m_HAllowExceedBaseRangeMin: 1 - m_HAllowExceedBaseRangeMax: 1 - m_VAllowExceedBaseRangeMin: 1 - m_VAllowExceedBaseRangeMax: 1 - m_ScaleWithWindow: 0 - m_HSlider: 1 - m_VSlider: 0 - m_IgnoreScrollWheelUntilClicked: 0 - m_EnableMouseInput: 1 - m_EnableSliderZoomHorizontal: 0 - m_EnableSliderZoomVertical: 0 - m_UniformScale: 1 - m_UpDirection: 1 - m_DrawArea: - serializedVersion: 2 - x: 0 - y: 21 - width: 979 - height: 894 - m_Scale: {x: 0.50989586, y: 0.50989586} - m_Translation: {x: 489.49997, y: 447} - m_MarginLeft: 0 - m_MarginRight: 0 - m_MarginTop: 0 - m_MarginBottom: 0 - m_LastShownAreaInsideMargins: - serializedVersion: 2 - x: -959.9999 - y: -876.6496 - width: 1919.9999 - height: 1753.2992 - m_MinimalGUI: 1 - m_defaultScale: 0.50989586 - m_LastWindowPixelSize: {x: 979, y: 915} - m_ClearInEditMode: 1 - m_NoCameraWarning: 1 - m_LowResolutionForAspectRatios: 01000000000000000000 - m_XRRenderMode: 0 - m_RenderTexture: {fileID: 0} ---- !u!114 &18 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 12019, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_MinSize: {x: 275, y: 50} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: Inspector - m_Image: {fileID: -2667387946076563598, guid: 0000000000000000d000000000000000, type: 0} - m_Tooltip: - m_TextWithWhitespace: "Inspector\u200B" - m_Pos: - serializedVersion: 2 - x: 1 - y: 24 - width: 454 - height: 664 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: [] - m_ContainerData: [] - m_OverlaysVisible: 1 - m_ObjectsLockedBeforeSerialization: [] - m_InstanceIDsLockedBeforeSerialization: - m_PreviewResizer: - m_CachedPref: -165 - m_ControlHash: 1412526313 - m_PrefName: Preview_InspectorPreview - m_LastInspectedObjectInstanceID: -1 - m_LastVerticalScrollValue: 0 - m_GlobalObjectId: - m_InspectorMode: 0 - m_LockTracker: - m_IsLocked: 0 - m_PreviewWindow: {fileID: 0} ---- !u!114 &19 -MonoBehaviour: - m_ObjectHideFlags: 52 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 1 - m_Script: {fileID: 12013, guid: 0000000000000000e000000000000000, type: 0} - m_Name: - m_EditorClassIdentifier: - m_MinSize: {x: 200, y: 200} - m_MaxSize: {x: 4000, y: 4000} - m_TitleContent: - m_Text: Scene - m_Image: {fileID: 2593428753322112591, guid: 0000000000000000d000000000000000, type: 0} - m_Tooltip: - m_TextWithWhitespace: "Scene\u200B" - m_Pos: - serializedVersion: 2 - x: 2392 - y: 84 - width: 991 - height: 915 - m_SerializedDataModeController: - m_DataMode: 0 - m_PreferredDataMode: 0 - m_SupportedDataModes: - isAutomatic: 1 - m_ViewDataDictionary: {fileID: 0} - m_OverlayCanvas: - m_LastAppliedPresetName: Default - m_SaveData: - - dockPosition: 0 - containerId: overlay-toolbar__top - displayed: 0 - id: Tool Settings - index: 0 - contents: '{"m_Layout":1,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":-161.0,"y":-26.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":3,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: -161, y: -26} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 3 - layout: 1 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 0 - containerId: overlay-toolbar__top - displayed: 0 - id: unity-grid-and-snap-toolbar - index: 1 - contents: '{"m_Layout":1,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":149.0,"y":25.0},"m_SnapOffsetDelta":{"x":0.0,"y":42.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 149, y: 25} - snapOffsetDelta: {x: 0, y: 42} - snapCorner: 0 - layout: 1 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-toolbar__top - displayed: 0 - id: unity-scene-view-toolbar - index: 0 - contents: '{"m_Layout":1,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":25.0},"m_SnapOffsetDelta":{"x":0.0,"y":42.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 24, y: 25} - snapOffsetDelta: {x: 0, y: 42} - snapCorner: 0 - layout: 1 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-toolbar__top - displayed: 0 - id: unity-search-toolbar - index: 2 - contents: '{"m_Layout":1,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":-24.0,"y":67.0},"m_FloatingSnapCorner":1,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: -24, y: 67} - snapCorner: 1 - layout: 1 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 0 - containerId: overlay-toolbar__left - displayed: 0 - id: unity-transform-toolbar - index: 3 - contents: '{"m_Layout":2,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":-26.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":2,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 24, y: -26} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 2 - layout: 2 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 0 - containerId: overlay-container--left - displayed: 1 - id: unity-component-tools - index: 1 - contents: - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 197} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 0 - layout: 2 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 0 - containerId: overlay-container--right - displayed: 1 - id: Orientation - index: 0 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":67.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 24, y: 67} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/Light Settings - index: 0 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":67.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 67} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/Camera - index: 1 - contents: - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: -117} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 2 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/Cloth Constraints - index: 1 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":67.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 67} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/Cloth Collisions - index: 2 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":67.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 67} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/Navmesh Display - index: 4 - contents: - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/Agent Display - index: 5 - contents: - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/Obstacle Display - index: 6 - contents: - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/Occlusion Culling - index: 3 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":67.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 67} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/Physics Debugger - index: 4 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":67.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 67} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/Scene Visibility - index: 5 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":67.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 67} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/Particles - index: 6 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":67.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 67} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/Tilemap - index: 11 - contents: - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/Tilemap Palette Helper - index: 12 - contents: - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-toolbar__top - displayed: 0 - id: Scene View/Open Tile Palette - index: 3 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 0} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-toolbar__top - displayed: 0 - id: Scene View/Tilemap Focus - index: 4 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 0} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 0 - containerId: Floating - displayed: 0 - id: AINavigationOverlay - index: 0 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":true,"m_FloatingSnapOffset":{"x":-216.0,"y":-236.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":3,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 1 - collapsed: 0 - snapOffset: {x: -216, y: -236} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 3 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: APV Overlay - index: 8 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":48.0,"y":48.0},"m_SnapOffsetDelta":{"x":0.0,"y":19.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 48, y: 48} - snapOffsetDelta: {x: 0, y: 19} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/TrailRenderer - index: 7 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":48.0,"y":48.0},"m_SnapOffsetDelta":{"x":0.0,"y":19.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 48, y: 48} - snapOffsetDelta: {x: 0, y: 19} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 1 - id: UnityEditor.SceneViewCameraOverlay - index: 10 - contents: - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 25} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 1 - id: UnityEditor.SceneViewCameraOverlay (0) - index: 11 - contents: - floating: 0 - collapsed: 0 - snapOffset: {x: 48, y: 48} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 0 - containerId: overlay-toolbar__top - displayed: 0 - id: Brush Attributes - index: 2 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":67.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 67} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-toolbar__top - displayed: 0 - id: unity-scene-view-camera-mode-toolbar - index: 1 - contents: '{"m_Layout":1,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":25.0},"m_SnapOffsetDelta":{"x":0.0,"y":42.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 24, y: 25} - snapOffsetDelta: {x: 0, y: 42} - snapCorner: 0 - layout: 1 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 0 - containerId: overlay-toolbar__left - displayed: 0 - id: Terrain Tools - index: 1 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":67.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 67} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 0 - containerId: overlay-toolbar__left - displayed: 0 - id: Brush Masks - index: 2 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":67.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 67} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--left - displayed: 0 - id: Scene View/Lighting Visualization Colors - index: 0 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":67.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 67} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 0 - containerId: overlay-toolbar__bottom - displayed: 0 - id: Overlays/OverlayMenu - index: 0 - contents: '{"m_Layout":1,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":-56.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":2,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 24, y: -56} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 2 - layout: 1 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/Tile Palette Clipboard - index: 0 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 0} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/Tile Palette Brush Pick - index: 2 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 0} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: SceneView/CamerasOverlay - index: 9 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":67.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 67} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Scene View/PBR Validation Settings - index: 10 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":67.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 67} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: unity-spline-inspector - index: 13 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: 24, y: 0} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 0 - containerId: overlay-toolbar__left - displayed: 1 - id: Align - index: 0 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":25.0},"m_SnapOffsetDelta":{"x":0.0,"y":42.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 24, y: 25} - snapOffsetDelta: {x: 0, y: 42} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 0 - id: Align (0) - index: 11 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":25.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 24, y: 25} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 1 - containerId: overlay-container--right - displayed: 1 - id: Stretch - index: 11 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":25.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: 24, y: 25} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 0 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - - dockPosition: 0 - containerId: overlay-toolbar__left - displayed: 1 - id: QuickBar - index: 4 - contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":-118.0,"y":-43.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":3,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' - floating: 0 - collapsed: 0 - snapOffset: {x: -118, y: -43} - snapOffsetDelta: {x: 0, y: 0} - snapCorner: 3 - layout: 4 - size: {x: 0, y: 0} - sizeOverridden: 0 - m_ContainerData: - - containerId: overlay-toolbar__top - scrollOffset: 0 - - containerId: overlay-toolbar__left - scrollOffset: 0 - - containerId: overlay-container--left - scrollOffset: 0 - - containerId: overlay-container--right - scrollOffset: 0 - - containerId: overlay-toolbar__right - scrollOffset: 0 - - containerId: overlay-toolbar__bottom - scrollOffset: 0 - - containerId: Floating - scrollOffset: 0 - m_OverlaysVisible: 1 - m_WindowGUID: cc27987af1a868c49b0894db9c0f5429 - m_Gizmos: 1 - m_OverrideSceneCullingMask: 0 - m_SceneIsLit: 0 - m_SceneLighting: 1 - m_2DMode: 1 - m_isRotationLocked: 0 - m_PlayAudio: 0 - m_AudioPlay: 0 - m_DebugDrawModesUseInteractiveLightBakingData: 0 - m_Position: - m_Target: {x: 881.8752, y: -260.9247, z: -10.264009} - speed: 2 - m_Value: {x: 901.4082, y: -225.73424, z: -9.606708} - m_RenderMode: 0 - m_CameraMode: - drawMode: 0 - name: Shaded - section: Shading Mode - m_ValidateTrueMetals: 0 - m_DoValidateTrueMetals: 0 - m_SceneViewState: - m_AlwaysRefresh: 0 - showFog: 1 - showSkybox: 0 - showFlares: 1 - showImageEffects: 1 - showParticleSystems: 1 - showVisualEffectGraphs: 1 - m_FxEnabled: 1 - m_Grid: - xGrid: - m_Fade: - m_Target: 0 - speed: 2 - m_Value: 0 - m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} - m_Pivot: {x: 0, y: 0, z: 0} - m_Size: {x: 0, y: 0} - yGrid: - m_Fade: - m_Target: 0 - speed: 2 - m_Value: 0 - m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} - m_Pivot: {x: 0, y: 0, z: 0} - m_Size: {x: 1, y: 1} - zGrid: - m_Fade: - m_Target: 1 - speed: 2 - m_Value: 1 - m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} - m_Pivot: {x: 0, y: 0, z: 0} - m_Size: {x: 1, y: 1} - m_ShowGrid: 1 - m_GridAxis: 1 - m_gridOpacity: 0.5 - m_Rotation: - m_Target: {x: 0, y: 0, z: 0, w: 1} - speed: 2 - m_Value: {x: 0, y: 0, z: 0, w: 1} - m_Size: - m_Target: 1526.4009 - speed: 2 - m_Value: 1460.6707 - m_Ortho: - m_Target: 1 - speed: 2 - m_Value: 1 - m_CameraSettings: - m_Speed: 1 - m_SpeedNormalized: 0.5 - m_SpeedMin: 0.001 - m_SpeedMax: 2 - m_EasingEnabled: 1 - m_EasingDuration: 0.4 - m_AccelerationEnabled: 1 - m_FieldOfViewHorizontalOrVertical: 60 - m_NearClip: 0.03 - m_FarClip: 10000 - m_DynamicClip: 1 - m_OcclusionCulling: 0 - m_LastSceneViewRotation: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226} - m_LastSceneViewOrtho: 0 - m_Viewpoint: - m_SceneView: {fileID: 19} - m_CameraOverscanSettings: - m_Opacity: 50 - m_Scale: 1 - m_ReplacementShader: {fileID: 0} - m_ReplacementString: - m_SceneVisActive: 1 - m_LastLockedObject: {fileID: 0} - m_LastDebugDrawMode: 35 - m_ViewIsLockedToObject: 0 diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Config/DesignLayout.wlt.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Config/DesignLayout.wlt.meta deleted file mode 100644 index 23f836f..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Config/DesignLayout.wlt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 4216e337fd7940249a555a2f0543a2da -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView.meta deleted file mode 100644 index e8bbe51..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8db0bb683a284f3192668f83cf1cdf98 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ContextMenu.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ContextMenu.meta deleted file mode 100644 index abcfd0d..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ContextMenu.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 34949e2402051a244b0ba35d0dba372a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ContextMenu/SceneViewContextMenu.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ContextMenu/SceneViewContextMenu.cs deleted file mode 100644 index 72c5948..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ContextMenu/SceneViewContextMenu.cs +++ /dev/null @@ -1,987 +0,0 @@ -#if UNITY_EDITOR -using UnityEditor; -using UnityEngine; -using System.Collections.Generic; -using UnityEditor.SceneManagement; -using UnityEngine.SceneManagement; -using UnityEngine.UIElements; -using System.Linq; -using UnityEngine.UI; - -namespace AlicizaX.UXTool -{ - public static class SceneViewContextMenu - { - // 右键状态和拖动状态 - private static bool rightMouseDown = false; - private static bool hasDrag = false; - - // 右键菜单的委托,允许外部插件扩展菜单 - public delegate void AddContextMenuFunc(); - - public static AddContextMenuFunc addContextMenuFunc; - - // 用于复制/粘贴RectTransform数据的缓存 - private static RectTransformCache clipboard = null; - - [InitializeOnLoadMethod] - public static void Init() - { - // 在SceneView中注册事件回调 - if (UXDesinUtil.InDesign) - { - SceneView.duringSceneGui += OnSceneGUI; - } - else - { - SceneView.duringSceneGui -= OnSceneGUI; - } - } - - static void OnSceneGUI(SceneView sceneView) - { - if (PrefabStageUtils.InEmptyStage) return; - - // 如果不是右键点击,直接返回 - if (Event.current == null || Event.current.button != 1) - { - return; - } - - // 右键按下,初始化状态 - if (Event.current.type == EventType.MouseDown) - { - hasDrag = false; - rightMouseDown = true; - return; - } - - // 拖动过程中标记状态 - if (Event.current.type == EventType.MouseDrag && rightMouseDown) - { - hasDrag = true; - return; - } - - // 右键松开时弹出菜单 - if (Event.current.type == EventType.MouseUp && rightMouseDown && !hasDrag) - { - HandleRightClick(); - Event.current.Use(); // 防止事件进一步传播 - } - } - - // 右键菜单生成和显示的核心方法 - private static void HandleRightClick() - { - // 生成右键菜单项 - GenerateRectTransformMenu(); - GenerateSelectObjectMenu(); - - // 调用外部扩展菜单 - addContextMenuFunc?.Invoke(); - - // 显示菜单 - ContextMenuUtils.ShowContextMenu(); // 调用修改后的 ShowContextMenu - - // 重置状态 - rightMouseDown = false; - } - - #region RectTransform 操作菜单 - - private static void GenerateRectTransformMenu() - { - if (UXSelectionUtil.gameObjects == null || UXSelectionUtil.gameObjects.Length == 0) return; - if (!(UXSelectionUtil.gameObjects[0].transform is RectTransform)) - { - return; - } - - GameObject[] selected = UXSelectionUtil.gameObjects; - - // 添加分隔符 - ContextMenuUtils.BuildSeparator(); - - // 添加通用菜单项 - AddCommonItem(); - - // 布局与对齐 - ContextMenuUtils.BuildSeparator(); - ContextMenuUtils.BuildContextMenu("对齐/Left", false, () => AlignSelected(AlignType.Left)); - ContextMenuUtils.BuildContextMenu("对齐/Center (水平)", false, () => AlignSelected(AlignType.CenterHorizontal)); - ContextMenuUtils.BuildContextMenu("对齐/Right", false, () => AlignSelected(AlignType.Right)); - ContextMenuUtils.BuildContextMenu("对齐/Top", false, () => AlignSelected(AlignType.Top)); - ContextMenuUtils.BuildContextMenu("对齐/Middle (垂直)", false, () => AlignSelected(AlignType.CenterVertical)); - ContextMenuUtils.BuildContextMenu("对齐/Bottom", false, () => AlignSelected(AlignType.Bottom)); - - ContextMenuUtils.BuildSeparator(); - ContextMenuUtils.BuildContextMenu("分发/水平分发", false, () => DistributeSelected(DistributeAxis.Horizontal)); - ContextMenuUtils.BuildContextMenu("分发/垂直分发", false, () => DistributeSelected(DistributeAxis.Vertical)); - - ContextMenuUtils.BuildSeparator(); - ContextMenuUtils.BuildContextMenu("大小/匹配第一个尺寸", false, () => MatchSizeToFirst()); - ContextMenuUtils.BuildContextMenu("像素对齐/位置取整", false, () => PixelSnapSelected()); - ContextMenuUtils.BuildContextMenu("重置/位置与旋转与缩放", false, () => ResetTransformSelected()); - - ContextMenuUtils.BuildSeparator(); - ContextMenuUtils.BuildContextMenu("锚点/设为四角(保持位置)", false, () => SetAnchorsToCornersKeepPos()); - ContextMenuUtils.BuildContextMenu("锚点/居中锚点(保持位置)", false, () => SetAnchorsToCenterKeepPos()); - - ContextMenuUtils.BuildSeparator(); - ContextMenuUtils.BuildContextMenu("临时操作/复制 RectTransform", false, () => CopyRectTransform()); - ContextMenuUtils.BuildContextMenu("临时操作/粘贴 RectTransform", clipboard == null, () => PasteRectTransform()); - - ContextMenuUtils.BuildSeparator(); - ContextMenuUtils.BuildContextMenu("对象/向前移动(置为最后Sibling)", false, () => BringToFront()); - ContextMenuUtils.BuildContextMenu("对象/发送到最底层(置为第0)", false, () => SendToBack()); - ContextMenuUtils.BuildContextMenu("对象/创建容器并包裹", false, () => CreateContainerAroundSelection()); - ContextMenuUtils.BuildContextMenu("对象/复制(场景内)", false, () => DuplicateSelection()); - ContextMenuUtils.BuildContextMenu("对象/重命名选中", false, () => RenameSelection()); - ContextMenuUtils.BuildContextMenu("对象/选择父对象", false, () => SelectParent()); - ContextMenuUtils.BuildContextMenu("对象/聚焦(场景视图)", false, () => FrameSelection()); - - ContextMenuUtils.BuildSeparator(); - ContextMenuUtils.BuildContextMenu("Graphic/切换 RaycastTarget", false, () => ToggleRaycastTarget()); - ContextMenuUtils.BuildContextMenu("排序/按名称排序同级子项", false, () => SortSiblingsByName()); - - // 如果可以组合RectTransform,则添加组合项 - ContextMenuUtils.BuildSeparator(); - if (CombineWidgetLogic.CanCombine(UXSelectionUtil.gameObjects)) - { - ContextMenuUtils.BuildContextMenu("组合", false, () => CombineWidgetLogic.GenCombineRootRect(UXSelectionUtil.gameObjects)); - } - else - { - ContextMenuUtils.BuildContextMenu("组合", true, null); // Disabled item - } - } - - private static void SetAnchors(GameObject[] selectedObjects) - { - // 这里是设置锚点的逻辑,示例函数 - Debug.Log("设置锚点的功能..."); - } - - #endregion - - private static void AddCommonItem() - { - - } - - #region UI 选择菜单 - - private static void GenerateSelectObjectMenu() - { - var prefabStage = PrefabStageUtils.GetCurrentPrefabStage(); - List inSceneObjs = GetAllUIObjects(prefabStage); - - // 获取鼠标位置并转换为屏幕坐标(GUI坐标调整) - Camera camera = SceneView.currentDrawingSceneView.camera; - Vector2 mousePosGui = Event.current.mousePosition; - Vector2 mousePos = new Vector2(mousePosGui.x, camera.pixelHeight - mousePosGui.y); - - // 排序UI对象 - SortedList sortedUIObjects = SortUIObjects(inSceneObjs); - - // 将UI对象添加到菜单中 - foreach (string key in sortedUIObjects.Keys) - { - RectTransform obj = sortedUIObjects[key]; - if (RectTransformUtility.RectangleContainsScreenPoint(obj, mousePos, camera)) - { - ContextMenuUtils.BuildContextMenu(obj.name, false, () => UXSelectionUtil.activeGameObject = obj.gameObject); - } - } - } - - // 获取场景中的所有UI对象 - private static List GetAllUIObjects(PrefabStage prefabStage) - { - List uiObjects = new List(); - - if (prefabStage != null) - { - RectTransform[] allObjects = prefabStage.prefabContentsRoot.GetComponentsInChildren(true); - foreach (RectTransform obj in allObjects) - { - if (FindContainerLogic.ObjectFit(obj.gameObject)) - { - uiObjects.Add(obj); - } - } - } - else - { - UnityEngine.SceneManagement.Scene scene = SceneManager.GetActiveScene(); - GameObject[] rootObjects = scene.GetRootGameObjects(); - foreach (GameObject rootObj in rootObjects) - { - RectTransform[] childRects = rootObj.GetComponentsInChildren(true); - foreach (RectTransform rect in childRects) - { - if (FindContainerLogic.ObjectFit(rect.gameObject)) - { - uiObjects.Add(rect); - } - } - } - } - - return uiObjects; - } - - // 排序UI对象 - private static SortedList SortUIObjects(List uiObjects) - { - List uiNames = new List(); - foreach (var rect in uiObjects) - { - uiNames.Add(GetTransformHierarchyString("", rect)); - } - - // 按照名称排序 - SortedList sortedList = new SortedList(new DuplicateKeyComparer()); - for (int i = 0; i < uiObjects.Count; i++) - { - // 确保 key 唯一:包含索引 - string key = uiNames[i] + "_" + i; - sortedList.Add(key, uiObjects[i]); - } - - return sortedList; - } - - // 获取UI对象的层级字符串 - private static string GetTransformHierarchyString(string prefix, Transform trans) - { - string str = string.IsNullOrEmpty(prefix) ? trans.GetSiblingIndex().ToString() : $"{trans.GetSiblingIndex()}.{prefix}"; - if (trans.parent != null) - { - return GetTransformHierarchyString(str, trans.parent); - } - - return str; - } - - #endregion - - #region 辅助类与功能实现 - - // 自定义比较器,用于排序UI元素 - private class DuplicateKeyComparer : IComparer - { - public int Compare(string x, string y) - { - return -string.Compare(x, y); // 逆序排序 - } - } - - private enum AlignType - { - Left, - CenterHorizontal, - Right, - Top, - CenterVertical, - Bottom - } - - private enum DistributeAxis - { - Horizontal, - Vertical - } - - private class RectTransformCache - { - public Vector2 anchoredPosition; - public Vector2 sizeDelta; - public Vector2 anchorMin; - public Vector2 anchorMax; - public Vector2 pivot; - public Quaternion rotation; - public Vector3 localScale; - } - - private static void CopyRectTransform() - { - if (UXSelectionUtil.gameObjects == null || UXSelectionUtil.gameObjects.Length == 0) return; - var rt = UXSelectionUtil.gameObjects[0].GetComponent(); - if (rt == null) return; - clipboard = new RectTransformCache() - { - anchoredPosition = rt.anchoredPosition, - sizeDelta = rt.sizeDelta, - anchorMin = rt.anchorMin, - anchorMax = rt.anchorMax, - pivot = rt.pivot, - rotation = rt.localRotation, - localScale = rt.localScale - }; - Debug.Log("已复制 RectTransform 数据到剪贴板"); - } - - private static void PasteRectTransform() - { - if (clipboard == null || UXSelectionUtil.gameObjects == null) return; - foreach (var go in UXSelectionUtil.gameObjects) - { - var rt = go.GetComponent(); - if (rt == null) continue; - Undo.RecordObject(rt, "Paste RectTransform"); - rt.anchorMin = clipboard.anchorMin; - rt.anchorMax = clipboard.anchorMax; - rt.pivot = clipboard.pivot; - rt.sizeDelta = clipboard.sizeDelta; - rt.localRotation = clipboard.rotation; - rt.localScale = clipboard.localScale; - - // 保持世界位置:计算当前 world pos,然后应用 anchoredPosition 使其看起来相同 - Vector3 worldPos = rt.position; - rt.anchoredPosition = clipboard.anchoredPosition; - rt.position = worldPos; - - EditorUtility.SetDirty(rt); - } - } - - private static void AlignSelected(AlignType align) - { - var gos = UXSelectionUtil.gameObjects?.Where(g => g != null).ToArray(); - if (gos == null || gos.Length <= 1) return; - // 统一以第一个为目标 - RectTransform[] rts = gos.Select(g => g.GetComponent()).Where(r => r != null).ToArray(); - if (rts.Length <= 1) return; - - // 计算所有对象在世界空间的边界 - switch (align) - { - case AlignType.Left: - { - float target = rts.Min(rt => GetWorldLeft(rt)); - foreach (var rt in rts) MoveWorldLeftTo(rt, target); - } - break; - case AlignType.Right: - { - float target = rts.Max(rt => GetWorldRight(rt)); - foreach (var rt in rts) MoveWorldRightTo(rt, target); - } - break; - case AlignType.CenterHorizontal: - { - float minX = rts.Min(rt => GetWorldLeft(rt)); - float maxX = rts.Max(rt => GetWorldRight(rt)); - float centerX = (minX + maxX) / 2f; - foreach (var rt in rts) MoveWorldCenterXTo(rt, centerX); - } - break; - case AlignType.Top: - { - float target = rts.Max(rt => GetWorldTop(rt)); - foreach (var rt in rts) MoveWorldTopTo(rt, target); - } - break; - case AlignType.Bottom: - { - float target = rts.Min(rt => GetWorldBottom(rt)); - foreach (var rt in rts) MoveWorldBottomTo(rt, target); - } - break; - case AlignType.CenterVertical: - { - float minY = rts.Min(rt => GetWorldBottom(rt)); - float maxY = rts.Max(rt => GetWorldTop(rt)); - float centerY = (minY + maxY) / 2f; - foreach (var rt in rts) MoveWorldCenterYTo(rt, centerY); - } - break; - } - } - - private static float GetWorldLeft(RectTransform rt) - { - var corners = new Vector3[4]; - rt.GetWorldCorners(corners); - return corners[0].x; // bottom-left.x - } - - private static float GetWorldRight(RectTransform rt) - { - var corners = new Vector3[4]; - rt.GetWorldCorners(corners); - return corners[2].x; // top-right.x - } - - private static float GetWorldTop(RectTransform rt) - { - var corners = new Vector3[4]; - rt.GetWorldCorners(corners); - return corners[1].y; // top-left.y - } - - private static float GetWorldBottom(RectTransform rt) - { - var corners = new Vector3[4]; - rt.GetWorldCorners(corners); - return corners[0].y; // bottom-left.y - } - - // 将世界空间的位移转换为父空间的局部位移,并应用到 rectTransform.localPosition - private static void ApplyWorldDeltaToRectTransform(RectTransform rt, Vector3 worldDelta, string undoName) - { - if (rt == null || rt.parent == null) return; - Undo.RecordObject(rt, undoName); - - // 将世界向量转换为父对象的局部向量(旋转会被考虑,但位置不重要因为这是增量) - Vector3 localDelta = rt.parent.InverseTransformVector(worldDelta); - - // 应用到 localPosition(而不是直接修改 world position),这样对于 UI 更稳定 - rt.localPosition += localDelta; - - EditorUtility.SetDirty(rt); - } - - private static void MoveWorldLeftTo(RectTransform rt, float worldX) - { - var corners = new Vector3[4]; - rt.GetWorldCorners(corners); - float curLeft = corners[0].x; - float delta = worldX - curLeft; - if (Mathf.Approximately(delta, 0f)) return; - ApplyWorldDeltaToRectTransform(rt, new Vector3(delta, 0, 0), "Align Left"); - } - - private static void MoveWorldRightTo(RectTransform rt, float worldX) - { - var corners = new Vector3[4]; - rt.GetWorldCorners(corners); - float curRight = corners[2].x; - float delta = worldX - curRight; - if (Mathf.Approximately(delta, 0f)) return; - ApplyWorldDeltaToRectTransform(rt, new Vector3(delta, 0, 0), "Align Right"); - } - - private static void MoveWorldTopTo(RectTransform rt, float worldY) - { - var corners = new Vector3[4]; - rt.GetWorldCorners(corners); - float curTop = corners[1].y; - float delta = worldY - curTop; - if (Mathf.Approximately(delta, 0f)) return; - ApplyWorldDeltaToRectTransform(rt, new Vector3(0, delta, 0), "Align Top"); - } - - private static void MoveWorldBottomTo(RectTransform rt, float worldY) - { - var corners = new Vector3[4]; - rt.GetWorldCorners(corners); - float curBottom = corners[0].y; - float delta = worldY - curBottom; - if (Mathf.Approximately(delta, 0f)) return; - ApplyWorldDeltaToRectTransform(rt, new Vector3(0, delta, 0), "Align Bottom"); - } - - private static void MoveWorldCenterXTo(RectTransform rt, float worldX) - { - var corners = new Vector3[4]; - rt.GetWorldCorners(corners); - float curCenterX = (corners[0].x + corners[2].x) / 2f; - float delta = worldX - curCenterX; - if (Mathf.Approximately(delta, 0f)) return; - ApplyWorldDeltaToRectTransform(rt, new Vector3(delta, 0, 0), "Align Center X"); - } - - private static void MoveWorldCenterYTo(RectTransform rt, float worldY) - { - var corners = new Vector3[4]; - rt.GetWorldCorners(corners); - float curCenterY = (corners[0].y + corners[2].y) / 2f; - float delta = worldY - curCenterY; - if (Mathf.Approximately(delta, 0f)) return; - ApplyWorldDeltaToRectTransform(rt, new Vector3(0, delta, 0), "Align Center Y"); - } - - private static void DistributeSelected(DistributeAxis axis) - { - var gos = UXSelectionUtil.gameObjects?.Where(g => g != null).ToArray(); - if (gos == null || gos.Length <= 2) return; // 两个对象没必要 - RectTransform[] rts = gos.Select(g => g.GetComponent()).Where(r => r != null).ToArray(); - if (rts.Length <= 2) return; - - // 按中心排序 - if (axis == DistributeAxis.Horizontal) - { - var ordered = rts.OrderBy(rt => GetWorldCenter(rt).x).ToArray(); - float left = GetWorldLeft(ordered.First()); - float right = GetWorldRight(ordered.Last()); - float totalWidth = ordered.Sum(rt => GetWidthWorld(rt)); - float space = (right - left - totalWidth) / (ordered.Length - 1); - float curX = left; - for (int i = 0; i < ordered.Length; i++) - { - float w = GetWidthWorld(ordered[i]); - float targetCenter = curX + w / 2f; - MoveWorldCenterXTo(ordered[i], targetCenter); - curX += w + space; - } - } - else - { - var ordered = rts.OrderBy(rt => GetWorldCenter(rt).y).ToArray(); - float bottom = GetWorldBottom(ordered.First()); - float top = GetWorldTop(ordered.Last()); - float totalHeight = ordered.Sum(rt => GetHeightWorld(rt)); - float space = (top - bottom - totalHeight) / (ordered.Length - 1); - float curY = bottom; - for (int i = 0; i < ordered.Length; i++) - { - float h = GetHeightWorld(ordered[i]); - float targetCenter = curY + h / 2f; - MoveWorldCenterYTo(ordered[i], targetCenter); - curY += h + space; - } - } - } - - private static Vector2 GetWorldCenter(RectTransform rt) - { - var corners = new Vector3[4]; - rt.GetWorldCorners(corners); - return (corners[0] + corners[2]) / 2f; - } - - private static float GetWidthWorld(RectTransform rt) - { - var corners = new Vector3[4]; - rt.GetWorldCorners(corners); - return Mathf.Abs(corners[2].x - corners[0].x); - } - - private static float GetHeightWorld(RectTransform rt) - { - var corners = new Vector3[4]; - rt.GetWorldCorners(corners); - return Mathf.Abs(corners[1].y - corners[0].y); - } - - private static void MatchSizeToFirst() - { - var gos = UXSelectionUtil.gameObjects; - if (gos == null || gos.Length <= 1) return; - var first = gos[0].GetComponent(); - if (first == null) return; - for (int i = 1; i < gos.Length; i++) - { - var rt = gos[i].GetComponent(); - if (rt == null) continue; - Undo.RecordObject(rt, "Match Size"); - rt.sizeDelta = first.sizeDelta; - EditorUtility.SetDirty(rt); - } - } - - private static void PixelSnapSelected() - { - foreach (var go in UXSelectionUtil.gameObjects ?? new GameObject[0]) - { - var rt = go.GetComponent(); - if (rt == null) continue; - Undo.RecordObject(rt, "Pixel Snap"); - Vector2 ap = rt.anchoredPosition; - ap.x = Mathf.Round(ap.x); - ap.y = Mathf.Round(ap.y); - rt.anchoredPosition = ap; - EditorUtility.SetDirty(rt); - } - } - - private static void ResetTransformSelected() - { - foreach (var go in UXSelectionUtil.gameObjects ?? new GameObject[0]) - { - var rt = go.GetComponent(); - if (rt == null) continue; - Undo.RecordObject(rt, "Reset Transform"); - rt.anchoredPosition = Vector2.zero; - rt.localRotation = Quaternion.identity; - rt.localScale = Vector3.one; - EditorUtility.SetDirty(rt); - } - } - - private static void SetAnchorsToCornersKeepPos() - { - foreach (var go in UXSelectionUtil.gameObjects ?? new GameObject[0]) - { - var rt = go.GetComponent(); - if (rt == null) continue; - Undo.RecordObject(rt, "Set Anchors to Corners Keep Position"); - - Transform parent = rt.parent; - if (parent == null) continue; - RectTransform parentRT = parent as RectTransform; - if (parentRT == null) continue; - - Vector3[] corners = new Vector3[4]; - rt.GetWorldCorners(corners); - Vector3[] parentCorners = new Vector3[4]; - parentRT.GetWorldCorners(parentCorners); - - Vector2 newAnchorMin = new Vector2( - Mathf.InverseLerp(parentCorners[0].x, parentCorners[2].x, corners[0].x), - Mathf.InverseLerp(parentCorners[0].y, parentCorners[2].y, corners[0].y)); - Vector2 newAnchorMax = new Vector2( - Mathf.InverseLerp(parentCorners[0].x, parentCorners[2].x, corners[2].x), - Mathf.InverseLerp(parentCorners[0].y, parentCorners[2].y, corners[2].y)); - - Vector2 oldAnchored = rt.anchoredPosition; - rt.anchorMin = newAnchorMin; - rt.anchorMax = newAnchorMax; - rt.anchoredPosition = oldAnchored; // 尝试保留视觉位置 - - EditorUtility.SetDirty(rt); - } - } - - private static void SetAnchorsToCenterKeepPos() - { - foreach (var go in UXSelectionUtil.gameObjects ?? new GameObject[0]) - { - var rt = go.GetComponent(); - if (rt == null) continue; - Undo.RecordObject(rt, "Set Anchors to Center Keep Position"); - Transform parent = rt.parent; - if (parent == null) continue; - RectTransform parentRT = parent as RectTransform; - if (parentRT == null) continue; - - Vector3[] corners = new Vector3[4]; - rt.GetWorldCorners(corners); - Vector3[] parentCorners = new Vector3[4]; - parentRT.GetWorldCorners(parentCorners); - - float centerX = (corners[0].x + corners[2].x) / 2f; - float centerY = (corners[0].y + corners[2].y) / 2f; - - Vector2 anchor = new Vector2( - Mathf.InverseLerp(parentCorners[0].x, parentCorners[2].x, centerX), - Mathf.InverseLerp(parentCorners[0].y, parentCorners[2].y, centerY)); - - Vector2 oldAnchored = rt.anchoredPosition; - rt.anchorMin = anchor; - rt.anchorMax = anchor; - rt.anchoredPosition = oldAnchored; - - EditorUtility.SetDirty(rt); - } - } - - private static void BringToFront() - { - foreach (var go in UXSelectionUtil.gameObjects ?? new GameObject[0]) - { - Transform parent = go.transform.parent; - Undo.RecordObject(go.transform, "Bring To Front"); - if (parent != null) - { - go.transform.SetSiblingIndex(parent.childCount - 1); - } - else - { - go.transform.SetSiblingIndex(go.transform.GetSiblingIndex()); - } - - EditorUtility.SetDirty(go); - } - } - - private static void SendToBack() - { - foreach (var go in UXSelectionUtil.gameObjects ?? new GameObject[0]) - { - Transform parent = go.transform.parent; - Undo.RecordObject(go.transform, "Send To Back"); - go.transform.SetSiblingIndex(0); - EditorUtility.SetDirty(go); - } - } - - private static void CreateContainerAroundSelection() - { - var gos = UXSelectionUtil.gameObjects?.Where(g => g != null).ToArray(); - if (gos == null || gos.Length == 0) return; - // 只允许相同父级 - Transform parent = gos[0].transform.parent; - if (gos.Any(g => g.transform.parent != parent)) - { - Debug.LogWarning("创建容器要求所有对象在同一父级下"); - return; - } - - // 计算包围盒(世界坐标) - var rts = gos.Select(g => g.GetComponent()).Where(r => r != null).ToArray(); - if (rts.Length == 0) return; - - Vector3 worldMin = new Vector3(float.MaxValue, float.MaxValue, float.MaxValue); - Vector3 worldMax = new Vector3(float.MinValue, float.MinValue, float.MinValue); - foreach (var rt in rts) - { - Vector3[] corners = new Vector3[4]; - rt.GetWorldCorners(corners); - worldMin = Vector3.Min(worldMin, corners[0]); - worldMax = Vector3.Max(worldMax, corners[2]); - } - - // 创建容器 - GameObject root = UIBuilderUtil.CreateUIObj("Container"); - Undo.RegisterCreatedObjectUndo(root, "Create Container"); - var rootRT = root.GetComponent(); - root.transform.SetParent(parent); - root.transform.SetSiblingIndex(rts.Min(r => r.GetSiblingIndex())); - rootRT.localScale = Vector3.one; - - // 将世界包围盒转换为父本地坐标 - RectTransform parentRT = parent as RectTransform; - if (parentRT == null) - { - Debug.LogWarning("父对象不是 RectTransform,无法创建容器"); - return; - } - - Vector3 localMin = parentRT.InverseTransformPoint(worldMin); - Vector3 localMax = parentRT.InverseTransformPoint(worldMax); - Vector2 size = new Vector2(localMax.x - localMin.x, localMax.y - localMin.y); - Vector2 center = (localMin + localMax) / 2f; - - rootRT.sizeDelta = size; - rootRT.anchoredPosition = center; - - // 将选中对象设置为容器子对象并保持位置 - foreach (var g in gos) - { - Undo.SetTransformParent(g.transform, root.transform, "Wrap In Container"); - } - - Selection.activeGameObject = root; - EditorUtility.SetDirty(rootRT); - } - - private static void DuplicateSelection() - { - var gos = UXSelectionUtil.gameObjects?.Where(g => g != null).ToArray(); - if (gos == null || gos.Length == 0) return; - List newOnes = new List(); - foreach (var g in gos) - { - GameObject dup = Object.Instantiate(g, g.transform.parent); - dup.name = g.name + " Copy"; - Undo.RegisterCreatedObjectUndo(dup, "Duplicate UI Element"); - dup.transform.SetSiblingIndex(g.transform.GetSiblingIndex() + 1); - newOnes.Add(dup); - } - - Selection.objects = newOnes.ToArray(); - } - - private static void RenameSelection() - { - if (UXSelectionUtil.gameObjects == null || UXSelectionUtil.gameObjects.Length == 0) return; - Selection.activeGameObject = UXSelectionUtil.gameObjects[0]; - // 调用编辑器的重命名命令 - EditorApplication.ExecuteMenuItem("Edit/Rename"); - } - - private static void SelectParent() - { - if (UXSelectionUtil.gameObjects == null || UXSelectionUtil.gameObjects.Length == 0) return; - var go = UXSelectionUtil.gameObjects[0]; - if (go.transform.parent != null) - { - Selection.activeGameObject = go.transform.parent.gameObject; - } - } - - private static void FrameSelection() - { - SceneView.lastActiveSceneView?.FrameSelected(); - } - - private static void ToggleRaycastTarget() - { - foreach (var go in UXSelectionUtil.gameObjects ?? new GameObject[0]) - { - var g = go.GetComponent(); - if (g == null) continue; - Undo.RecordObject(g, "Toggle RaycastTarget"); - g.raycastTarget = !g.raycastTarget; - EditorUtility.SetDirty(g); - } - } - - private static void SortSiblingsByName() - { - var gos = UXSelectionUtil.gameObjects?.Where(g => g != null).ToArray(); - if (gos == null || gos.Length == 0) return; - Transform parent = gos[0].transform.parent; - if (parent == null) return; - - var children = parent.Cast().Select(t => t.gameObject).OrderBy(o => o.name).ToArray(); - for (int i = 0; i < children.Length; i++) - { - Undo.RecordObject(children[i].transform, "Sort By Name"); - children[i].transform.SetSiblingIndex(i); - } - } - - #endregion - } - - // CombineWidgetLogic 放在同一文件以便完整交付 - public static class CombineWidgetLogic - { - /// - /// 组合节点 - /// - /// 需要组合的对象 需要所有对象在同一层级 - /// 组合之后的父节点 - public static GameObject GenCombineRootRect(List rects) - { - if (rects == null || rects.Count == 0) return null; - - // 确保所有在同一父级 - Transform parent = rects[0].transform.parent; - if (rects.Any(r => r.transform.parent != parent)) - { - Debug.LogWarning("所有对象必须在同一父级下才能组合"); - return null; - } - - // 计算世界包围盒 - Vector3 worldMin = Vector3.positiveInfinity; - Vector3 worldMax = Vector3.negativeInfinity; - foreach (var rt in rects) - { - Vector3[] corners = new Vector3[4]; - rt.GetWorldCorners(corners); - worldMin = Vector3.Min(worldMin, corners[0]); - worldMax = Vector3.Max(worldMax, corners[2]); - } - - // 创建容器 - GameObject root = UIBuilderUtil.CreateUIObj("CombineRoot"); - RectTransform rootRT = root.GetComponent(); - root.transform.SetParent(parent); - rootRT.localScale = Vector3.one; - - // 将世界包围盒转换为父本地坐标 - RectTransform parentRT = parent as RectTransform; - if (parentRT == null) - { - Debug.LogWarning("父对象不是 RectTransform,无法创建组合容器"); - return null; - } - - Vector3 localMin = parentRT.InverseTransformPoint(worldMin); - Vector3 localMax = parentRT.InverseTransformPoint(worldMax); - Vector2 size = new Vector2(localMax.x - localMin.x, localMax.y - localMin.y); - Vector2 center = (localMin + localMax) / 2f; - - rootRT.sizeDelta = size; - rootRT.anchoredPosition = center; - - // 按原顺序设置为子对象 - rects.Sort((a, b) => a.GetSiblingIndex() - b.GetSiblingIndex()); - foreach (var rt in rects) - { - Undo.SetTransformParent(rt.transform, root.transform, "Combine Widgets"); - } - - Selection.activeGameObject = root; - return root; - } - - /// - /// 组合节点 - /// - /// - /// - public static GameObject GenCombineRootRect(GameObject[] objs) - { - List rects = objs.ToList().Select(a => a.GetComponent()).Where(r => r != null).ToList(); - - return GenCombineRootRect(rects); - } - - /// - /// - /// - /// - /// - private static bool AllHaveSameParent(GameObject[] objs) - { - if (objs.Length == 1) - { - return true; - } - - Transform parent = objs[0].transform.parent; - for (int i = 1; i < objs.Length; i++) - { - if (objs[i].transform.parent != parent) - { - return false; - } - } - - return true; - } - - private static bool AllHaveRectTransform(GameObject[] objs) - { - for (int i = 0; i < objs.Length; i++) - { - if (objs[i].GetComponent() == null) - { - return false; - } - } - - return true; - } - - public static bool CanCombine(GameObject[] objs) - { - if (objs == null || objs.Length <= 1) - { - return false; - } - - bool SameLevelUI = false; - if (AllHaveSameParent(objs)) - { - SameLevelUI = true; - } - - bool UIInPrefab = false; - foreach (GameObject go in objs) - { - string assetPath = PrefabUtility.GetPrefabAssetPathOfNearestInstanceRoot(go); - if (!string.IsNullOrEmpty(assetPath)) - { - UIInPrefab = true; - } - } - - if (SameLevelUI && !UIInPrefab) - { - return true; - } - - return false; - } - } -} -#endif diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ContextMenu/SceneViewContextMenu.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ContextMenu/SceneViewContextMenu.cs.meta deleted file mode 100644 index 65736ca..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ContextMenu/SceneViewContextMenu.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: deac8fa4e6a7d8348b7fd4f2e06676b2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit.meta deleted file mode 100644 index 1c2b26e..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ae357567eebc45eb8847bd1d2ad0eab8 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerAddWindow.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerAddWindow.cs deleted file mode 100644 index 0353dbf..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerAddWindow.cs +++ /dev/null @@ -1,107 +0,0 @@ -using AlicizaX.UI; -using AlicizaX.UI.Runtime; -using UnityEditor; -using UnityEditor.SceneManagement; -using UnityEngine; -using UnityEngine.UIElements; - -namespace AlicizaX.UXTool -{ - public class UXControllerAddWindow : EditorWindow - { - private UXController _ux; - private TextField _nameField; - private IntegerField _lengthField; - - public static void ShowWindow(UXController ux) - { - var w = CreateInstance(); - w.titleContent = new GUIContent("添加控制器"); - w._ux = ux; - w.position = new Rect(Screen.width / 2f - 150f, Screen.height / 2f - 60f, 320, 120); - w.ShowUtility(); - } - - private void OnEnable() - { - var root = rootVisualElement; - root.style.paddingLeft = 8; - root.style.paddingTop = 8; - root.style.paddingRight = 8; - root.style.paddingBottom = 8; - - var title = new Label("添加控制器"); - title.style.unityFontStyleAndWeight = FontStyle.Bold; - title.style.marginBottom = 6; - root.Add(title); - - _nameField = new TextField("Name"); - _nameField.value = _ux != null ? $"Controller{_ux.Controllers.Count}" : "Controller"; - root.Add(_nameField); - - _lengthField = new IntegerField("Length"); - _lengthField.value = 2; - root.Add(_lengthField); - - var row = new VisualElement(); - row.style.flexDirection = FlexDirection.Row; - row.style.justifyContent = Justify.FlexEnd; - row.style.marginTop = 8; - - var add = new Button(() => - { - if (_ux != null) - { - Undo.RecordObject(_ux, "Add Controller"); - // 使用 SerializedObject 能保证序列化 - var so = new SerializedObject(_ux); - var controllersProp = so.FindProperty("_controllers"); - int newIndex = controllersProp.arraySize; - controllersProp.InsertArrayElementAtIndex(newIndex); - var el = controllersProp.GetArrayElementAtIndex(newIndex); - var nameProp = el.FindPropertyRelative("Name"); - var lengthProp = el.FindPropertyRelative("Length"); - nameProp.stringValue = _nameField.value; - lengthProp.intValue = Mathf.Max(1, _lengthField.value); - so.ApplyModifiedProperties(); - EditorUtility.SetDirty(_ux); - } - else - { - // 如果外部没有提供 UXController,尝试在 prefab root 上添加 - var prefabStage = PrefabStageUtility.GetCurrentPrefabStage(); - if (prefabStage != null && prefabStage.prefabContentsRoot != null) - { - var comp = Undo.AddComponent(prefabStage.prefabContentsRoot); - EditorUtility.SetDirty(prefabStage.prefabContentsRoot); - if (comp != null) - { - Undo.RecordObject(comp, "Add Controller"); - var so = new SerializedObject(comp); - var controllersProp = so.FindProperty("_controllers"); - controllersProp.InsertArrayElementAtIndex(0); - var el = controllersProp.GetArrayElementAtIndex(0); - var nameProp = el.FindPropertyRelative("Name"); - var lengthProp = el.FindPropertyRelative("Length"); - nameProp.stringValue = _nameField.value; - lengthProp.intValue = Mathf.Max(1, _lengthField.value); - so.ApplyModifiedProperties(); - EditorUtility.SetDirty(comp); - } - } - } - - Close(); - }); - add.text = "添加"; - row.Add(add); - - var cancel = new Button(() => Close()); - cancel.text = "取消"; - cancel.style.marginLeft = 8; - row.Add(cancel); - - root.Add(row); - } - } -} diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerAddWindow.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerAddWindow.cs.meta deleted file mode 100644 index 793cd5f..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerAddWindow.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 67b9bfb10302d6d43aaee21321c53818 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerEditWindow.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerEditWindow.cs deleted file mode 100644 index 4e2ab40..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerEditWindow.cs +++ /dev/null @@ -1,136 +0,0 @@ -using System; -using System.Drawing; -using AlicizaX.UI; -using AlicizaX.UI.Runtime; -using UnityEditor; -using UnityEngine; -using UnityEngine.UIElements; -using FontStyle = UnityEngine.FontStyle; - -namespace AlicizaX.UXTool -{ - public class UXControllerEditWindow : EditorWindow - { - private UXController _ux; - private int _index; - private TextField _nameField; - private IntegerField _lengthField; - - public static void ShowWindow(UXController ux, int index, string currentName, int currentLength) - { - var w = CreateInstance(); - w.titleContent = new GUIContent("编辑控制器"); - w._ux = ux; - w._index = index; - w.position = new Rect(Screen.width / 2f - 150f, Screen.height / 2f - 60f, 320, 120); - w.ShowUtility(); - } - - private void CreateGUI() - { - var root = rootVisualElement; - root.style.paddingLeft = 8; - root.style.paddingTop = 8; - root.style.paddingRight = 8; - root.style.paddingBottom = 8; - - var title = new Label($"编辑控制器 [{_index}]"); - title.style.unityFontStyleAndWeight = FontStyle.Bold; - title.style.marginBottom = 6; - root.Add(title); - - _nameField = new TextField("Name"); - if (_ux != null && _index >= 0 && _index < _ux.Controllers.Count) _nameField.value = _ux.Controllers[_index].Name; - root.Add(_nameField); - - _lengthField = new IntegerField("Length"); - if (_ux != null && _index >= 0 && _index < _ux.Controllers.Count) - { - _lengthField.value = _ux.Controllers[_index].Length; - } - - _lengthField.value = Mathf.Max(1, _lengthField.value); - root.Add(_lengthField); - - var row = new VisualElement(); - row.style.flexDirection = FlexDirection.Row; - row.style.justifyContent = Justify.FlexEnd; - row.style.marginTop = 8; - - var save = new Button(() => - { - if (_ux != null && _index >= 0 && !string.IsNullOrEmpty(_nameField.value)) - { - var so = new SerializedObject(_ux); - var controllersProp = so.FindProperty("_controllers"); - if (controllersProp != null) - { - Undo.RecordObject(_ux, "Edit Controller"); - var el = controllersProp.GetArrayElementAtIndex(_index); - var nameProp = el.FindPropertyRelative("Name"); - string oldValue = nameProp.stringValue; - var lengthProp = el.FindPropertyRelative("Length"); - nameProp.stringValue = _nameField.value; - lengthProp.intValue = Mathf.Max(1, _lengthField.value); - so.ApplyModifiedProperties(); - - var recorders = so.FindProperty("_recorders"); - - for (int i = 0; i < recorders.arraySize; i++) - { - var recorderProp = recorders.GetArrayElementAtIndex(i); - var recorderSo = new SerializedObject(recorderProp.objectReferenceValue); - var stateEntriesProp = recorderSo.FindProperty("_stateEntries"); - for (int j = 0; j < stateEntriesProp.arraySize; j++) - { - var entry = stateEntriesProp.GetArrayElementAtIndex(j); - var controllerNameProp = entry.FindPropertyRelative("ControllerName"); - if (controllerNameProp.stringValue.Equals(oldValue)) - { - controllerNameProp.stringValue = _nameField.value; - } - } - - recorderSo.ApplyModifiedProperties(); - } - - EditorUtility.SetDirty(_ux); - } - } - - Close(); - }); - save.text = "保存"; - row.Add(save); - - var delete = new Button(() => - { - if (_ux != null && _index >= 0) - { - var so = new SerializedObject(_ux); - var controllersProp = so.FindProperty("_controllers"); - if (controllersProp != null) - { - Undo.RecordObject(_ux, "Edit Controller"); - controllersProp.DeleteArrayElementAtIndex(_index); - so.ApplyModifiedProperties(); - EditorUtility.SetDirty(_ux); - } - } - - Close(); - }); - delete.text = "删除"; - row.Add(delete); - - var cancel = new Button(() => Close()); - cancel.text = "取消"; - cancel.style.marginLeft = 8; - - row.Add(cancel); - - - root.Add(row); - } - } -} diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerEditWindow.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerEditWindow.cs.meta deleted file mode 100644 index f2a37c7..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerEditWindow.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 2c4d51bc600e38a4f9100a50edc69771 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerSceneOverlay.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerSceneOverlay.cs deleted file mode 100644 index 34dec46..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerSceneOverlay.cs +++ /dev/null @@ -1,433 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Reflection; -using AlicizaX.UXTool; -using UnityEditor; -using UnityEditor.Experimental.SceneManagement; -using UnityEditor.SceneManagement; -using UnityEngine; -using UnityEngine.UIElements; -using UnityEditor.Callbacks; -using AlicizaX.UI; -using AlicizaX.UI.Runtime; - -public static class UXControllerSceneOverlayManager -{ - private static readonly Dictionary s_map = new Dictionary(); - - [InitializeOnLoadMethod] - public static void Initialize() - { - UXDesinUtil.OnEnterDesignMode += RegisterEvents; - UXDesinUtil.OnExitDesignMode += UnRegisterEvents; - - if (UXDesinUtil.InDesign) - { - RegisterEvents(); - } - else - { - UnRegisterEvents(); - } - } - - private static void RegisterEvents() - { - SceneView.duringSceneGui += OnSceneGui; - EditorApplication.update += EditorUpdate; - EditorApplication.playModeStateChanged += OnPlayModeStateChanged; - } - - private static void UnRegisterEvents() - { - SceneView.duringSceneGui -= OnSceneGui; - EditorApplication.update -= EditorUpdate; - EditorApplication.playModeStateChanged -= OnPlayModeStateChanged; - - RemoveAllOverlays(); - } - - private static void RemoveAllOverlays() - { - var views = SceneView.sceneViews; - foreach (var obj in views) - { - var sv = obj as SceneView; - if (sv == null) continue; - try - { - var root = sv.rootVisualElement; - if (root == null) continue; - var existing = root.Q("ux-controller-ve"); - if (existing != null) - { - root.Remove(existing); - } - } - catch (Exception) - { - } - } - - // 清理字典 - s_map.Clear(); - } - - private static void OnPlayModeStateChanged(PlayModeStateChange state) - { - SceneView.RepaintAll(); - } - - private static void OnSceneGui(SceneView sv) - { - if (sv == null) return; - if (PrefabStageUtils.InEmptyStage) return; - // ensure overlay exists for this SceneView - var root = sv.rootVisualElement; - if (root == null) return; - - int id = sv.GetInstanceID(); - if (!s_map.ContainsKey(id)) - { - // avoid duplicate q by name - var existing = root.Q("ux-controller-ve"); - if (existing != null) - { - // if already present (from another vm), keep it and track - var ve = existing as UXControllerOverlayVE; - if (ve != null) s_map[id] = ve; - } - else - { - var ve = new UXControllerOverlayVE(); - ve.name = "ux-controller-ve"; - // place at top so it overlays scene view content - ve.style.position = Position.Absolute; - ve.style.left = 0; - ve.style.top = 0; - ve.style.width = Length.Percent(100); - // z-index: bring to front - // ve.style.unityZIndex = 1000; - root.Add(ve); - s_map[id] = ve; - } - } - } - - private static void EditorUpdate() - { - // Refresh all overlays (they check for changes internally and early out) - foreach (var kv in s_map) - { - var ve = kv.Value; - if (ve != null) ve.EditorUpdate(); - } - } -} - -public class UXControllerOverlayVE : VisualElement -{ - private VisualElement _root; - private VisualElement _controllerList; - private Button _addBtn; - private PrefabStage _currentPrefabStage; - private UXController _currentUX; - private int _lastControllersHash = 0; - - public UXControllerOverlayVE() - { - style.flexDirection = FlexDirection.Column; - style.paddingLeft = 6; - style.paddingTop = 6; - style.paddingRight = 6; - style.paddingBottom = 6; - style.width = Length.Percent(100); - style.unityBackgroundImageTintColor = Color.white; - style.height = Length.Percent(5); - - - style.backgroundColor = new StyleColor(new Color(0.12f, 0.12f, 0.12f, 0.95f)); - style.borderTopWidth = 1; - style.borderBottomWidth = 1; - style.borderLeftWidth = 1; - style.borderRightWidth = 1; - style.borderTopColor = new StyleColor(new Color(0, 0, 0, 0.6f)); - style.borderBottomColor = new StyleColor(new Color(0, 0, 0, 0.6f)); - style.borderLeftColor = new StyleColor(new Color(0, 0, 0, 0.6f)); - style.borderRightColor = new StyleColor(new Color(0, 0, 0, 0.6f)); - style.paddingBottom = 8; - style.paddingTop = 6; - style.paddingLeft = 6; - style.paddingRight = 6; - - _addBtn = new Button(() => - { - if (_currentUX != null) - { - UXControllerAddWindow.ShowWindow(_currentUX); - } - else - { - var prefabStage = PrefabStageUtility.GetCurrentPrefabStage(); - if (prefabStage != null && prefabStage.prefabContentsRoot != null) - { - Undo.AddComponent(prefabStage.prefabContentsRoot); - EditorUtility.SetDirty(prefabStage.prefabContentsRoot); - } - } - - Refresh(); - }); - - _addBtn.style.width = 22; - _addBtn.style.height = 22; - _addBtn.style.backgroundColor = new StyleColor(new Color(0.26f, 0.26f, 0.26f)); - _addBtn.style.marginRight = 0; - _addBtn.style.borderBottomLeftRadius = 4; - _addBtn.style.borderBottomRightRadius = 4; - _addBtn.style.borderTopLeftRadius = 4; - _addBtn.style.borderTopRightRadius = 4; - _addBtn.style.alignSelf = Align.Center; - _addBtn.style.justifyContent = Justify.Center; - _addBtn.tooltip = "添加新的控制器"; - - var cLabel = new Label("+"); - cLabel.style.unityFontStyleAndWeight = FontStyle.Bold; - cLabel.style.unityTextAlign = TextAnchor.MiddleCenter; - cLabel.style.color = new StyleColor(Color.white); - cLabel.style.fontSize = 12; - cLabel.style.flexGrow = 0; - _addBtn.Add(cLabel); - - - var scroll = new ScrollView(ScrollViewMode.Horizontal); - scroll.style.flexDirection = FlexDirection.Row; - scroll.style.paddingLeft = 0; - scroll.style.paddingRight = 2; - scroll.style.paddingBottom = 0; - scroll.style.paddingTop = 0; - scroll.horizontalScrollerVisibility = ScrollerVisibility.Hidden; - scroll.verticalScrollerVisibility = ScrollerVisibility.Hidden; - - _controllerList = new VisualElement(); - _controllerList.style.flexDirection = FlexDirection.Row; - _controllerList.style.flexWrap = Wrap.Wrap; - _controllerList.style.alignItems = Align.FlexStart; - - scroll.Add(_controllerList); - scroll.Add(_addBtn); - this.Add(scroll); - - Refresh(); - } - - public void EditorUpdate() - { - // called by manager on EditorApplication.update - var prefabStage = PrefabStageUtility.GetCurrentPrefabStage(); - if (prefabStage != _currentPrefabStage) - { - _currentPrefabStage = prefabStage; - Refresh(); - return; - } - - if (_currentUX != null) - { - int h = ComputeControllersHash(_currentUX); - if (h != _lastControllersHash) - { - _lastControllersHash = h; - Refresh(); - } - } - } - - private int ComputeControllersHash(UXController ux) - { - if (ux == null) return 0; - unchecked - { - int hash = 17; - var list = ux.Controllers; - if (list != null) - { - foreach (var cd in list) - { - hash = hash * 23 + (cd?.Name?.GetHashCode() ?? 0); - hash = hash * 23 + (cd?.Length.GetHashCode() ?? 0); - hash = hash * 23 + (cd?.CurrentIndex.GetHashCode() ?? 0); - } - } - - return hash; - } - } - - public void Refresh() - { - _controllerList.Clear(); - - var prefabStage = PrefabStageUtility.GetCurrentPrefabStage(); - _currentPrefabStage = prefabStage; - _currentUX = null; - if (prefabStage != null && prefabStage.prefabContentsRoot != null) - { - _currentUX = prefabStage.prefabContentsRoot.GetComponent(); - } - - if (PrefabStageUtils.InEmptyStage) - { - _addBtn.style.display = DisplayStyle.None; - return; - } - - _addBtn.style.display = DisplayStyle.Flex; - if (_currentUX == null) - { - var empty = new Label("当前 Prefab 未包含 UXController。点击右侧按钮可添加。"); - empty.style.unityFontStyleAndWeight = FontStyle.Italic; - empty.style.color = new StyleColor(new Color(0.75f, 0.75f, 0.75f)); - empty.style.marginLeft = 6; - empty.style.marginTop = 6; - _controllerList.Add(empty); - _lastControllersHash = 0; - return; - } - - var controllers = _currentUX.Controllers; - if (controllers == null) return; - - for (int i = 0; i < controllers.Count; i++) - { - var cd = controllers[i]; - var card = CreateControllerCard(cd, i); - _controllerList.Add(card); - } - - _lastControllersHash = ComputeControllersHash(_currentUX); - } - - private VisualElement CreateControllerCard(UXController.ControllerData cd, int index) - { - var card = new VisualElement(); - card.style.flexDirection = FlexDirection.Row; - card.style.alignItems = Align.Center; - card.style.paddingLeft = 6; - card.style.paddingRight = 6; - card.style.paddingTop = 4; - card.style.paddingBottom = 4; - card.style.backgroundColor = new StyleColor(new Color(0.13f, 0.13f, 0.13f)); - card.style.borderTopLeftRadius = 6; - card.style.borderBottomLeftRadius = 6; - card.style.borderTopRightRadius = 6; - card.style.borderBottomRightRadius = 6; - card.style.minHeight = 28; - card.style.marginRight = 4; - card.style.marginBottom = 6; - - // icon (C with underline) - var cBox = new VisualElement(); - cBox.style.width = 22; - cBox.style.height = 22; - cBox.style.backgroundColor = new StyleColor(new Color(0.26f, 0.26f, 0.26f)); - cBox.style.marginRight = 0; - cBox.style.borderBottomLeftRadius = 4; - cBox.style.borderBottomRightRadius = 4; - cBox.style.borderTopLeftRadius = 4; - cBox.style.borderTopRightRadius = 4; - cBox.style.alignSelf = Align.Center; - cBox.style.justifyContent = Justify.Center; - - var cLabel = new Label("C"); - cLabel.style.unityFontStyleAndWeight = FontStyle.Bold; - cLabel.style.unityTextAlign = TextAnchor.MiddleCenter; - cLabel.style.color = new StyleColor(Color.white); - cLabel.style.fontSize = 12; - cLabel.style.flexGrow = 0; - cBox.Add(cLabel); - - var underline = new VisualElement(); - underline.style.position = Position.Absolute; - underline.style.height = 2; - underline.style.width = 14; - underline.style.left = 4; - underline.style.bottom = 3; - underline.style.backgroundColor = new StyleColor(Color.white); - - cBox.Add(underline); - - card.Add(cBox); - - - var nameBtn = new Button(() => { UXControllerEditWindow.ShowWindow(_currentUX, index, cd.Name, cd.Length); }); - nameBtn.text = cd.Name; - nameBtn.style.unityTextAlign = TextAnchor.MiddleLeft; - nameBtn.style.width = 120; - nameBtn.style.height = 22; - nameBtn.style.marginRight = 6; - - card.Add(nameBtn); - - - var indicesContainer = new VisualElement(); - indicesContainer.style.flexDirection = FlexDirection.Row; - indicesContainer.style.alignItems = Align.Center; - - int length = Math.Max(1, cd.Length); - for (int idx = 0; idx < length; idx++) - { - int capturedIdx = idx; - bool isSelected = (cd.CurrentIndex == idx); - - var idxBtn = new Button(() => - { - SetControllerIndexViaReflection(_currentUX, index, capturedIdx); - Refresh(); // force update visual state - }); - idxBtn.text = idx.ToString(); - idxBtn.style.width = 22; - idxBtn.style.height = 18; - idxBtn.style.unityTextAlign = TextAnchor.MiddleCenter; - idxBtn.style.paddingLeft = 0; - idxBtn.style.paddingRight = 0; - idxBtn.style.paddingTop = 0; - idxBtn.style.paddingBottom = 0; - idxBtn.style.fontSize = 11; - idxBtn.style.borderTopLeftRadius = 3; - idxBtn.style.borderTopRightRadius = 3; - idxBtn.style.borderBottomLeftRadius = 3; - idxBtn.style.borderBottomRightRadius = 3; - idxBtn.style.marginRight = 4; - - if (isSelected) - { - idxBtn.style.backgroundColor = new StyleColor(new Color(0.9f, 0.55f, 0.1f)); - idxBtn.style.color = new StyleColor(Color.white); - } - else - { - idxBtn.style.backgroundColor = new StyleColor(new Color(0.18f, 0.18f, 0.18f)); - idxBtn.style.color = new StyleColor(Color.white); - } - - indicesContainer.Add(idxBtn); - } - - card.Add(indicesContainer); - - return card; - } - - private static void SetControllerIndexViaReflection(UXController ux, int controllerIndex, int selectedIndex) - { - if (ux == null) return; - var t = ux.GetType(); - var mi = t.GetMethod("SetControllerIndex", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public); - if (mi != null) - { - mi.Invoke(ux, new object[] { controllerIndex, selectedIndex }); - EditorUtility.SetDirty(ux); - } - } -} diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerSceneOverlay.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerSceneOverlay.cs.meta deleted file mode 100644 index 2d1224a..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ControllerEdit/UXControllerSceneOverlay.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3dc3451006fe98b47bffcc2c2a872d91 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Hierachy.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Hierachy.meta deleted file mode 100644 index 9477412..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Hierachy.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d7e417a455885fb468c5aa9c679b6628 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Hierachy/UXHierachyWindow.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Hierachy/UXHierachyWindow.cs deleted file mode 100644 index 9885c99..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Hierachy/UXHierachyWindow.cs +++ /dev/null @@ -1,1305 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using AlicizaX.UXTool; -using AlicizaX.UI; -using UnityEditor; -using UnityEditor.SceneManagement; -using UnityEditor.Experimental.SceneManagement; -using UnityEngine; -using UnityEngine.UIElements; -using Object = UnityEngine.Object; - -public class UXHierarchyWindow : EditorWindow -{ - const string FoldoutPrefsKeyBase = "UXHierarchy_Foldouts_v1"; // base key - const string WindowTitle = "UXHierarchy"; - - VisualElement root; - ScrollView scroll; - VisualElement treeContainer; - TextField searchField; - VisualElement rootDropZone; // accepts drops to root - - // foldout state: instanceID -> bool (true = expanded) - Dictionary foldStates = new Dictionary(); - - // flat ordered list of GameObjects displayed (for shift-range selection) - List flatList = new List(); - - // selection state in the window (keeps synced with UnityEditor.Selection) - List selectedObjects = new List(); - int lastClickedIndex = -1; - - // delete-key auto-repeat - bool deleteKeyHeld = false; - double nextAutoDeleteTime = 0; - const double DeleteInitialDelay = 0.35; - const double DeleteRepeatInterval = 0.08; - - // rename state - TextField activeRenameField = null; - - // drag feedback tracking - VisualElement currentDragTargetRow = null; - - enum DragDropMode - { - None, - InsertBefore, - InsertAfter, - MakeChild - } - - DragDropMode currentDragMode = DragDropMode.None; - - const float DragBorderWidth = 3f; // thickness of the insert line - - public static void ShowWindow() - { - var w = GetWindow(false, WindowTitle); - w.minSize = new Vector2(240, 200); - w.Show(); - } - - void OnEnable() - { - LoadFoldStates(); - - root = rootVisualElement; - root.styleSheets.Clear(); - root.style.paddingTop = 4; - root.style.paddingLeft = 4; - root.style.paddingRight = 4; - - // header row: search + refresh icon (removed title text) - var headerRow = new VisualElement(); - headerRow.style.flexDirection = FlexDirection.Row; - headerRow.style.alignItems = Align.Center; - headerRow.style.marginBottom = 6; - - // search icon - var searchIcon = new Image(); - Texture si = EditorGUIUtility.IconContent("Search Icon").image ?? EditorGUIUtility.IconContent("d_Search Icon").image ?? EditorGUIUtility.IconContent("SearchField").image; - if (si != null) - { - searchIcon.image = si; - searchIcon.style.width = 16; - searchIcon.style.height = 16; - searchIcon.style.marginRight = 4; - headerRow.Add(searchIcon); - } - - searchField = new TextField(); - searchField.name = "uxh-search"; - searchField.style.flexGrow = 1; - searchField.style.minWidth = 80; - searchField.tooltip = "Search by name (case-insensitive)"; - searchField.RegisterValueChangedCallback(evt => RebuildTree()); - headerRow.Add(searchField); - - // refresh icon-only button - var refreshBtn = new Button(() => RebuildTree()); - Texture rtex = EditorGUIUtility.IconContent("Refresh").image ?? EditorGUIUtility.IconContent("d_Refresh").image; - if (rtex != null) - { - var img = new Image() { image = rtex }; - img.style.width = 16; - img.style.height = 16; - refreshBtn.Add(img); - refreshBtn.tooltip = "Refresh"; - } - else - { - refreshBtn.text = "Refresh"; - } - - refreshBtn.style.marginLeft = 6; - headerRow.Add(refreshBtn); - - root.Add(headerRow); - - // scroll area - scroll = new ScrollView(ScrollViewMode.Vertical); - scroll.style.flexGrow = 1; - root.Add(scroll); - - // root drop zone: small area at top to drop to root - rootDropZone = new VisualElement(); - rootDropZone.style.height = 18; - rootDropZone.style.unityTextAlign = TextAnchor.MiddleCenter; - rootDropZone.style.marginBottom = 4; - rootDropZone.style.alignItems = Align.Center; - rootDropZone.style.justifyContent = Justify.Center; - rootDropZone.style.backgroundColor = new StyleColor(new Color(0, 0, 0, 0)); - rootDropZone.Add(new Label("Drop here to make root")); - scroll.contentContainer.Add(rootDropZone); - - treeContainer = new VisualElement(); - treeContainer.name = "treeContainer"; - treeContainer.style.flexDirection = FlexDirection.Column; - scroll.contentContainer.Add(treeContainer); - - // event handlers - root.RegisterCallback(OnKeyDown); - root.RegisterCallback(OnKeyUp); - root.RegisterCallback(e => StopRename()); - - scroll.AddManipulator(new ContextualMenuManipulator(evt => - { - if (PrefabStageUtils.InEmptyStage) return; - - var t = evt.target as VisualElement; - bool hasPathAncestor = false; - while (t != null) - { - if (t.userData is string) - { - hasPathAncestor = true; - break; - } - - t = t.parent as VisualElement; - } - - if (!hasPathAncestor) - { - evt.menu.AppendAction("创建空物体", a => CreateEmptyUI(null), a => DropdownMenuAction.Status.Normal); - CreateCommonUIMenu(evt, null); - } - })); - - scroll.RegisterCallback(evt => - { - if (evt.button != 0) return; - - VisualElement t = evt.target as VisualElement; - bool clickedRow = false; - - while (t != null) - { - if (t.ClassListContains("uxh-row") || t.userData is GameObject) - { - clickedRow = true; - break; - } - - t = t.parent as VisualElement; - } - - if (!clickedRow) - { - selectedObjects.Clear(); - Selection.objects = new Object[0]; - UpdateSelectionHighlighting(); - - evt.StopImmediatePropagation(); - } - }); - - - rootDropZone.RegisterCallback(evt => - { - if (PrefabStageUtils.InEmptyStage) return; - rootDropZone.style.backgroundColor = new StyleColor(new Color(0.2f, 0.2f, 0.2f, 0.06f)); - evt.StopImmediatePropagation(); - }); - rootDropZone.RegisterCallback(evt => - { - if (PrefabStageUtils.InEmptyStage) return; - rootDropZone.style.backgroundColor = new StyleColor(Color.clear); - if (currentDragTargetRow != null) - { - ClearDragHighlight(currentDragTargetRow); - } - - evt.StopImmediatePropagation(); - }); - rootDropZone.RegisterCallback(evt => - { - if (PrefabStageUtils.InEmptyStage) return; - if (DragAndDrop.objectReferences != null && DragAndDrop.objectReferences.Length > 0) DragAndDrop.visualMode = DragAndDropVisualMode.Move; - evt.StopImmediatePropagation(); - }); - rootDropZone.RegisterCallback(evt => - { - if (DragAndDrop.objectReferences != null && DragAndDrop.objectReferences.Length > 0 && !PrefabStageUtils.InEmptyStage) - { - var prefabStage = PrefabStageUtility.GetCurrentPrefabStage(); - Transform rootParent = null; - if (prefabStage != null && prefabStage.prefabContentsRoot != null) - rootParent = prefabStage.prefabContentsRoot.transform; - else - rootParent = null; // null means scene root - - // perform reparent to root (or to prefabContentsRoot) - foreach (var o in DragAndDrop.objectReferences) - { - var draggedGO = o as GameObject; - if (draggedGO == null) continue; - // if drag source is same prefab, allow - if (rootParent != null) - { - Undo.SetTransformParent(draggedGO.transform, rootParent, "Reparent to root (UXHierarchy)"); - draggedGO.transform.SetSiblingIndex(rootParent.childCount - 1); - } - else - { - // move to scene root - Undo.SetTransformParent(draggedGO.transform, null, "Reparent to root (UXHierarchy)"); - } - } - - if (prefabStage != null) - { - try - { - EditorSceneManager.MarkSceneDirty(prefabStage.scene); - } - catch - { - } - } - else - { - EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); - } - - RebuildTree(); - DragAndDrop.AcceptDrag(); - } - - rootDropZone.style.backgroundColor = new StyleColor(Color.clear); - evt.StopImmediatePropagation(); - }); - - // clear drag highlight when leaving the whole tree or root - treeContainer.RegisterCallback(evt => - { - if (currentDragTargetRow != null) - { - ClearDragHighlight(currentDragTargetRow); - } - - evt.StopImmediatePropagation(); - }); - root.RegisterCallback(evt => - { - if (currentDragTargetRow != null) - { - ClearDragHighlight(currentDragTargetRow); - } - - rootDropZone.style.backgroundColor = new StyleColor(Color.clear); - evt.StopImmediatePropagation(); - }); - - // keep selection in sync if external selection changes - Selection.selectionChanged += OnUnitySelectionChanged; - - // hierarchy changes (scene/prefab content changes) - EditorApplication.hierarchyChanged += OnHierarchyChanged; - EditorApplication.update += EditorUpdate; - - RebuildTree(); - } - - void OnDisable() - { - Selection.selectionChanged -= OnUnitySelectionChanged; - EditorApplication.hierarchyChanged -= OnHierarchyChanged; - EditorApplication.update -= EditorUpdate; - - SaveFoldStates(); - } - - void OnHierarchyChanged() - { - RebuildTree(); - } - - void EditorUpdate() - { - // handle delete auto-repeat while held - if (deleteKeyHeld && EditorApplication.timeSinceStartup >= nextAutoDeleteTime) - { - DoDeleteSelected(); - nextAutoDeleteTime = EditorApplication.timeSinceStartup + DeleteRepeatInterval; - } - } - - void OnUnitySelectionChanged() - { - var sel = Selection.gameObjects.ToList(); - selectedObjects = sel; - UpdateSelectionHighlighting(); - Repaint(); - } - - void RebuildTree() - { - // clear any drag highlight to avoid residual visuals - if (currentDragTargetRow != null) - { - ClearDragHighlight(currentDragTargetRow); - currentDragTargetRow = null; - currentDragMode = DragDropMode.None; - } - - treeContainer.Clear(); - flatList.Clear(); - - string search = (searchField != null) ? searchField.value?.Trim() ?? "" : ""; - - var prefabStage = PrefabStageUtility.GetCurrentPrefabStage(); - if (prefabStage != null && prefabStage.prefabContentsRoot != null) - { - var root = prefabStage.prefabContentsRoot; - var prefabRoot = prefabStage.prefabContentsRoot.GetComponent() != null ? root.transform : root.transform.parent; - for (int i = 0; i < prefabRoot.transform.childCount; ++i) - { - var child = prefabRoot.transform.GetChild(i).gameObject; - var node = CreateNodeRecursive(child, 0, search); - if (node != null) treeContainer.Add(node); - } - } - else - { - var roots = EditorSceneManager.GetActiveScene().GetRootGameObjects(); - foreach (var go in roots) - { - var node = CreateNodeRecursive(go, 0, search); - if (node != null) treeContainer.Add(node); - } - } - - UpdateSelectionHighlighting(); - } - - VisualElement CreateNodeRecursive(GameObject go, int indent, string search) - { - // decide whether this node or any descendant matches the search - bool matches = string.IsNullOrEmpty(search) || go.name.IndexOf(search, StringComparison.OrdinalIgnoreCase) >= 0; - bool isPrefab = PrefabUtility.IsPartOfAnyPrefab(go); - // process children - List childNodes = new List(); - if (!isPrefab) - { - for (int i = 0; i < go.transform.childCount; ++i) - { - var child = go.transform.GetChild(i).gameObject; - var childNode = CreateNodeRecursive(child, indent + 1, search); - if (childNode != null) childNodes.Add(childNode); - } - } - - // if nothing matches and no children match, skip - if (!matches && childNodes.Count == 0) return null; - - // otherwise build node - flatList.Add(go); - int indexInFlat = flatList.Count - 1; - - var node = new VisualElement(); - node.style.flexDirection = FlexDirection.Column; - node.userData = go; - - // row - var row = new VisualElement(); - row.style.flexDirection = FlexDirection.Row; - row.style.alignItems = Align.Center; - row.style.paddingLeft = indent * 12; - row.style.paddingTop = 2; - row.style.paddingBottom = 2; - row.style.flexGrow = 0; - row.AddToClassList("uxh-row"); - row.style.paddingRight = 6; - - // only show fold icon if we have visible children - bool hasVisibleChildren = childNodes.Count > 0; - Label foldLabel = null; - - if (hasVisibleChildren && !isPrefab) - { - foldLabel = new Label(); - foldLabel.style.width = 16; - foldLabel.style.height = 16; - foldLabel.style.alignSelf = Align.Center; - foldLabel.style.marginRight = 4; - foldLabel.style.unityTextAlign = TextAnchor.MiddleCenter; - foldLabel.tooltip = "Expand / Collapse"; - - int id = go.GetInstanceID(); - bool expanded = foldStates.ContainsKey(id) ? foldStates[id] : true; - foldLabel.text = expanded ? "▼" : "▶"; - foldLabel.style.unityFontStyleAndWeight = FontStyle.Bold; - foldLabel.style.fontSize = 10; - foldLabel.style.color = new StyleColor(new Color(0.55f, 0.55f, 0.55f)); - - // toggle on click - foldLabel.RegisterCallback((evt) => - { - if (evt.button == 0) - { - expanded = !expanded; - foldStates[id] = expanded; - foldLabel.text = expanded ? "▼" : "▶"; - SaveFoldStates(); - var childrenContainer = node.Q("children"); - if (childrenContainer != null) - childrenContainer.style.display = expanded ? DisplayStyle.Flex : DisplayStyle.None; - evt.StopImmediatePropagation(); - } - }); - - // hover color - foldLabel.RegisterCallback((evt) => foldLabel.style.color = new StyleColor(Color.white)); - foldLabel.RegisterCallback((evt) => foldLabel.style.color = new StyleColor(new Color(0.55f, 0.55f, 0.55f))); - - row.Add(foldLabel); - } - else - { - // add spacer so icons align - var spacer = new VisualElement(); - spacer.style.width = 16; - spacer.style.height = 16; - spacer.style.marginRight = 4; - row.Add(spacer); - } - - // icon - var icon = new Image(); - icon.image = GetObjectIcon(go); - icon.style.width = 16; - icon.style.height = 16; - icon.style.alignSelf = Align.Center; - icon.style.marginRight = 4; - row.Add(icon); - - // label - var label = new Label(go.name); - label.style.flexGrow = 1; - label.style.unityTextAlign = TextAnchor.MiddleLeft; - label.userData = indexInFlat; - row.Add(label); - - row.AddManipulator(new ContextualMenuManipulator(evt => - { - // right click: node menu - if (evt.button == 1 && !PrefabStageUtils.InEmptyStage) - { - SelectSingle(go); - evt.menu.AppendAction("创建空物体", a => CreateEmptyUI(go), a => DropdownMenuAction.Status.Normal); - evt.menu.AppendAction("删除", a => - { - SelectSingle(go); - DoDeleteSelected(); - }, a => DropdownMenuAction.Status.Normal); - CreateCommonUIMenu(evt, go); - CreateControlerUIMenu(evt, go); - evt.StopImmediatePropagation(); - } - })); - // mouse handling - row.RegisterCallback(evt => - { - // left click selection - if (evt.button == 0) - { - bool ctrl = evt.ctrlKey || evt.commandKey; - bool shift = evt.shiftKey; - - int clickedIndex = (int)label.userData; - - if (shift && lastClickedIndex >= 0) - { - int a = Math.Min(lastClickedIndex, clickedIndex); - int b = Math.Max(lastClickedIndex, clickedIndex); - var range = flatList.GetRange(a, b - a + 1); - selectedObjects = range.Where(x => x != null).ToList(); - Selection.objects = selectedObjects.ToArray(); - } - else if (ctrl) - { - if (selectedObjects.Contains(go)) selectedObjects.Remove(go); - else selectedObjects.Add(go); - Selection.objects = selectedObjects.ToArray(); - lastClickedIndex = clickedIndex; - } - else - { - SelectSingle(go); - lastClickedIndex = clickedIndex; - } - - evt.StopImmediatePropagation(); - } - - // double-click print name - if (evt.clickCount == 2 && evt.button == 0 && isPrefab) - { - var prefabAsset = PrefabUtility.GetCorrespondingObjectFromSource(go); - var prefabPath = AssetDatabase.GetAssetPath(prefabAsset); - if (prefabPath.StartsWith(Def_UXGUIPath.UIResRootPath)) - { - PrefabStageUtils.SwitchStage(prefabPath); - } - - evt.StopImmediatePropagation(); - } - }); - - // drag start: when moving mouse while left pressed - row.RegisterCallback(evt => - { - if (evt.pressedButtons == 1) - { - if (!selectedObjects.Contains(go)) SelectSingle(go); - DragAndDrop.PrepareStartDrag(); - DragAndDrop.objectReferences = selectedObjects.ToArray(); - DragAndDrop.StartDrag("UXHierarchyDrag"); - evt.StopImmediatePropagation(); - } - }); - - // drag feedback & drop handling on row - row.RegisterCallback(evt => - { - /* highlight handled in DragUpdated */ - evt.StopImmediatePropagation(); - }); - row.RegisterCallback(evt => - { - ClearDragHighlight(row); - evt.StopImmediatePropagation(); - }); - row.RegisterCallback(evt => - { - if (DragAndDrop.objectReferences != null && DragAndDrop.objectReferences.Length > 0) - { - // compute position ratio - float h = Math.Max(1.0f, row.layout.height); - float y = evt.localMousePosition.y; - float ratio = y / h; - - DragAndDrop.visualMode = DragAndDropVisualMode.Move; - - DragDropMode mode; - if (ratio < 0.25f) mode = DragDropMode.InsertBefore; - else if (ratio > 0.75f) mode = DragDropMode.InsertAfter; - else mode = DragDropMode.MakeChild; - - // only update highlight if changed to reduce style churn - if (currentDragTargetRow != row || currentDragMode != mode) - ApplyDragHighlight(row, mode); - } - - evt.StopImmediatePropagation(); - }); - - row.RegisterCallback(evt => - { - if (DragAndDrop.objectReferences != null && DragAndDrop.objectReferences.Length > 0) - { - float h = Math.Max(1.0f, row.layout.height); - float y = evt.localMousePosition.y; - float ratio = y / h; - - DragDropMode mode; - if (ratio < 0.25f) mode = DragDropMode.InsertBefore; - else if (ratio > 0.75f) mode = DragDropMode.InsertAfter; - else mode = DragDropMode.MakeChild; - - PerformDropOnRow(go, mode); - DragAndDrop.AcceptDrag(); - } - - ClearDragHighlight(row); - evt.StopImmediatePropagation(); - }); - - // add row to node - node.Add(row); - - // children container - var childrenContainer = new VisualElement(); - childrenContainer.name = "children"; - childrenContainer.style.flexDirection = FlexDirection.Column; - childrenContainer.style.marginLeft = 0; - childrenContainer.style.display = hasVisibleChildren ? DisplayStyle.Flex : DisplayStyle.None; - node.Add(childrenContainer); - - // populate visible children - foreach (var cn in childNodes) childrenContainer.Add(cn); - - return node; - } - - void ApplyDragHighlight(VisualElement row, DragDropMode mode) - { - // clear previous if different - if (currentDragTargetRow != null && currentDragTargetRow != row) - { - ClearDragHighlight(currentDragTargetRow); - currentDragTargetRow = null; - currentDragMode = DragDropMode.None; - } - - // store - currentDragTargetRow = row; - currentDragMode = mode; - - // reset style first - row.style.borderTopWidth = new StyleFloat(0f); - row.style.borderBottomWidth = new StyleFloat(0f); - row.style.borderLeftWidth = new StyleFloat(0f); - row.style.borderRightWidth = new StyleFloat(0f); - row.style.borderTopColor = new StyleColor(Color.clear); - row.style.borderBottomColor = new StyleColor(Color.clear); - row.style.backgroundColor = new StyleColor(Color.clear); - - if (mode == DragDropMode.InsertBefore) - { - row.style.borderTopWidth = new StyleFloat(DragBorderWidth); - row.style.borderTopColor = new StyleColor(Color.cyan); - } - else if (mode == DragDropMode.InsertAfter) - { - row.style.borderBottomWidth = new StyleFloat(DragBorderWidth); - row.style.borderBottomColor = new StyleColor(Color.cyan); - } - else if (mode == DragDropMode.MakeChild) - { - row.style.backgroundColor = new StyleColor(new Color(0.2f, 0.2f, 0.2f, 0.06f)); - } - } - - void ClearDragHighlight(VisualElement row) - { - if (row == null) return; - row.style.borderTopWidth = new StyleFloat(0f); - row.style.borderBottomWidth = new StyleFloat(0f); - row.style.borderLeftWidth = new StyleFloat(0f); - row.style.borderRightWidth = new StyleFloat(0f); - row.style.borderTopColor = new StyleColor(Color.clear); - row.style.borderBottomColor = new StyleColor(Color.clear); - row.style.backgroundColor = new StyleColor(Color.clear); - if (currentDragTargetRow == row) - { - currentDragTargetRow = null; - currentDragMode = DragDropMode.None; - } - } - - void PerformDropOnRow(GameObject targetGO, DragDropMode mode) - { - var prefabStage = PrefabStageUtility.GetCurrentPrefabStage(); - Transform targetParent = null; - - if (mode == DragDropMode.MakeChild) - { - targetParent = targetGO.transform; - } - else - { - // insert before/after among targetGO's siblings - targetParent = targetGO.transform.parent; - } - - foreach (var o in DragAndDrop.objectReferences) - { - var draggedGO = o as GameObject; - if (draggedGO == null) continue; - // prevent making parent its own child - if (IsAncestor(draggedGO.transform, targetGO.transform)) continue; - - if (mode == DragDropMode.MakeChild) - { - Undo.SetTransformParent(draggedGO.transform, targetParent, "Reparent GameObject (UXHierarchy)"); - // place at end - draggedGO.transform.SetSiblingIndex(targetParent.childCount - 1); - } - else - { - // when targetParent == null -> scene root - Undo.SetTransformParent(draggedGO.transform, targetParent, "Reparent GameObject (UXHierarchy)"); - - int targetIndex; - if (targetParent != null) - { - var siblings = GetSiblings(targetParent); - targetIndex = Array.IndexOf(siblings, targetGO); - } - else - { - var roots = GetSceneRoots(); - targetIndex = Array.IndexOf(roots, targetGO); - } - - if (targetIndex < 0) targetIndex = 0; - int finalIndex = (mode == DragDropMode.InsertBefore) ? targetIndex : targetIndex + 1; - - // clamp finalIndex - int maxIndex = (targetParent != null) ? targetParent.childCount : GetSceneRoots().Length; - finalIndex = Mathf.Clamp(finalIndex, 0, maxIndex); - - draggedGO.transform.SetSiblingIndex(finalIndex); - } - } - - if (prefabStage != null) - { - try - { - EditorSceneManager.MarkSceneDirty(prefabStage.scene); - } - catch - { - } - } - else - { - EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); - } - - RebuildTree(); - } - - GameObject[] GetSiblings(Transform parent) - { - if (parent == null) return new GameObject[0]; - var arr = new GameObject[parent.childCount]; - for (int i = 0; i < parent.childCount; ++i) arr[i] = parent.GetChild(i).gameObject; - return arr; - } - - GameObject[] GetSceneRoots() - { - var roots = EditorSceneManager.GetActiveScene().GetRootGameObjects(); - return roots; - } - - bool IsAncestor(Transform potentialChild, Transform potentialAncestor) - { - if (potentialChild == null || potentialAncestor == null) return false; - var t = potentialAncestor; - while (t != null) - { - if (t == potentialChild) return true; - t = t.parent; - } - - return false; - } - - Texture GetObjectIcon(GameObject go) - { - try - { - if (PrefabUtility.IsPartOfAnyPrefab(go)) - { - var prefabAsset = PrefabUtility.GetCorrespondingObjectFromSource(go); - if (prefabAsset != null) return EditorGUIUtility.ObjectContent(prefabAsset, typeof(GameObject)).image; - } - } - catch - { - } - - return EditorGUIUtility.ObjectContent(go, typeof(GameObject)).image; - } - - void UpdateSelectionHighlighting() - { - var rows = treeContainer.Query(className: "uxh-row").ToList(); - foreach (var r in rows) - { - var go = r.parent.userData as GameObject; - if (go != null && selectedObjects.Contains(go)) - { - r.style.backgroundColor = new StyleColor(new Color(0.24f, 0.48f, 0.78f, 0.18f)); - } - else - { - r.style.backgroundColor = new StyleColor(Color.clear); - } - } - } - - void SelectSingle(GameObject go) - { - selectedObjects = new List { go }; - Selection.objects = selectedObjects.ToArray(); - UpdateSelectionHighlighting(); - } - - void OnKeyDown(KeyDownEvent evt) - { - if (evt.keyCode == KeyCode.Delete || evt.keyCode == KeyCode.Backspace) - { - deleteKeyHeld = true; - nextAutoDeleteTime = EditorApplication.timeSinceStartup + DeleteInitialDelay; - DoDeleteSelected(); - evt.StopImmediatePropagation(); - return; - } - - if (evt.keyCode == KeyCode.F2) - { - // ensure F2 triggers rename even if UI focus is elsewhere - if (Selection.activeGameObject != null) - StartRenameFor(Selection.activeGameObject); - evt.StopImmediatePropagation(); - return; - } - - if ((evt.ctrlKey || evt.commandKey) && evt.keyCode == KeyCode.A) - { - selectedObjects = flatList.Where(x => x != null).ToList(); - Selection.objects = selectedObjects.ToArray(); - UpdateSelectionHighlighting(); - evt.StopImmediatePropagation(); - return; - } - - if ((evt.ctrlKey || evt.commandKey) && evt.keyCode == KeyCode.D) - { - DuplicateSelected(); - evt.StopImmediatePropagation(); - return; - } - } - - void OnKeyUp(KeyUpEvent evt) - { - if (evt.keyCode == KeyCode.Delete || evt.keyCode == KeyCode.Backspace) - { - deleteKeyHeld = false; - evt.StopImmediatePropagation(); - return; - } - } - - // also catch F2 and Delete in IMGUI OnGUI (helps when UI Toolkit root doesn't have keyboard focus) - void OnGUI() - { - var e = Event.current; - if (e.type == EventType.KeyDown) - { - if (e.keyCode == KeyCode.F2) - { - if (Selection.activeGameObject != null) - { - StartRenameFor(Selection.activeGameObject); - e.Use(); - } - } - else if (e.keyCode == KeyCode.Delete || e.keyCode == KeyCode.Backspace) - { - DoDeleteSelected(); - e.Use(); - } - else if ((e.control || e.command) && e.keyCode == KeyCode.D) - { - DuplicateSelected(); - e.Use(); - } - } - } - - void DuplicateSelected() - { - if (selectedObjects == null || selectedObjects.Count == 0) return; - - var prefabStage = PrefabStageUtility.GetCurrentPrefabStage(); - Transform rootPrefab = (prefabStage != null && prefabStage.prefabContentsRoot != null) - ? prefabStage.prefabContentsRoot.transform - : null; - - // 收集有效的原对象(排除 null) - var originals = selectedObjects.Where(x => x != null).ToList(); - if (originals.Count == 0) return; - - // 按 parent 分组,这样可以为每个 parent 保持插入索引逻辑 - var grouped = originals.GroupBy(go => go.transform.parent); - - List newSelections = new List(); - - foreach (var grp in grouped) - { - Transform parent = grp.Key; // 可能为 null(场景根) - // 按 sibling index 升序处理,避免插入时索引错乱 - var items = grp.OrderBy(g => g.transform.GetSiblingIndex()).ToList(); - int insertedCount = 0; - - foreach (var original in items) - { - if (original == null) continue; - // 不要复制 prefab contents root 本身 - if (rootPrefab != null && original == rootPrefab.gameObject) continue; - - // 实例化(会复制子物体和所有组件的当前值) - GameObject dup = (GameObject)Object.Instantiate(original); - - // 让名字在同父级下唯一(简单实现),避免大量 "(Clone)" 风格名字 - dup.name = GetUniqueNameInParent(original.name, parent); - - // 注册 Undo(便于撤销) - Undo.RegisterCreatedObjectUndo(dup, "Duplicate GameObject (UXHierarchy)"); - - // 设置 parent & sibling index (使用 SetParent(false) 保持本地变换) - if (parent != null) - { - dup.transform.SetParent(parent, false); - int origIndex = original.transform.GetSiblingIndex(); - int finalIndex = Mathf.Clamp(origIndex + 1 + insertedCount, 0, parent.childCount - 1); - dup.transform.SetSiblingIndex(finalIndex); - } - else - { - // 场景根 - dup.transform.SetParent(null); - int origIndex = original.transform.GetSiblingIndex(); - int finalIndex = Mathf.Clamp(origIndex + 1 + insertedCount, 0, GetSceneRoots().Length - 1); - dup.transform.SetSiblingIndex(finalIndex); - } - - newSelections.Add(dup); - insertedCount++; - } - } - - // 把 Selection 设置为新复制的对象 - Selection.objects = newSelections.Cast().ToArray(); - selectedObjects = newSelections; - - // 标记脏并刷新树视图 - if (prefabStage != null) - { - try - { - EditorSceneManager.MarkSceneDirty(prefabStage.scene); - } - catch - { - } - } - else - { - EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); - } - - RebuildTree(); - UpdateSelectionHighlighting(); - Repaint(); - } - -// 简单的在父级中创建不同名的方法(避免与同名 sibling 冲突) - string GetUniqueNameInParent(string baseName, Transform parent) - { - GameObject[] siblings = parent != null ? GetSiblings(parent) : GetSceneRoots(); - string name = baseName; - int suffix = 1; - // 如果已存在相同名字,则追加 " 1", " 2" ...(你可以改成其它命名规则) - while (siblings.Any(g => g != null && g.name == name)) - { - name = baseName + " " + suffix; - suffix++; - } - - return name; - } - - void DoDeleteSelected() - { - if (selectedObjects == null || selectedObjects.Count == 0) return; - - if (selectedObjects.Count > 10) - { - if (!EditorUtility.DisplayDialog("Delete objects", $"Delete {selectedObjects.Count} objects?", "Delete", "Cancel")) - return; - } - - var prefabStage = PrefabStageUtility.GetCurrentPrefabStage(); - var rootPrefab = prefabStage.prefabContentsRoot; - - foreach (var go in selectedObjects.ToArray()) - { - if (go == null) continue; - if (rootPrefab == go) - { - Debug.Log("Component Root Node Can Not Delete"); - continue; - } - - Undo.DestroyObjectImmediate(go); - } - - selectedObjects.Clear(); - Selection.objects = new Object[0]; - - if (prefabStage != null) - { - try - { - EditorSceneManager.MarkSceneDirty(prefabStage.scene); - } - catch - { - } - } - else - { - EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); - } - - RebuildTree(); - } - - void StartRenameFor(GameObject go) - { - if (go == null) return; - var nodes = treeContainer.Query().Where(n => n.userData == go).ToList(); - if (nodes.Count > 0) - { - var node = nodes[0]; - var row = node.ElementAt(0); - // find the label child (not other labels) - Label label = null; - foreach (var child in row.Children()) - { - if (child is Label l && l.userData is int) - { - label = l; - break; - } - } - - if (label != null) StartRename(row, go, label); - else Debug.LogWarning("UXHierarchy: cannot find label to rename."); - } - } - - void StartRename(VisualElement row, GameObject go, Label label) - { - StopRename(); - - var tf = new TextField(); - tf.value = go.name; - tf.style.flexGrow = 1; - tf.style.marginLeft = 0; - tf.style.marginRight = 0; - - int idx = row.IndexOf(label); - if (idx >= 0) - { - row.Remove(label); - row.Insert(idx, tf); - tf.Focus(); - tf.SelectAll(); - activeRenameField = tf; - - tf.RegisterCallback(evt => - { - if (evt.keyCode == KeyCode.Return || evt.keyCode == KeyCode.KeypadEnter) - { - CommitRename(go, tf.value); - evt.StopImmediatePropagation(); - } - else if (evt.keyCode == KeyCode.Escape) - { - CancelRename(row, tf, label); - evt.StopImmediatePropagation(); - } - }); - - tf.RegisterCallback(evt => { CommitRename(go, tf.value); }); - } - } - - void CommitRename(GameObject go, string newName) - { - if (go == null) return; - if (newName == go.name) - { - StopRename(); - return; - } - - Undo.RecordObject(go, "Rename GameObject (UXHierarchy)"); - go.name = newName; - EditorUtility.SetDirty(go); - StopRename(); - - var prefabStage = PrefabStageUtility.GetCurrentPrefabStage(); - if (prefabStage != null) - { - try - { - EditorSceneManager.MarkSceneDirty(prefabStage.scene); - } - catch - { - } - } - - RebuildTree(); - } - - void CancelRename(VisualElement row, TextField tf, Label label) - { - int idx = row.IndexOf(tf); - if (idx >= 0) - { - row.Remove(tf); - row.Insert(idx, label); - } - - activeRenameField = null; - } - - void StopRename() - { - if (activeRenameField == null) return; - var tf = activeRenameField; - var parent = tf.parent; - if (parent != null) - { - var label = new Label(tf.value); - label.style.flexGrow = 1; - int idx = parent.IndexOf(tf); - parent.Remove(tf); - parent.Insert(idx, label); - } - - activeRenameField = null; - } - - // New: create empty UI GameObject with RectTransform. If parentGO is null, create at root or prefab root - void CreateEmptyUI(GameObject parentGO) - { - var prefabStage = PrefabStageUtility.GetCurrentPrefabStage(); - Transform parentTransform = null; - if (parentGO != null) - parentTransform = parentGO.transform; - else if (prefabStage != null && prefabStage.prefabContentsRoot != null) - parentTransform = prefabStage.prefabContentsRoot.transform; - else - parentTransform = null; // scene root - - var go = new GameObject("New UI Empty", typeof(RectTransform)); - Undo.RegisterCreatedObjectUndo(go, "Create New UI Empty (UXHierarchy)"); - if (parentTransform != null) - { - go.transform.SetParent(parentTransform, false); - } - // else leave at scene root (transform.parent == null) - - Selection.activeGameObject = go; - if (prefabStage != null) - { - try - { - EditorSceneManager.MarkSceneDirty(prefabStage.scene); - } - catch - { - } - } - else - { - EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); - } - - RebuildTree(); - } - - // fold state persistence keyed by context (prefab asset path or scene path) - string GetFoldPrefsKey() - { - var prefabStage = PrefabStageUtility.GetCurrentPrefabStage(); - if (prefabStage != null) - { - var path = prefabStage.assetPath; - if (string.IsNullOrEmpty(path)) path = "prefab_unknown"; - return $"{FoldoutPrefsKeyBase}::prefab::{path}"; - } - else - { - var scene = EditorSceneManager.GetActiveScene(); - var sp = string.IsNullOrEmpty(scene.path) ? "scene_unsaved" : scene.path; - return $"{FoldoutPrefsKeyBase}::scene::{sp}"; - } - } - - void SaveFoldStates() - { - try - { - var entries = foldStates.Select(kv => $"{kv.Key}:{(kv.Value ? 1 : 0)}"); - var joined = string.Join(",", entries); - EditorPrefs.SetString(GetFoldPrefsKey(), joined); - } - catch (Exception ex) - { - Debug.LogWarning("UXHierarchy could not save fold states: " + ex.Message); - } - } - - void LoadFoldStates() - { - foldStates.Clear(); - var key = GetFoldPrefsKey(); - if (EditorPrefs.HasKey(key)) - { - var joined = EditorPrefs.GetString(key); - if (!string.IsNullOrEmpty(joined)) - { - try - { - var parts = joined.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); - foreach (var p in parts) - { - var kv = p.Split(':'); - if (kv.Length == 2) - { - if (int.TryParse(kv[0], out int id) && int.TryParse(kv[1], out int v)) - { - foldStates[id] = (v == 1); - } - } - } - } - catch - { - foldStates.Clear(); - } - } - } - } - - private void CreateCommonUIMenu(ContextualMenuPopulateEvent evt, GameObject target) - { - MenuCommand command = new MenuCommand(target); - evt.menu.AppendSeparator(); - evt.menu.AppendAction("UXImage", a => { UXCreateHelper.CreateUXImage(command); }, a => DropdownMenuAction.Status.Normal); - evt.menu.AppendAction("UXTextMeshPro", a => { UXCreateHelper.CreateUXTextMeshPro(command); }, a => DropdownMenuAction.Status.Normal); - evt.menu.AppendAction("UXButton", a => { UXCreateHelper.CreateUXButton(command); }, a => DropdownMenuAction.Status.Normal); - evt.menu.AppendAction("UXInput Field", a => { UXCreateHelper.CreateUXInputField(command); }, a => DropdownMenuAction.Status.Normal); - evt.menu.AppendAction("UXScrollView", a => { UXCreateHelper.CreateUxRecyclerView(); }, a => DropdownMenuAction.Status.Normal); - evt.menu.AppendAction("UXSlider", a => { UXCreateHelper.CreateUXToggle(command); }, a => DropdownMenuAction.Status.Normal); - } - - private void CreateControlerUIMenu(ContextualMenuPopulateEvent evt, GameObject target) - { - evt.menu.AppendSeparator(); - evt.menu.AppendAction("添加控制器", a => - { - if (!target.TryGetComponent(typeof(UXControllerStateRecorder), out Component controller)) - { - target.AddComponent(typeof(UXControllerStateRecorder)); - } - }, a => DropdownMenuAction.Status.Normal); - } -} diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Hierachy/UXHierachyWindow.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Hierachy/UXHierachyWindow.cs.meta deleted file mode 100644 index a7b581e..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Hierachy/UXHierachyWindow.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 460b36db23659db4cb26ee8ba3234ad9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab.meta deleted file mode 100644 index 292a649..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8268cda376c28d14db254b78f6c56df7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab/PrefabSingleTab.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab/PrefabSingleTab.cs deleted file mode 100644 index 85b160b..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab/PrefabSingleTab.cs +++ /dev/null @@ -1,166 +0,0 @@ -#if UNITY_EDITOR -using UnityEditor; -using UnityEngine.UIElements; -using System.IO; -using UnityEngine; -using System; - -namespace AlicizaX.UXTool -{ - public class PrefabSingleTab : VisualElement - { - public Button visual; - private string m_guid; - private static int m_maxwidth = PrefabTabs.m_maxWidth; - private static int m_minwidth = PrefabTabs.m_minWidth; - private static int m_maxcharacters = PrefabTabs.m_maxCharacters; - private static int m_mincharacters = PrefabTabs.m_minCharacters; - - public PrefabSingleTab(FileInfo info, string guid, int prefabcounts, bool isclose, int width) - { - // 计算每个 tab 的推荐宽度(防空) - SceneView sceneView = SceneView.lastActiveSceneView; - int prewidth = 100; - if (sceneView != null && prefabcounts > 0) - { - prewidth = Mathf.Max(1, (int)sceneView.position.width / Math.Max(1, prefabcounts)); - } - - // 根 Button(用于作为 tab 容器并响应 click) - visual = new Button(); - visual.name = "Tab"; - - // 基本样式(尽量还原 UXML 的样式) - visual.style.height = 20; - visual.style.flexDirection = FlexDirection.Row; - visual.style.alignItems = Align.Center; - visual.style.justifyContent = Justify.FlexStart; - visual.style.unityTextAlign = TextAnchor.MiddleCenter; - visual.style.backgroundColor = new StyleColor(new Color(60f / 255f, 60f / 255f, 60f / 255f, 1f)); - // margin、padding、border 等默认即可 - - // Label - Label label = new Label(); - label.name = "Label"; - label.style.paddingLeft = 5; - label.style.whiteSpace = WhiteSpace.NoWrap; - label.style.unityTextAlign = TextAnchor.MiddleCenter; - label.style.alignSelf = Align.Center; - // label 默认宽度稍后设置为 nowwidth - - // 关闭按钮 - Button close = new Button(); - close.name = "Close"; - close.style.width = 20; - close.style.height = 20; - close.style.alignSelf = Align.Center; - close.style.marginLeft = 3; - close.style.marginRight = 3; - - close.style.backgroundImage = new StyleBackground(EditorGUIUtility.IconContent("d_winbtn_mac_close_a").image as Texture2D); - close.style.backgroundSize = new BackgroundSize(new Length(80, LengthUnit.Percent), new Length(80, LengthUnit.Percent)); - close.style.backgroundColor = Color.clear; - close.style.borderLeftWidth = 0; - close.style.borderRightWidth = 0; - - visual.Add(label); - visual.Add(close); - - int nowwidth = m_maxwidth; - if (isclose) - { - label.style.width = width; - nowwidth = width; - } - else - { - int computed = Math.Min(Math.Max(m_minwidth, prewidth), m_maxwidth); - label.style.width = computed; - nowwidth = computed; - } - - int nowCharacterscounts = m_maxcharacters; - if (nowwidth < m_maxwidth) - nowCharacterscounts = Math.Max(m_maxcharacters - (int)((m_maxwidth - nowwidth) / 10), m_mincharacters); - - m_guid = guid; - string fileName = Path.GetFileNameWithoutExtension(info.Name); - label.text = SetTextWithEllipsis(nowCharacterscounts, fileName); - - // 事件绑定(与原逻辑一致) - close.clickable.activators.Add(new ManipulatorActivationFilter { button = MouseButton.LeftMouse }); - close.clicked += OnClose; - close.RegisterCallback(OnHoverClose, close); - close.RegisterCallback(OnHoverClose, close); - - visual.RegisterCallback(OnHoverChange); - visual.RegisterCallback(OnHoverChange); - - visual.clickable.activators.Add(new ManipulatorActivationFilter { button = MouseButton.LeftMouse }); - visual.clicked += OnClick; - visual.RegisterCallback(Callback); - - // 将 visual 作为当前元素的一部分(方便外部访问 this.visual) - this.Add(visual); - } - - private void Callback(MouseDownEvent e) - { - if (e.button == 1) - { - ContextMenuUtils.Menu.BuildPrefabTabMenuItem(m_guid); - ContextMenuUtils.ShowContextMenu(); - } - } - - private void OnHoverChange(EventBase e) - { - if (m_guid == PrefabTabs.SelectedGuid) return; - if (e.eventTypeId == MouseEnterEvent.TypeId()) - { - visual.style.backgroundColor = new StyleColor(new Color(78f / 255f, 78f / 255f, 78f / 255f, 1f)); - } - else if (e.eventTypeId == MouseLeaveEvent.TypeId()) - { - visual.style.backgroundColor = new StyleColor(new Color(60f / 255f, 60f / 255f, 60f / 255f, 1f)); - } - } - - private void OnHoverClose(EventBase e, VisualElement close) - { - // if (e.eventTypeId == MouseEnterEvent.TypeId()) - // { - // close.style.backgroundColor = new StyleColor(new Color(60f / 255f, 60f / 255f, 60f / 255f, 1f)); - // } - // else if (e.eventTypeId == MouseLeaveEvent.TypeId()) - // { - // close.style.backgroundColor = new StyleColor(new Color(60f / 255f, 60f / 255f, 60f / 255f, 0f)); - // } - } - - private void OnClick() - { - PrefabTabs.OpenTab(m_guid, true); - } - - private void OnClose() - { - PrefabTabs.CloseTab(m_guid); - } - - private string SetTextWithEllipsis(int count, string name) - { - if (name.Length <= count) - { - return name; - } - else - { - string ans = name.Substring(0, Math.Max(0, count - 3)); - ans += "..."; - return ans; - } - } - } -} -#endif diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab/PrefabSingleTab.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab/PrefabSingleTab.cs.meta deleted file mode 100644 index 80b1249..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab/PrefabSingleTab.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 99285ec27ea549d99d16c4fd764c42a9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab/PrefabTabs.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab/PrefabTabs.cs deleted file mode 100644 index 851c0e3..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab/PrefabTabs.cs +++ /dev/null @@ -1,250 +0,0 @@ -using UnityEditor; -using UnityEngine; -using UnityEngine.UIElements; -using System.Linq; -using System; -using System.IO; -using System.Collections.Generic; -using UnityEditor.SceneManagement; -using UXScroller = UnityEngine.UIElements.Scroller; - -namespace AlicizaX.UXTool -{ - public static class PrefabTabs - { - public static readonly int m_maxCharacters = 20; - public static readonly int m_minCharacters = 13; - public static readonly int m_maxWidth = 150; - public static readonly int m_minWidth = 100; - - public static VisualElement prefabTabsPanel; - private static ScrollView TabsList; - private static List m_tabs; - private static string m_selectedTab; - private static SceneView sceneView = SceneView.lastActiveSceneView; - private static int width; - - public static string SelectedGuid - { - get { return m_selectedTab; } - set - { - m_selectedTab = value; - EditorPrefs.SetString("AlicizaUXTool_SelectedTab", value); // 记录当前选中的Tab - } - } - - [InitializeOnLoadMethod] - public static void Initialize() - { - UXDesinUtil.OnEnterDesignMode += RegisterEvents; - UXDesinUtil.OnExitDesignMode += UnRegisterEvents; - - if (UXDesinUtil.InDesign) - { - RegisterEvents(); - } - else - { - UnRegisterEvents(); - } - } - - private static void RegisterEvents() - { - PrefabStageUtils.OnEditRootReplaced += OnEditRootReplaced; - EditorApplication.delayCall += OnEditorLoaded; - UXPrefabTabsConfig.Instance.SyncTabs(); - } - - private static void UnRegisterEvents() - { - PrefabStageUtils.OnEditRootReplaced -= OnEditRootReplaced; - EditorApplication.delayCall -= OnEditorLoaded; - } - - private static void OnEditorLoaded() - { - if (UXDesinUtil.InDesign) - { - CreateGUI(); - RefreshTabs(false, 0); - OpenOrFallbackToLastValidTab(); - } - } - - private static void OnEditRootReplaced(string assetPath) - { - string guid = AssetDatabase.AssetPathToGUID(assetPath); - SelectedGuid = guid; - RefreshTabs(false, 0); - } - - private static void CreateGUI() - { - sceneView = SceneView.lastActiveSceneView; - - if (sceneView == null) return; - - prefabTabsPanel = new VisualElement(); - prefabTabsPanel.name = "Tabs"; - prefabTabsPanel.style.height = new StyleLength(new Length(100, LengthUnit.Percent)); - prefabTabsPanel.style.position = Position.Relative; - prefabTabsPanel.style.top = 0; - prefabTabsPanel.style.right = 0; - prefabTabsPanel.style.left = 0; - prefabTabsPanel.style.backgroundColor = new Color(48f / 255f, 48f / 255f, 48f / 255f); // rgb(48, 48, 48) - prefabTabsPanel.style.flexGrow = 0; - prefabTabsPanel.style.paddingRight = 0; - prefabTabsPanel.style.marginRight = 160; - - TabsList = new ScrollView(ScrollViewMode.Horizontal); - TabsList.name = "TabsList"; - TabsList.horizontalScrollerVisibility = ScrollerVisibility.AlwaysVisible; - TabsList.verticalScrollerVisibility = ScrollerVisibility.Hidden; - - - prefabTabsPanel.Add(TabsList); - - prefabTabsPanel.style.flexGrow = 1; - prefabTabsPanel.style.height = Length.Percent(50); - prefabTabsPanel.contentContainer.RegisterCallback((e) => - { - Vector2 old = TabsList.scrollOffset; - TabsList.scrollOffset = old; - width = m_tabs.Count == 0 ? m_minWidth : Math.Min(Math.Max(m_minWidth, (int)sceneView.position.width / m_tabs.Count), m_maxWidth); - RefreshTabs(false, 0); - }); - UXScroller scroller = TabsList.horizontalScroller; - scroller.Remove(scroller.lowButton); - scroller.Remove(scroller.highButton); - scroller.slider.style.height = 4; - scroller.slider.style.marginBottom = 0; - scroller.slider.style.paddingBottom = 0; - scroller.slider.style.marginLeft = scroller.slider.style.marginRight = 0; - scroller.style.height = 5; - scroller.style.bottom = 0; - scroller.style.marginBottom = 0; - - var parent = sceneView.rootVisualElement.parent.parent.parent.parent.parent.Q(); - if (parent != null) parent.Add(prefabTabsPanel); - parent.style.flexShrink = 1; - parent.style.width = Length.Percent(100); - parent.style.flexGrow = 0.08f; - parent.style.height = Length.Percent(5); - - m_tabs = UXPrefabTabsConfig.Instance.tabs; - m_selectedTab = EditorPrefs.GetString("AlicizaUXTool_SelectedTab", string.Empty); - if (m_tabs.Find(p => p == m_selectedTab) == null) m_selectedTab = string.Empty; - RefreshTabs(false, 0); // 初始化时刷新 Tabs - } - - public static void RefreshTabs(bool isclose, int width) - { - if (prefabTabsPanel == null) return; -#if UNITY_2021_3_OR_NEWER - prefabTabsPanel.style.top = 0; -#else - prefabTabsPanel.style.top = string.IsNullOrEmpty(m_selectedTab) ? 21 : 46; -#endif - bool flag = TabsList.contentContainer.childCount == m_tabs.Count; - TabsList.Clear(); - Button selectButton = null; - foreach (var item in m_tabs) - { - string path = AssetDatabase.GUIDToAssetPath(item); - if (path != "" && File.Exists(path)) - { - var tab = new PrefabSingleTab(new FileInfo(path), item, m_tabs.Count, isclose, width); - if (item == m_selectedTab) - { - tab.visual.style.backgroundColor = new Color(95f / 255, 95f / 255, 95f / 255, 1); - selectButton = tab.visual; - } - else - { - tab.visual.style.backgroundColor = new Color(60f / 255, 60f / 255, 60f / 255, 1); - } - - TabsList.Add(tab.visual); - } - } - - if (selectButton != null) - { - if (flag) - { - selectButton.RegisterCallback(FirstLayoutCallback, selectButton); - } - else - { - TabsList.contentContainer.RegisterCallback(FirstLayoutCallback, selectButton); - } - } - - UXPrefabTabsConfig.Instance.tabs = m_tabs; // 保存当前 Tabs 状态 - UXPrefabTabsConfig.Save(); // 保存到磁盘 - } - - private static void OpenOrFallbackToLastValidTab() - { - // 尝试打开当前选中的GUID - if (!string.IsNullOrEmpty(m_selectedTab) && m_tabs.Contains(m_selectedTab)) - { - PrefabStageUtils.SwitchStage(AssetDatabase.GUIDToAssetPath(m_selectedTab)); - } - else - { - // 移除不存在的GUID并选中最后一个有效的 - m_tabs.RemoveAll(guid => - { - string path = AssetDatabase.GUIDToAssetPath(guid); - return string.IsNullOrEmpty(path) || !File.Exists(path); - }); - - if (m_tabs.Count > 0) - { - m_selectedTab = m_tabs.Last(); - PrefabStageUtils.SwitchStage(AssetDatabase.GUIDToAssetPath(m_selectedTab)); - } - else - { - m_selectedTab = string.Empty; - PrefabStageUtils.OpenDefaultStage(); - } - } - - RefreshTabs(false, 0); - } - - - public static void OpenTab(string guid, bool replaceRoot) - { - SelectedGuid = guid; - if (replaceRoot) - { - PrefabStageUtils.SwitchStage(AssetDatabase.GUIDToAssetPath(guid)); - } - - if (!m_tabs.Contains(guid)) - { - m_tabs.Add(guid); - width = Math.Min(Math.Max(m_minWidth, (int)sceneView.position.width / m_tabs.Count), m_maxWidth); - } - - RefreshTabs(false, 0); - } - - public static void CloseTab(string guid) - { - m_tabs.Remove(guid); - OpenOrFallbackToLastValidTab(); - } - - private static void FirstLayoutCallback(GeometryChangedEvent evt, VisualElement v) - { - if (!TabsList.Contains(v)) return; - TabsList.ScrollTo(v); - } - } -} diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab/PrefabTabs.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab/PrefabTabs.cs.meta deleted file mode 100644 index 7227a84..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/PrefabTab/PrefabTabs.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ddadf2863f864c74b994822b0dfcec71 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Project.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Project.meta deleted file mode 100644 index a3ec3b9..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Project.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b118a0eb1d94cad4abc3fbda06d94698 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Project/UXProjectWindow.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Project/UXProjectWindow.cs deleted file mode 100644 index 6dbbbc1..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Project/UXProjectWindow.cs +++ /dev/null @@ -1,1244 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using AlicizaX.UXTool; -using UnityEditor; -using UnityEngine; -using UnityEngine.UIElements; - -public class PrefabTreeViewWindow : EditorWindow -{ - private const string EditorPrefKeyPrefix = "PrefabTreeView_Expanded_"; // key + Root - - private ScrollView treeScroll; - private TextField searchField; - - private Texture2D folderIcon; - private Texture2D folderEmptyIcon; - private Texture2D defaultPrefabIcon; - - private Image previewIcon; - private Label previewLabel; - - private HashSet expandedPaths = new HashSet(StringComparer.InvariantCultureIgnoreCase); - private HashSet expandedSnapshot = null; - private HashSet selectedPaths = new HashSet(StringComparer.InvariantCultureIgnoreCase); - - private string searchText = string.Empty; - - - private string currentDragTargetPath = null; - private VisualElement currentDragTargetElement = null; - - [MenuItem("Window/Prefab Tree View (Fixed Root)")] - public static void ShowWindow() - { - var wnd = GetWindow(); - wnd.titleContent = new GUIContent("Prefab Tree View"); - wnd.minSize = new Vector2(420, 300); - } - - private void OnEnable() - { - folderIcon = EditorGUIUtility.IconContent("Folder Icon").image as Texture2D; - if (folderIcon == null) folderIcon = EditorGUIUtility.IconContent("Folder").image as Texture2D; - - folderEmptyIcon = EditorGUIUtility.IconContent("FolderEmpty Icon").image as Texture2D; - if (folderEmptyIcon == null) folderEmptyIcon = EditorGUIUtility.IconContent("FolderEmpty").image as Texture2D; - if (folderEmptyIcon == null) folderEmptyIcon = folderIcon; // fallback - - defaultPrefabIcon = EditorGUIUtility.IconContent("Prefab Icon").image as Texture2D; - if (defaultPrefabIcon == null) defaultPrefabIcon = EditorGUIUtility.IconContent("PrefabNormal Icon").image as Texture2D; - - rootVisualElement.Clear(); - BuildUI(); - - LoadExpandedState(); - RefreshTree(); - - rootVisualElement.RegisterCallback(OnKeyDown); - - rootVisualElement.focusable = true; - rootVisualElement.RegisterCallback(evt => { rootVisualElement.Focus(); }); - } - - private void OnDisable() - { - SaveExpandedState(); - } - - private VisualElement previewContainer; - - private void BuildUI() - { - var root = rootVisualElement; - - var split = new UnityEngine.UIElements.TwoPaneSplitView(1, 50, TwoPaneSplitViewOrientation.Vertical); - split.style.flexGrow = 1; - - var topContainer = new VisualElement(); - topContainer.name = "TopContainer"; - topContainer.style.flexDirection = FlexDirection.Column; - topContainer.style.flexGrow = 1; - - var searchRow = new VisualElement(); - searchRow.style.flexDirection = FlexDirection.Row; - searchRow.style.alignItems = Align.Center; - searchRow.style.marginBottom = 4; - - searchField = new TextField(); - searchField.style.flexGrow = 1; - searchField.RegisterCallback>(evt => OnSearchChanged(evt.newValue)); - - var clearBtn = new Button(() => - { - searchField.value = string.Empty; - OnSearchChanged(string.Empty); - }) { text = "Clear" }; - var refreshBtn = new Button(() => RefreshTree()); - refreshBtn.style.backgroundImage = new StyleBackground(EditorGUIUtility.IconContent("d_Refresh").image as Texture2D); - refreshBtn.style.height = 20; - refreshBtn.style.width = 20; - refreshBtn.style.backgroundSize = new BackgroundSize(new Length(80, LengthUnit.Percent), new Length(80, LengthUnit.Percent)); - - var createFolder = new Button(() => { CreateFolderUnder(Def_UXGUIPath.UIResRootPath); }); - createFolder.style.backgroundImage = new StyleBackground(EditorGUIUtility.IconContent("Folder Icon").image as Texture2D); - createFolder.style.height = 20; - createFolder.style.width = 20; - createFolder.style.backgroundSize = new BackgroundSize(new Length(80, LengthUnit.Percent), new Length(80, LengthUnit.Percent)); - - - searchRow.Add(searchField); - searchRow.Add(refreshBtn); - searchRow.Add(createFolder); - - topContainer.Add(searchRow); - - treeScroll = new ScrollView(); - treeScroll.style.flexGrow = 1; - // treeScroll.verticalScrollerVisibility = ScrollerVisibility.Hidden; - treeScroll.horizontalScrollerVisibility = ScrollerVisibility.Hidden; - treeScroll.pickingMode = PickingMode.Position; - - treeScroll.RegisterCallback(evt => - { - OnDragEnterOrUpdate(evt.target as VisualElement); - evt.StopPropagation(); - }); - treeScroll.RegisterCallback(evt => - { - OnDragEnterOrUpdate(evt.target as VisualElement); - evt.StopPropagation(); - }); - treeScroll.RegisterCallback(evt => - { - OnDragPerform(evt); - evt.StopPropagation(); - }); - treeScroll.RegisterCallback(evt => - { - ClearDragTarget(); - evt.StopPropagation(); - }); - treeScroll.RegisterCallback(evt => { ClearDragTarget(); }); - treeScroll.AddManipulator(new ContextualMenuManipulator(evt => - { - var t = evt.target as VisualElement; - bool hasPathAncestor = false; - while (t != null) - { - if (t.userData is string) - { - hasPathAncestor = true; - break; - } - - t = t.parent as VisualElement; - } - - if (!hasPathAncestor) - { - evt.menu.AppendAction("新建文件夹", a => CreateFolderUnder(Def_UXGUIPath.UIResRootPath), a => DropdownMenuAction.Status.Normal); - evt.menu.AppendAction("新建组件", a => CreatePrefabUnder(Def_UXGUIPath.UIResRootPath), a => DropdownMenuAction.Status.Normal); - - if (selectedPaths.Count > 0) - { - evt.menu.AppendSeparator(); - evt.menu.AppendAction($"删除选中 ({selectedPaths.Count})", a => DeleteSelectionWithConfirm(), a => DropdownMenuAction.Status.Normal); - } - } - })); - topContainer.Add(treeScroll); - - previewContainer = new VisualElement(); - previewContainer.name = "PreviewContainer"; - previewContainer.style.flexGrow = 1; - previewContainer.style.minHeight = 180; - previewContainer.style.backgroundColor = new StyleColor(new Color(0.2f, 0.2f, 0.2f)); - previewLabel = new Label("Preview"); - previewLabel.name = "previewLabel"; - previewLabel.style.unityFontStyleAndWeight = FontStyle.Bold; - previewLabel.style.height = 24; - previewLabel.style.unityTextAlign = TextAnchor.MiddleCenter; - previewContainer.Add(previewLabel); - previewIcon = new Image(); - previewIcon.style.height = Length.Percent(100); - previewIcon.style.width = Length.Percent(100); - previewContainer.Add(previewIcon); - - split.Add(topContainer); - split.Add(previewContainer); - - root.Add(split); - - root.RegisterCallback(evt => - { - if (evt.button != 0) return; - var target = evt.target as VisualElement; - bool hasPathAncestor = false; - while (target != null) - { - if (target.userData is string) - { - hasPathAncestor = true; - break; - } - - target = target.parent as VisualElement; - } - - if (!hasPathAncestor) ClearSelection(); - }, TrickleDown.TrickleDown); - } - - private void OnSearchChanged(string newValue) - { - var trimmed = (newValue ?? string.Empty).Trim(); - bool wasEmpty = string.IsNullOrEmpty(searchText); - bool nowEmpty = string.IsNullOrEmpty(trimmed); - - if (wasEmpty && !nowEmpty) - { - expandedSnapshot = new HashSet(expandedPaths, StringComparer.InvariantCultureIgnoreCase); - } - - if (!wasEmpty && nowEmpty) - { - if (expandedSnapshot != null) - { - expandedPaths = new HashSet(expandedSnapshot, StringComparer.InvariantCultureIgnoreCase); - expandedSnapshot = null; - } - } - - searchText = trimmed; - RefreshTree(); - } - - private void RefreshTree() - { - treeScroll.Clear(); - selectedPaths.Clear(); - Selection.objects = new UnityEngine.Object[0]; - - - ClearDragTarget(); - - if (!AssetDatabase.IsValidFolder(Def_UXGUIPath.UIResRootPath)) - { - treeScroll.Add(new Label($"Invalid root path: {Def_UXGUIPath.UIResRootPath}. Please create it in Project window.")); - return; - } - - var subfolders = AssetDatabase.GetSubFolders(Def_UXGUIPath.UIResRootPath); - Array.Sort(subfolders, StringComparer.InvariantCultureIgnoreCase); - - foreach (var sf in subfolders) - { - if (string.IsNullOrEmpty(searchText) || FolderMatchesSearchRecursive(sf)) - { - var item = CreateFolderItem(sf, 0, inSearch: !string.IsNullOrEmpty(searchText)); - if (item != null) treeScroll.Add(item); - } - } - } - - private bool FolderMatchesSearchRecursive(string folderPath) - { - if (string.IsNullOrEmpty(searchText)) return true; - var key = searchText.ToLowerInvariant(); - - if (Path.GetFileName(folderPath).ToLowerInvariant().Contains(key)) return true; - - var prefabGuids = AssetDatabase.FindAssets("t:GameObject", new[] { folderPath }); - foreach (var g in prefabGuids) - { - var p = AssetDatabase.GUIDToAssetPath(g); - if (Path.GetFileName(p).ToLowerInvariant().Contains(key)) return true; - } - - - var subs = AssetDatabase.GetSubFolders(folderPath); - foreach (var s in subs) - { - if (FolderMatchesSearchRecursive(s)) return true; - } - - return false; - } - - private VisualElement CreateFolderItem(string folderAssetPath, int indentLevel, bool inSearch = false) - { - var container = new VisualElement(); - container.style.flexDirection = FlexDirection.Column; - container.style.alignSelf = Align.Stretch; - - var header = new VisualElement(); - header.style.flexDirection = FlexDirection.Row; - header.style.alignItems = Align.Center; - header.style.paddingLeft = 2 + indentLevel * 12; - header.style.paddingTop = 2; - header.style.paddingBottom = 2; - header.style.marginLeft = indentLevel > 0 ? -18 : 0; - header.pickingMode = PickingMode.Position; - - bool hasChildren = FolderHasAnyDirectChild(folderAssetPath); - bool isExpanded = expandedPaths.Contains(folderAssetPath); - - var chevron = new Label(hasChildren ? (isExpanded ? "▼" : "▶") : ""); - chevron.style.unityTextAlign = TextAnchor.MiddleLeft; - chevron.style.width = 12; - chevron.style.marginRight = 6; - chevron.style.fontSize = 8; - - var iconImg = new UnityEngine.UIElements.Image(); - iconImg.image = hasChildren ? folderIcon : folderEmptyIcon; - iconImg.style.width = 16; - iconImg.style.height = 16; - iconImg.style.marginRight = 6; - - var nameLabel = new Label(Path.GetFileName(folderAssetPath)); - nameLabel.style.unityTextAlign = TextAnchor.MiddleLeft; - - header.Add(chevron); - header.Add(iconImg); - header.Add(nameLabel); - - header.userData = folderAssetPath; - - var childContainer = new VisualElement(); - childContainer.style.flexDirection = FlexDirection.Column; - childContainer.style.marginLeft = 12; - - bool displayExpanded = isExpanded; - if (inSearch && !string.IsNullOrEmpty(searchText)) - { - if (FolderMatchesSearchRecursive(folderAssetPath)) - { - var selfMatches = Path.GetFileName(folderAssetPath).ToLowerInvariant().Contains(searchText.ToLowerInvariant()); - if (!selfMatches) displayExpanded = true; - } - else - { - return null; - } - } - - childContainer.style.display = displayExpanded ? DisplayStyle.Flex : DisplayStyle.None; - - if (displayExpanded && childContainer.childCount == 0) - { - PopulateFolderChildren(folderAssetPath, childContainer, indentLevel + 1, inSearch); - } - - - chevron.RegisterCallback(evt => - { - if (hasChildren && string.IsNullOrEmpty(searchText)) - { - bool willExpand = childContainer.style.display == DisplayStyle.None; - SetExpanded(chevron, childContainer, willExpand); - if (willExpand && childContainer.childCount == 0) - { - PopulateFolderChildren(folderAssetPath, childContainer, indentLevel + 1, inSearch); - } - - if (willExpand) expandedPaths.Add(folderAssetPath); - else expandedPaths.Remove(folderAssetPath); - SaveExpandedState(); - } - - HandleSelectionClick(folderAssetPath, evt); - evt.StopImmediatePropagation(); - }); - - header.RegisterCallback(evt => - { - if (evt.button != 0) return; - - HandleSelectionClick(folderAssetPath, evt); - - var mouseDownPos = evt.mousePosition; - EventCallback moveCb = null; - EventCallback upCb = null; - - List dragPaths = new List(); - if (selectedPaths.Contains(folderAssetPath)) dragPaths = selectedPaths.ToList(); - else dragPaths.Add(folderAssetPath); - - moveCb = (MouseMoveEvent me) => - { - if ((me.mousePosition - mouseDownPos).sqrMagnitude > 16f) - { - StartDragAssets(dragPaths); - header.UnregisterCallback(moveCb); - header.UnregisterCallback(upCb); - } - }; - - upCb = (MouseUpEvent mu) => - { - header.UnregisterCallback(moveCb); - header.UnregisterCallback(upCb); - }; - - header.RegisterCallback(moveCb); - header.RegisterCallback(upCb); - - evt.StopImmediatePropagation(); - }); - - header.AddManipulator(new ContextualMenuManipulator(evt => - { - evt.menu.ClearItems(); - if (selectedPaths.Count == 1 && selectedPaths.Contains(folderAssetPath)) - { - evt.menu.AppendAction("新建文件夹", a => CreateFolderUnder(folderAssetPath), a => DropdownMenuAction.Status.Normal); - evt.menu.AppendAction("新建组件", a => CreatePrefabUnder(folderAssetPath), a => DropdownMenuAction.Status.Normal); - evt.menu.AppendSeparator(); - evt.menu.AppendAction("删除文件夹", a => DeleteSingleFolderWithConfirm(folderAssetPath), a => DropdownMenuAction.Status.Normal); - } - else if (selectedPaths.Count > 0) - { - evt.menu.AppendAction($"删除选中 ({selectedPaths.Count})", a => DeleteSelectionWithConfirm(), a => DropdownMenuAction.Status.Normal); - } - else - { - evt.menu.AppendAction("新建文件夹", a => CreateFolderUnder(folderAssetPath), a => DropdownMenuAction.Status.Normal); - evt.menu.AppendAction("新建组件", a => CreatePrefabUnder(folderAssetPath), a => DropdownMenuAction.Status.Normal); - evt.menu.AppendSeparator(); - evt.menu.AppendAction("删除文件夹", a => DeleteSingleFolderWithConfirm(folderAssetPath), a => DropdownMenuAction.Status.Normal); - } - })); - - header.RegisterCallback(evt => - { - OnDragEnterOrUpdate(evt.target as VisualElement); - evt.StopPropagation(); - }); - header.RegisterCallback(evt => - { - OnDragEnterOrUpdate(evt.target as VisualElement); - evt.StopPropagation(); - }); - header.RegisterCallback(evt => - { - OnDragPerform(evt); - evt.StopPropagation(); - }); - header.RegisterCallback(evt => - { - ClearDragTarget(); - evt.StopPropagation(); - }); - - container.Add(header); - container.Add(childContainer); - - return container; - } - - private void PopulateFolderChildren(string folderAssetPath, VisualElement childContainer, int indentLevel, bool inSearch) - { - var subfolders = AssetDatabase.GetSubFolders(folderAssetPath); - Array.Sort(subfolders, StringComparer.InvariantCultureIgnoreCase); - foreach (var sf in subfolders) - { - if (string.IsNullOrEmpty(searchText) || FolderMatchesSearchRecursive(sf)) - { - var el = CreateFolderItem(sf, indentLevel, inSearch); - if (el != null) childContainer.Add(el); - } - } - - var prefabs = GetPrefabsInFolder(folderAssetPath); - foreach (var p in prefabs) - { - if (!string.IsNullOrEmpty(searchText)) - { - if (!Path.GetFileName(p).ToLowerInvariant().Contains(searchText.ToLowerInvariant())) continue; - } - - childContainer.Add(CreatePrefabRow(p, indentLevel)); - } - } - - private void SetExpanded(Label chevron, VisualElement childContainer, bool expand) - { - chevron.text = expand ? "▼" : "▶"; - childContainer.style.display = expand ? DisplayStyle.Flex : DisplayStyle.None; - } - - private bool FolderHasAnyDirectChild(string folderAssetPath) - { - var subs = AssetDatabase.GetSubFolders(folderAssetPath); - if (subs != null && subs.Length > 0) return true; - - var guids = AssetDatabase.FindAssets("", new[] { folderAssetPath }); - foreach (var g in guids) - { - var p = AssetDatabase.GUIDToAssetPath(g); - if (string.IsNullOrEmpty(p)) continue; - var parent = Path.GetDirectoryName(p).Replace("\\", "/"); - if (string.Equals(parent, folderAssetPath, StringComparison.InvariantCultureIgnoreCase)) - { - if (p.EndsWith(".meta", StringComparison.InvariantCultureIgnoreCase)) continue; - return true; - } - } - - return false; - } - - private VisualElement CreatePrefabRow(string prefabAssetPath, int indentLevel) - { - var row = new VisualElement(); - row.style.flexDirection = FlexDirection.Row; - row.style.alignItems = Align.Center; - row.style.paddingLeft = 2 + indentLevel * 12; - row.style.paddingTop = 2; - row.style.paddingBottom = 2; - row.pickingMode = PickingMode.Position; - - Texture2D icon = AssetDatabase.GetCachedIcon(prefabAssetPath) as Texture2D; - var mainObj = AssetDatabase.LoadMainAssetAtPath(prefabAssetPath); - if (icon == null && mainObj != null) - { - var objContent = EditorGUIUtility.ObjectContent(mainObj, mainObj.GetType()); - icon = objContent != null ? objContent.image as Texture2D : null; - } - - if (icon == null) icon = defaultPrefabIcon; - - var iconImg = new UnityEngine.UIElements.Image(); - iconImg.image = icon; - iconImg.style.width = 16; - iconImg.style.height = 16; - iconImg.style.marginRight = 6; - - var lbl = new Label(Path.GetFileNameWithoutExtension(prefabAssetPath)); - lbl.style.unityTextAlign = TextAnchor.MiddleLeft; - - row.Add(iconImg); - row.Add(lbl); - - row.userData = prefabAssetPath; - - row.RegisterCallback(evt => - { - if (evt.button != 0) return; - - if (evt.clickCount == 2) - { - if (mainObj != null) - { - PrefabStageUtils.SwitchStage(prefabAssetPath); - } - - evt.StopImmediatePropagation(); - return; - } - - HandleSelectionClick(prefabAssetPath, evt); - - var mouseDownPos = evt.mousePosition; - EventCallback moveCb = null; - EventCallback upCb = null; - - List dragPaths = new List(); - if (selectedPaths.Contains(prefabAssetPath)) dragPaths = selectedPaths.ToList(); - else dragPaths.Add(prefabAssetPath); - - moveCb = (MouseMoveEvent me) => - { - if ((me.mousePosition - mouseDownPos).sqrMagnitude > 16f) - { - StartDragAssets(dragPaths); - row.UnregisterCallback(moveCb); - row.UnregisterCallback(upCb); - } - }; - - upCb = (MouseUpEvent mu) => - { - row.UnregisterCallback(moveCb); - row.UnregisterCallback(upCb); - }; - - row.RegisterCallback(moveCb); - row.RegisterCallback(upCb); - - evt.StopImmediatePropagation(); - }); - - row.AddManipulator(new ContextualMenuManipulator(evt => - { - evt.menu.ClearItems(); - if (selectedPaths.Count > 0) - { - evt.menu.AppendAction($"删除选中 ({selectedPaths.Count})", a => DeleteSelectionWithConfirm(), a => DropdownMenuAction.Status.Normal); - } - else - { - evt.menu.AppendAction("删除预制体", a => DeleteSinglePrefabWithConfirm(prefabAssetPath), a => DropdownMenuAction.Status.Normal); - } - })); - - row.RegisterCallback(evt => - { - OnDragEnterOrUpdate(evt.target as VisualElement); - evt.StopPropagation(); - }); - row.RegisterCallback(evt => - { - OnDragEnterOrUpdate(evt.target as VisualElement); - evt.StopPropagation(); - }); - row.RegisterCallback(evt => - { - OnDragPerform(evt); - evt.StopPropagation(); - }); - row.RegisterCallback(evt => - { - ClearDragTarget(); - evt.StopPropagation(); - }); - - return row; - } - - private string[] GetPrefabsInFolder(string folderAssetPath) - { - var guids = AssetDatabase.FindAssets("t:GameObject", new[] { folderAssetPath }); - List result = new List(); - foreach (var g in guids) - { - var p = AssetDatabase.GUIDToAssetPath(g); - var parent = Path.GetDirectoryName(p).Replace("\\", "/"); - if (string.Equals(parent, folderAssetPath, StringComparison.InvariantCultureIgnoreCase)) - result.Add(p); - } - - result.Sort(StringComparer.InvariantCultureIgnoreCase); - return result.ToArray(); - } - - private void HandleSelectionClick(string assetPath, MouseDownEvent evt) - { - bool isCtrl = evt.ctrlKey || evt.commandKey; - - if (isCtrl) - { - if (selectedPaths.Contains(assetPath)) selectedPaths.Remove(assetPath); - else selectedPaths.Add(assetPath); - } - else - { - selectedPaths.Clear(); - selectedPaths.Add(assetPath); - } - - UpdateEditorSelection(); - UpdateVisualSelectionMarkers(); - } - - private void ClearSelection() - { - if (selectedPaths.Count == 0) return; - selectedPaths.Clear(); - UpdateEditorSelection(); - UpdateVisualSelectionMarkers(); - } - - private void UpdateEditorSelection() - { - var list = new List(); - foreach (var p in selectedPaths) - { - var o = AssetDatabase.LoadMainAssetAtPath(p); - if (o != null) list.Add(o); - } - - Selection.objects = list.ToArray(); - } - - private void UpdateVisualSelectionMarkers() - { - void Mark(VisualElement elem) - { - if (elem.userData is string path) - { - if (selectedPaths.Contains(path)) - elem.style.backgroundColor = new StyleColor(new Color(0.24f, 0.48f, 0.90f, 0.25f)); - else - elem.style.backgroundColor = StyleKeyword.Null; - } - - foreach (var c in elem.Children()) Mark(c); - } - - foreach (var child in treeScroll.Children()) Mark(child); - - UpdatePreviewTexture(); - } - - private void DeleteSelectionWithConfirm() - { - if (selectedPaths.Count == 0) return; - - string message = "Are you sure you want to delete the following assets?\n\n" + string.Join("\n", selectedPaths); - if (!EditorUtility.DisplayDialog("Delete Selected", message, "Delete", "Cancel")) return; - - var prefabList = new List(); - var folderList = new List(); - - foreach (var p in selectedPaths) - { - if (AssetDatabase.IsValidFolder(p)) folderList.Add(p); - else prefabList.Add(p); - } - - foreach (var p in prefabList) AssetDatabase.DeleteAsset(p); - - folderList.Sort((a, b) => b.Length.CompareTo(a.Length)); - foreach (var f in folderList) AssetDatabase.DeleteAsset(f); - - AssetDatabase.Refresh(); - selectedPaths.Clear(); - RefreshTree(); - } - - private void DeleteSinglePrefabWithConfirm(string prefabAssetPath) - { - if (!EditorUtility.DisplayDialog("Delete Prefab", $"Delete prefab:\n{prefabAssetPath}?", "Delete", "Cancel")) return; - AssetDatabase.DeleteAsset(prefabAssetPath); - AssetDatabase.Refresh(); - RefreshTree(); - } - - private void DeleteSingleFolderWithConfirm(string folderAssetPath) - { - if (!EditorUtility.DisplayDialog("Delete Folder", $"Delete folder and all contents:\n{folderAssetPath}?", "Delete", "Cancel")) return; - AssetDatabase.DeleteAsset(folderAssetPath); - AssetDatabase.Refresh(); - RefreshTree(); - } - - private void CreateFolderUnder(string parentAssetFolder) - { - if (!AssetDatabase.IsValidFolder(parentAssetFolder)) parentAssetFolder = Def_UXGUIPath.UIResRootPath; - - string baseName = "NewFolder"; - string newName = baseName; - int i = 1; - while (AssetDatabase.IsValidFolder(PathCombine(parentAssetFolder, newName))) - { - newName = baseName + " " + i; - i++; - } - - AssetDatabase.CreateFolder(parentAssetFolder, newName); - AssetDatabase.Refresh(); - RefreshTree(); - } - - private void CreatePrefabUnder(string parentAssetFolder) - { - if (!AssetDatabase.IsValidFolder(parentAssetFolder)) parentAssetFolder = Def_UXGUIPath.UIResRootPath; - UXComponentCreateWindowHelper.ShowWindow(parentAssetFolder, RefreshTree); - } - - private static string PathCombine(string a, string b) - { - if (a.EndsWith("/")) a = a.Substring(0, a.Length - 1); - return a + "/" + b; - } - - private string GetEditorPrefKey() - { - return EditorPrefKeyPrefix + Def_UXGUIPath.UIResRootPath; - } - - private void SaveExpandedState() - { - try - { - var list = new List(expandedPaths); - var joined = string.Join("|", list); - EditorPrefs.SetString(GetEditorPrefKey(), joined); - } - catch (Exception e) - { - Debug.LogWarning("Failed to save expanded state: " + e.Message); - } - } - - private void LoadExpandedState() - { - expandedPaths.Clear(); - try - { - var joined = EditorPrefs.GetString(GetEditorPrefKey(), ""); - if (!string.IsNullOrEmpty(joined)) - { - var parts = joined.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries); - foreach (var p in parts) expandedPaths.Add(p); - } - } - catch (Exception e) - { - Debug.LogWarning("Failed to load expanded state: " + e.Message); - } - } - - private void OnKeyDown(KeyDownEvent evt) - { - if (evt.keyCode == KeyCode.Delete || evt.keyCode == KeyCode.Backspace) - { - DeleteSelectionWithConfirm(); - evt.StopPropagation(); - return; - } - - if (evt.keyCode == KeyCode.F2) - { - if (selectedPaths.Count == 1) - { - var path = selectedPaths.First(); - StartRename(path); - evt.StopPropagation(); - } - } - } - - private Texture texture; - - private void UpdatePreviewTexture() - { - if (selectedPaths.Count == 0 || selectedPaths.Count > 1 || (selectedPaths.Count > 0 && !selectedPaths.First().Contains(".prefab"))) - { - this.texture = null; - previewIcon.image = null; - previewLabel.text = string.Empty; - return; - } - - string previewPath = selectedPaths.First(); - string guid = AssetDatabase.AssetPathToGUID(previewPath); - texture = Utils.GetAssetsPreviewTexture(guid, 1024); - previewLabel.text = Path.GetFileNameWithoutExtension(previewPath) + " (preview)"; - previewIcon.image = texture; - } - - - private void StartDragAssets(List assetPaths) - { - var objs = new List(); - foreach (var p in assetPaths) - { - var o = AssetDatabase.LoadMainAssetAtPath(p); - if (o != null) objs.Add(o); - } - - DragAndDrop.PrepareStartDrag(); - DragAndDrop.paths = assetPaths.ToArray(); - DragAndDrop.objectReferences = objs.ToArray(); - DragAndDrop.StartDrag("Move Assets"); - } - - /// - /// Called by DragEnter / DragUpdated - determine destination and update visuals. - /// - private void OnDragEnterOrUpdate(VisualElement evtTarget) - { - var destFolder = GetDropDestinationFromVisualTarget(evtTarget); - bool valid = IsDropValid(DragAndDrop.paths, destFolder); - - DragAndDrop.visualMode = valid ? DragAndDropVisualMode.Move : DragAndDropVisualMode.Rejected; - - UpdateDragTargetVisual(destFolder, valid); - } - - private void OnDragPerform(DragPerformEvent evt) - { - var destFolder = GetDropDestinationFromVisualTarget(evt.target as VisualElement); - bool valid = IsDropValid(DragAndDrop.paths, destFolder); - - if (valid && DragAndDrop.paths != null && DragAndDrop.paths.Length > 0) - { - MoveAssetsToFolder(DragAndDrop.paths, destFolder); - DragAndDrop.AcceptDrag(); - } - else - { - // do nothing (either invalid or all no-op) - // Optional: 显示提示 - // Debug.Log("Drop rejected or no-op."); - } - - ClearDragTarget(); - } - - - private string GetDropDestinationFromVisualTarget(VisualElement t) - { - while (t != null) - { - if (t.userData is string dataPath) - { - // if it's a folder path, return directly - if (AssetDatabase.IsValidFolder(dataPath)) - { - return dataPath; - } - else - { - // userData is an asset (prefab) -> return its parent folder - var parent = Path.GetDirectoryName(dataPath); - if (string.IsNullOrEmpty(parent)) return Def_UXGUIPath.UIResRootPath; - return parent.Replace("\\", "/"); - } - } - - t = t.parent as VisualElement; - } - - // no path ancestor -> drop to root - return Def_UXGUIPath.UIResRootPath; - } - - /// - /// Validate drop: prevent moving folder into itself or into its child. - /// Also reject if **all** source items would be no-ops (i.e. already in destFolder). - /// - private bool IsDropValid(string[] srcPaths, string destFolder) - { - if (srcPaths == null || srcPaths.Length == 0) return false; - if (!AssetDatabase.IsValidFolder(destFolder)) destFolder = Def_UXGUIPath.UIResRootPath; - - bool anyValidMove = false; - - foreach (var src in srcPaths) - { - if (string.IsNullOrEmpty(src)) continue; - - if (AssetDatabase.IsValidFolder(src)) - { - // cannot move folder into itself or its descendants - if (destFolder.Equals(src, StringComparison.InvariantCultureIgnoreCase)) continue; - if (destFolder.StartsWith(src + "/", StringComparison.InvariantCultureIgnoreCase)) continue; // into its child -> invalid - - // if the folder's parent already equals destFolder => that item would be no-op - var parent = Path.GetDirectoryName(src); - if (!string.IsNullOrEmpty(parent)) parent = parent.Replace("\\", "/"); - if (string.Equals(parent, destFolder, StringComparison.InvariantCultureIgnoreCase)) - { - // this src would be no-op, continue checking others - continue; - } - - // otherwise it's a valid move - anyValidMove = true; - } - else - { - // file/prefab: parent folder - var parent = Path.GetDirectoryName(src); - if (!string.IsNullOrEmpty(parent)) parent = parent.Replace("\\", "/"); - if (string.Equals(parent, destFolder, StringComparison.InvariantCultureIgnoreCase)) - { - // would be no-op - continue; - } - - anyValidMove = true; - } - } - - return anyValidMove; - } - - /// - /// Highlight target element and display drop hint in preview label. - /// - private void UpdateDragTargetVisual(string destFolder, bool valid) - { - // if same as current, only update visual text - if (!string.IsNullOrEmpty(currentDragTargetPath) && string.Equals(currentDragTargetPath, destFolder, StringComparison.InvariantCultureIgnoreCase)) - { - previewLabel.text = valid ? $"Drop target: {destFolder}" : $"Invalid drop: {destFolder}"; - return; - } - - // clear previous - ClearDragTargetHighlight(); - - currentDragTargetPath = destFolder; - previewLabel.text = valid ? $"Drop target: {destFolder}" : $"Invalid drop or no-op: {destFolder}"; - - var el = FindElementByPathInTree(destFolder); - if (el != null) - { - currentDragTargetElement = el; - el.style.backgroundColor = new StyleColor(new Color(0.1f, 0.8f, 0.1f, valid ? 0.2f : 0.12f)); - } - else - { - currentDragTargetElement = treeScroll; - treeScroll.style.backgroundColor = new StyleColor(new Color(0.1f, 0.8f, 0.1f, valid ? 0.08f : 0.05f)); - } - } - - private void ClearDragTarget() - { - currentDragTargetPath = null; - previewLabel.text = string.Empty; - ClearDragTargetHighlight(); - } - - private void ClearDragTargetHighlight() - { - if (currentDragTargetElement != null) - { - currentDragTargetElement.style.backgroundColor = StyleKeyword.Null; - currentDragTargetElement = null; - } - - treeScroll.style.backgroundColor = StyleKeyword.Null; - } - - /// - /// Recursively search treeScroll children for VisualElement whose userData equals path. - /// Returns that element (the header element we set userData on), or null. - /// - private VisualElement FindElementByPathInTree(string path) - { - if (string.IsNullOrEmpty(path)) return null; - - VisualElement found = null; - - void Search(VisualElement parent) - { - if (found != null) return; - foreach (var c in parent.Children()) - { - if (c.userData is string s && string.Equals(s, path, StringComparison.InvariantCultureIgnoreCase)) - { - found = c; - return; - } - - Search(c); - if (found != null) return; - } - } - - Search(treeScroll); - return found; - } - - private void MoveAssetsToFolder(string[] paths, string destFolder) - { - if (paths == null || paths.Length == 0) return; - if (!AssetDatabase.IsValidFolder(destFolder)) destFolder = Def_UXGUIPath.UIResRootPath; - - var newSelection = new List(); - - foreach (var src in paths) - { - if (string.IsNullOrEmpty(src)) continue; - - if (AssetDatabase.IsValidFolder(src)) - { - if (destFolder.Equals(src, StringComparison.InvariantCultureIgnoreCase)) continue; - if (destFolder.StartsWith(src + "/", StringComparison.InvariantCultureIgnoreCase)) continue; // cannot move into its own child - - // if parent already equals destFolder -> skip (no-op) - var parent = Path.GetDirectoryName(src); - if (!string.IsNullOrEmpty(parent)) parent = parent.Replace("\\", "/"); - if (string.Equals(parent, destFolder, StringComparison.InvariantCultureIgnoreCase)) continue; - } - else - { - // file/prefab: skip if already in destFolder - var parent = Path.GetDirectoryName(src); - if (!string.IsNullOrEmpty(parent)) parent = parent.Replace("\\", "/"); - if (string.Equals(parent, destFolder, StringComparison.InvariantCultureIgnoreCase)) continue; - } - - var fileName = Path.GetFileName(src); - var destPath = PathCombine(destFolder, fileName); - destPath = AssetDatabase.GenerateUniqueAssetPath(destPath); - - var err = AssetDatabase.MoveAsset(src, destPath); - if (!string.IsNullOrEmpty(err)) - { - Debug.LogWarning($"Failed to move {src} -> {destPath}: {err}"); - } - else - { - newSelection.Add(destPath); - } - } - - AssetDatabase.Refresh(); - - if (newSelection.Count > 0) - { - selectedPaths.Clear(); - foreach (var s in newSelection) selectedPaths.Add(s); - } - - RefreshTree(); - } - - // ----- Renaming support (F2) ----- - private void StartRename(string assetPath) - { - if (string.IsNullOrEmpty(assetPath)) return; - var el = FindElementByPathInTree(assetPath); - if (el == null) return; - - // find first Label child to replace - Label nameLabel = null; - foreach (var c in el.Children()) - { - if (c is Label l) - { - nameLabel = l; - break; - } - } - - if (nameLabel == null) return; - - // current base name and extension for files - string currentBase; - string extension = ""; - if (AssetDatabase.IsValidFolder(assetPath)) - { - currentBase = Path.GetFileName(assetPath); - } - else - { - extension = Path.GetExtension(assetPath); - currentBase = Path.GetFileNameWithoutExtension(assetPath); - } - - // create TextField and insert at same position - int index = 0; - foreach (var c in el.Children()) - { - if (c == nameLabel) break; - index++; - } - - var tf = new TextField(); - tf.value = currentBase; - tf.style.flexGrow = 1; - tf.RegisterCallback(ke => - { - if (ke.keyCode == KeyCode.Return || ke.keyCode == KeyCode.KeypadEnter) - { - CommitRename(assetPath, tf.value, extension); - ke.StopPropagation(); - } - else if (ke.keyCode == KeyCode.Escape) - { - CancelRename(); - ke.StopPropagation(); - } - }); - tf.RegisterCallback(fe => - { - // commit on lose focus - CommitRename(assetPath, tf.value, extension); - }); - - el.Insert(index, tf); - nameLabel.style.display = DisplayStyle.None; - - // focus and select text - tf.Focus(); - tf.SelectAll(); - } - - private void CancelRename() - { - // easiest: just refresh tree to restore UI - RefreshTree(); - } - - private void CommitRename(string originalPath, string newBaseName, string extension) - { - if (string.IsNullOrWhiteSpace(newBaseName)) - { - // cancel rename if empty - RefreshTree(); - return; - } - - string parent = Path.GetDirectoryName(originalPath); - if (!string.IsNullOrEmpty(parent)) parent = parent.Replace("\\", "/"); - - if (AssetDatabase.IsValidFolder(originalPath)) - { - // rename folder (newBaseName is folder name) - var err = AssetDatabase.RenameAsset(originalPath, newBaseName); - if (!string.IsNullOrEmpty(err)) - { - Debug.LogWarning("Rename failed: " + err); - } - else - { - AssetDatabase.Refresh(); - var newFolderPath = PathCombine(parent, newBaseName); - selectedPaths.Clear(); - selectedPaths.Add(newFolderPath); - RefreshTree(); - } - } - else - { - // file/prefab: append extension if missing - string ext = extension; - if (string.IsNullOrEmpty(ext)) ext = Path.GetExtension(originalPath); - var newName = newBaseName + ext; - var err = AssetDatabase.RenameAsset(originalPath, newName); - if (!string.IsNullOrEmpty(err)) - { - Debug.LogWarning("Rename failed: " + err); - } - else - { - AssetDatabase.Refresh(); - var newAssetPath = PathCombine(parent, newName); - selectedPaths.Clear(); - selectedPaths.Add(newAssetPath); - RefreshTree(); - } - } - } -} diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Project/UXProjectWindow.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Project/UXProjectWindow.cs.meta deleted file mode 100644 index 88e8245..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Project/UXProjectWindow.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: dc4810274e14449aa8d6e0f9ef1ad21a -timeCreated: 1763717108 \ No newline at end of file diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Resolution.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Resolution.meta deleted file mode 100644 index b4a9951..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Resolution.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6387ac1bfd9741d9a73c7b7247100b17 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Resolution/ResolutionController.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Resolution/ResolutionController.cs deleted file mode 100644 index 3ee52fb..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Resolution/ResolutionController.cs +++ /dev/null @@ -1,517 +0,0 @@ -#if UNITY_EDITOR -using System; -using System.Collections.Generic; -using System.Reflection; -using UnityEditor; -using UnityEngine; -using UnityEngine.UIElements; - -namespace AlicizaX.UXTool -{ - public static class ResolutionController - { - private const string EditorPrefsKey = "ResolutionViewInitialized"; - - private static bool hasInitialized - { - get { return EditorPrefs.GetBool(EditorPrefsKey, false); } - set { EditorPrefs.SetBool(EditorPrefsKey, value); } - } - - // per-SceneView UI instances (避免重复添加同一 VisualElement 到多个父节点) - private static readonly Dictionary roots = new Dictionary(); - private static readonly Dictionary containers = new Dictionary(); - private static readonly HashSet guiSubscribedIds = new HashSet(); - - // 反射相关 - private static MethodInfo gameViewSizePopupMethod; - private static PropertyInfo selectedSizeIndexProperty; - private static object gameViewInstance; - private static int selectedSizeIndex = -1; - private static object currentSizeGroupTypeObj; - - // 事件订阅标志 - private static bool subscribedToEditorLoadEvents = false; - private static bool subscribedToUpdate = false; - - // 布局参数(需要时可调整) - private const float GuiWidth = 160f; - private const float RootWidth = 180f; - private const float RootHeight = 22f; - private const float OffsetTop = -22f; - private const float OffsetRight = -20f; - - [InitializeOnLoadMethod] - public static void Initialize() - { - // 在初始化时恢复(确保干净状态),并注册自己的事件 - RestoreOriginalToolbar(); - UXDesinUtil.OnEnterDesignMode += RegisterEvents; - UXDesinUtil.OnExitDesignMode += UnRegisterEvents; - - if (UXDesinUtil.InDesign) - { - RegisterEvents(); - } - else - { - UnRegisterEvents(); - } - } - - private static void RegisterEvents() - { - if (subscribedToEditorLoadEvents) return; - EditorApplication.delayCall += OnEditorLoadDelay; - AssemblyReloadEvents.beforeAssemblyReload += OnBeforeAssemblyReload; - AssemblyReloadEvents.afterAssemblyReload += OnAfterAssemblyReload; - subscribedToEditorLoadEvents = true; - } - - private static void UnRegisterEvents() - { - if (!subscribedToEditorLoadEvents) return; - EditorApplication.delayCall -= OnEditorLoadDelay; - AssemblyReloadEvents.beforeAssemblyReload -= OnBeforeAssemblyReload; - AssemblyReloadEvents.afterAssemblyReload -= OnAfterAssemblyReload; - subscribedToEditorLoadEvents = false; - } - - private static void OnEditorLoadDelay() - { - // EnsureInitialized 是幂等的 - if (!hasInitialized) - { - EnsureInitialized(); - } - - // 仅在设计模式下启动 per-frame 更新 - if (UXDesinUtil.InDesign) - { - UpdateSceneViewUI(); // 立即尝试添加 - if (!subscribedToUpdate) - { - EditorApplication.update += UpdateSceneViewUI; - subscribedToUpdate = true; - } - } - else - { - // 不在设计模式则移除所有 UI - Cleanup(); - } - } - - private static void OnBeforeAssemblyReload() - { - Cleanup(); - } - - private static void OnAfterAssemblyReload() - { - // 延迟调用以等待编辑器恢复 - EditorApplication.delayCall += OnEditorLoadDelay; - } - - private static void EnsureInitialized() - { - if (hasInitialized) return; - - bool ok = InitWindowData(); - if (!ok) - { - hasInitialized = false; - return; - } - - // 不再在此创建单一 Root;Root 在 AddRootToSceneView 时为每个 SceneView 创建 - hasInitialized = true; - } - - private static bool InitWindowData() - { - try - { - // 尝试通过你项目已有的 Utils 获取主 GameView - try - { - // 如果项目提供了 Utils.GetMainPlayModeView(),保留调用(你原代码中提到) - var utilsType = Type.GetType("Utils"); - if (utilsType != null) - { - var method = utilsType.GetMethod("GetMainPlayModeView", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static); - if (method != null) - { - gameViewInstance = method.Invoke(null, null); - } - } - } - catch - { - // 忽略 utils 获取失败,继续使用反射查找 - } - - // 如果为空,尝试从类型查找已存在的 GameView 实例 - if (gameViewInstance == null) - { - var gvType = typeof(UnityEditor.Editor).Assembly.GetType("UnityEditor.GameView"); - if (gvType != null) - { - var arr = Resources.FindObjectsOfTypeAll(gvType); - if (arr != null && arr.Length > 0) - gameViewInstance = arr[0]; - } - } - - if (gameViewInstance == null) - return false; - - var editorGUILayoutType = Type.GetType("UnityEditor.EditorGUILayout,UnityEditor") - ?? typeof(UnityEditor.Editor).Assembly.GetType("UnityEditor.EditorGUILayout"); - if (editorGUILayoutType != null) - { - gameViewSizePopupMethod = editorGUILayoutType.GetMethod("GameViewSizePopup", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static); - } - - var gameViewType = typeof(UnityEditor.Editor).Assembly.GetType("UnityEditor.GameView"); - if (gameViewType == null) return false; - - selectedSizeIndexProperty = gameViewType.GetProperty("selectedSizeIndex", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); - if (selectedSizeIndexProperty == null) return false; - - var currentSizeGroupProp = gameViewType.GetProperty("currentSizeGroupType", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); - if (currentSizeGroupProp != null) - { - var getMethod = currentSizeGroupProp.GetGetMethod(nonPublic: true); - if (getMethod != null) - { - if (getMethod.IsStatic) - currentSizeGroupTypeObj = currentSizeGroupProp.GetValue(null); - else - currentSizeGroupTypeObj = currentSizeGroupProp.GetValue(gameViewInstance); - } - } - - // 初始索引读取 - selectedSizeIndex = (int)selectedSizeIndexProperty.GetValue(gameViewInstance); - - return true; - } - catch (Exception e) - { - Debug.LogWarning("[ResolutionController] InitWindowData failed: " + e); - return false; - } - } - - private static void UpdateSceneViewUI() - { - try - { - // 仅当 UXDesinUtil 在设计模式时显示 - if (!UXDesinUtil.InDesign) - { - if (hasInitialized) - RestoreOriginalToolbar(); - return; - } - - EnsureInitialized(); - - if (!hasInitialized) - return; - - // 为所有可用 SceneView 保证 UI(多 SceneView 情况下,每个 SceneView 一个实例,避免重复添加同一个 VE) - foreach (SceneView sceneView in SceneView.sceneViews) - { - if (sceneView == null) continue; - AddRootToSceneView(sceneView); - } - - // 触发 repaint - var last = SceneView.lastActiveSceneView; - if (last != null) last.Repaint(); - } - catch (Exception e) - { - Debug.LogWarning("[ResolutionController] UpdateSceneViewUI exception: " + e); - } - } - - /// - /// 为指定的 SceneView 创建并添加 Root + IMGUIContainer(如果尚未添加)。 - /// 使用 sceneView.GetInstanceID() 作为 key,避免重复创建/添加。 - /// - private static void AddRootToSceneView(SceneView sceneView) - { - if (sceneView == null) return; - - int id = sceneView.GetInstanceID(); - - try - { - var rootVisual = sceneView.rootVisualElement; - if (rootVisual == null) return; - - // 如果已经为该 SceneView 创建过 root,则确保它还在该 SceneView 下 - if (roots.ContainsKey(id)) - { - var existingRoot = roots[id]; - if (existingRoot == null || existingRoot.parent == null) - { - // 如果被移除则重加 - if (existingRoot != null) - { - rootVisual.Add(existingRoot); - } - else - { - // 如果被 GC 或置 null,则删掉记录并重新创建 - roots.Remove(id); - if (containers.ContainsKey(id)) - containers.Remove(id); - } - } - return; - } - - // 若 rootVisual 中已有同名元素(来自旧版本或其他插件残留),不要重复添加 - const string rootName = "ResolutionController_Root"; - var found = rootVisual.Q(rootName); - if (found != null) - { - // 已经存在一个元素(可能来自之前的装载),把它当作该 SceneView 的 root - roots[id] = found; - // 如果需要,确保里面有 IMGUIContainer(若无,创建一个) - var gui = found.Q("IMGUIContainer_ResolutionController"); - if (gui == null) - { - var newGui = CreateAndAttachIMGUI(found, id); - containers[id] = newGui; - SubscribeGuiHandlerIfNeeded(id, newGui); - } - return; - } - - // 创建新的 root + imGUIContainer 实例并加入到 sceneView.rootVisualElement - var newRoot = new VisualElement(); - newRoot.name = rootName; - newRoot.style.position = Position.Absolute; - newRoot.style.top = OffsetTop; - newRoot.style.right = OffsetRight; - newRoot.style.width = RootWidth; - newRoot.style.height = RootHeight; - newRoot.style.overflow = Overflow.Visible; - - var newGuiContainer = new IMGUIContainer(); - newGuiContainer.name = "IMGUIContainer_ResolutionController"; - newGuiContainer.style.width = RootWidth; - newGuiContainer.style.height = RootHeight; - - newRoot.Add(newGuiContainer); - rootVisual.Add(newRoot); - - roots[id] = newRoot; - containers[id] = newGuiContainer; - - SubscribeGuiHandlerIfNeeded(id, newGuiContainer); - } - catch (Exception e) - { - Debug.LogWarning("[ResolutionController] AddRootToSceneView failed: " + e); - } - } - - private static IMGUIContainer CreateAndAttachIMGUI(VisualElement root, int id) - { - var gui = new IMGUIContainer(); - gui.name = "IMGUIContainer_ResolutionController"; - gui.style.width = RootWidth; - gui.style.height = RootHeight; - root.Add(gui); - return gui; - } - - private static void SubscribeGuiHandlerIfNeeded(int id, IMGUIContainer gui) - { - if (gui == null) return; - if (guiSubscribedIds.Contains(id)) return; - gui.onGUIHandler += () => OnGUIHandlerForId(id); - guiSubscribedIds.Add(id); - } - - private static void UnsubscribeGuiHandlerIfNeeded(int id) - { - if (!guiSubscribedIds.Contains(id)) return; - if (containers.TryGetValue(id, out var gui) && gui != null) - { - // 无法直接移除匿名 lambda,因此改为移除所有并重新创建时控制(但为保险尝试移除单个引用) - try - { - gui.onGUIHandler -= () => OnGUIHandlerForId(id); - } - catch { } - } - guiSubscribedIds.Remove(id); - } - - private static void OnGUIHandlerForId(int id) - { - try - { - GUILayoutOption[] ops = new GUILayoutOption[] { GUILayout.Width(GuiWidth) }; - - if (gameViewSizePopupMethod != null) - { - try - { - // 兼容不同签名 - gameViewSizePopupMethod.Invoke(null, new object[] { currentSizeGroupTypeObj, selectedSizeIndex, gameViewInstance, EditorStyles.toolbarPopup, ops }); - } - catch (TargetParameterCountException) - { - try - { - gameViewSizePopupMethod.Invoke(null, new object[] { selectedSizeIndex, gameViewInstance, EditorStyles.toolbarPopup, ops }); - } - catch - { - // 忽略 - } - } - catch (Exception) - { - // 忽略单次调用错误 - } - } - - OnGUI(); - } - catch (Exception e) - { - Debug.LogWarning("[ResolutionController] OnGUIHandler exception: " + e); - } - } - - private static void OnGUI() - { - try - { - if (gameViewInstance == null || selectedSizeIndexProperty == null) return; - - int nowIndex = (int)selectedSizeIndexProperty.GetValue(gameViewInstance); - if (nowIndex != selectedSizeIndex) - { - selectedSizeIndex = nowIndex; - // 如果需要可在此触发回调或通知其他系统 - } - } - catch (Exception e) - { - Debug.LogWarning("[ResolutionController] OnGUI exception: " + e); - } - } - - private static void RestoreOriginalToolbar() - { - try - { - // 取消每个 sceneView 的 gui handler 并移除 roots - foreach (var kv in new List(roots.Keys)) - { - int id = kv; - if (containers.TryGetValue(id, out var gui) && gui != null) - { - try - { - // 尝试移除我们的 handler(如果用了 lambda,直接移除可能无效,但我们会移除整个元素) - gui.onGUIHandler = null; - } - catch { } - } - - if (roots.TryGetValue(id, out var root) && root != null) - { - try - { - if (root.parent != null) - root.parent.Remove(root); - } - catch { } - } - } - } - catch (Exception e) - { - Debug.LogWarning("[ResolutionController] RestoreOriginalToolbar failed: " + e); - } - finally - { - // 保持状态清理 - hasInitialized = false; - guiSubscribedIds.Clear(); - containers.Clear(); - roots.Clear(); - } - } - - private static void Cleanup() - { - try - { - if (subscribedToUpdate) - { - EditorApplication.update -= UpdateSceneViewUI; - subscribedToUpdate = false; - } - - // 移除所有 gui handlers 并删除 UI - foreach (var id in new List(containers.Keys)) - { - try - { - var gui = containers[id]; - if (gui != null) - { - try - { - gui.onGUIHandler = null; - } - catch { } - } - } - catch { } - } - - foreach (var kv in new List(roots.Keys)) - { - var root = roots[kv]; - try - { - if (root != null && root.parent != null) - { - root.parent.Remove(root); - } - } - catch { } - } - - guiSubscribedIds.Clear(); - containers.Clear(); - roots.Clear(); - - gameViewSizePopupMethod = null; - selectedSizeIndexProperty = null; - gameViewInstance = null; - currentSizeGroupTypeObj = null; - - hasInitialized = false; - } - catch (Exception e) - { - Debug.LogWarning("[ResolutionController] Cleanup exception: " + e); - } - } - } -} -#endif diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Resolution/ResolutionController.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Resolution/ResolutionController.cs.meta deleted file mode 100644 index f9d937b..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/Resolution/ResolutionController.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 90b75fdc99d74744aa927bf3c3fe26c5 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay.meta deleted file mode 100644 index fba1e16..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: eac5a1940a9ac9747a8304c5021714b2 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay/ToolBarExtension.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay/ToolBarExtension.cs deleted file mode 100644 index 85acf20..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay/ToolBarExtension.cs +++ /dev/null @@ -1,140 +0,0 @@ -using System.Linq; -using AlicizaX.UXTool; -using AlicizaX.AnimationFlow.Runtime; -using AlicizaX.Localization.Editor; -using AlicizaX.Localization.Runtime; -using AlicizaX.UI.Editor; -using Paps.UnityToolbarExtenderUIToolkit; -using UnityEditor; -using UnityEngine; -using UnityEngine.UIElements; - -namespace AlicizaX.UXTool -{ - [MainToolbarElement("ToolBarUXAnimation", alignment: ToolbarAlign.Right, order: 1)] - public class ToolBarUXAnimation : IMGUIContainer - { - private GUIContent btnAnimation; - - public void InitializeElement() - { - btnAnimation = EditorGUIUtility.TrTextContentWithIcon("动画编辑", "", "AnimationClip Icon"); - UXDesinUtil.OnEnterDesignMode += OnEntryDesignMode; - UXDesinUtil.OnExitDesignMode += OnExitDesignMode; - if (UXDesinUtil.InDesign) - OnEntryDesignMode(); - else - { - OnExitDesignMode(); - } - } - - private void OnExitDesignMode() - { - onGUIHandler = null; - } - - private void OnEntryDesignMode() - { - onGUIHandler = MyGUIMethod; - } - - private void MyGUIMethod() - { - GUILayout.BeginHorizontal(); - if (GUILayout.Button(btnAnimation, EditorStyles.toolbarButton, GUILayout.MaxWidth(120))) - { - var gameObject = PrefabStageUtils.StageRoot.gameObject; - if (!gameObject.TryGetComponent(typeof(AnimationFlow.Runtime.AnimationFlow), out Component flow)) - { - gameObject.AddComponent(typeof(AnimationFlow.Runtime.AnimationFlow)); - } - Selection.activeGameObject = PrefabStageUtils.StageRoot.gameObject; - UnityEditor.EditorApplication.ExecuteMenuItem("Window/AnimationGraph"); - } - - GUILayout.Space(5); - GUILayout.EndHorizontal(); - } - } -} - -[MainToolbarElement("ToolBarExportUIScriptCode", alignment: ToolbarAlign.Right, order: 1)] -public class ToolBarExportUIScriptCode : IMGUIContainer -{ - private GUIContent exportBtn; - - public void InitializeElement() - { - exportBtn = EditorGUIUtility.TrTextContentWithIcon("导出代码", "", "cs Script Icon"); - UXDesinUtil.OnEnterDesignMode += OnEntryDesignMode; - UXDesinUtil.OnExitDesignMode += OnExitDesignMode; - if (UXDesinUtil.InDesign) - OnEntryDesignMode(); - else - { - OnExitDesignMode(); - } - } - - private void OnExitDesignMode() - { - onGUIHandler = null; - } - - private void OnEntryDesignMode() - { - onGUIHandler = MyGUIMethod; - } - - private void MyGUIMethod() - { - GUILayout.BeginHorizontal(); - if (GUILayout.Button(exportBtn, EditorStyles.toolbarButton, GUILayout.MaxWidth(120))) - { - Selection.activeGameObject = PrefabStageUtils.StageRoot.gameObject; - UIGenerateQuick.UIGenerateBind(); - } - - GUILayout.Space(5); - GUILayout.EndHorizontal(); - } -} - - -[MainToolbarElement(id: "ToolBarExitDesign", alignment: ToolbarAlign.Right, order: 3)] -public class ToolBarExitDesign : IMGUIContainer -{ - private GUIContent entryBtnContent; - - - public void InitializeElement() - { - entryBtnContent = EditorGUIUtility.TrTextContentWithIcon("Exit Design", "", EditorGUIUtility.IconContent("d_BuildSettings.Standalone").image); - onGUIHandler = MyGUIMethod; - } - - private void MyGUIMethod() - { - GUILayout.BeginHorizontal(); - - if (UXDesinUtil.InDesign) - { - entryBtnContent.text = "退出UI编辑器"; - if (GUILayout.Button(entryBtnContent, EditorStyles.toolbarButton, GUILayout.MaxWidth(125))) - { - UXDesinUtil.ExitUIDesinger(); - } - } - else - { - entryBtnContent.text = "进入UI编辑器"; - if (GUILayout.Button(entryBtnContent, EditorStyles.toolbarButton, GUILayout.MaxWidth(125))) - { - UXDesinUtil.OpenUIDesinger(); - } - } - - GUILayout.EndHorizontal(); - } -} diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay/ToolBarExtension.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay/ToolBarExtension.cs.meta deleted file mode 100644 index 8b58c25..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay/ToolBarExtension.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 009e07b906b2e7a4297b6a5b04a38ad4 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay/ToolbarOverlay.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay/ToolbarOverlay.cs deleted file mode 100644 index 831c9cd..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay/ToolbarOverlay.cs +++ /dev/null @@ -1,229 +0,0 @@ -using UnityEditor; -using UnityEditor.Overlays; -using UnityEditor.Toolbars; -using UnityEngine; - -namespace AlicizaX.UXTool -{ - [Overlay(typeof(SceneView), "Align")] - public class AlignToolbarOverlay : ToolbarOverlay - { - AlignToolbarOverlay() : base( - AlignTopLeft.id, - AlignTopCenter.id, - AlignTopRight.id, - AlignBottomLeft.id, - AlignBottomCenter.id, - AlignBottomRight.id, - AlignHorizontalLeft.id, - AlignHorizontalCenter.id, - AlignHorizontalRight.id - ) - { - } - - // 12 个按钮的初始化 - [EditorToolbarElement(AlignTopLeft.id, typeof(SceneView))] - class AlignTopLeft : EditorToolbarButton - { - public const string id = "AlignToolbarOverlay/AlignTopLeft"; - - public AlignTopLeft() - { - text = ""; - icon = EditorGUIUtility.IconContent("d_align_vertically_top_active").image as Texture2D; // 使用带 _active 后缀的图标 - tooltip = "顶部左对齐"; - clicked += () => OnAlign(AlignType.TopLeft); - } - } - - [EditorToolbarElement(AlignTopCenter.id, typeof(SceneView))] - class AlignTopCenter : EditorToolbarButton - { - public const string id = "AlignToolbarOverlay/AlignTopCenter"; - - public AlignTopCenter() - { - text = ""; - icon = EditorGUIUtility.IconContent("d_align_vertically_center_active").image as Texture2D; // 使用带 _active 后缀的图标 - tooltip = "顶部居中对齐"; - clicked += () => OnAlign(AlignType.TopCenter); - } - } - - [EditorToolbarElement(AlignTopRight.id, typeof(SceneView))] - class AlignTopRight : EditorToolbarButton - { - public const string id = "AlignToolbarOverlay/AlignTopRight"; - - public AlignTopRight() - { - text = ""; - icon = EditorGUIUtility.IconContent("d_align_vertically_top_active").image as Texture2D; // 使用带 _active 后缀的图标 - tooltip = "顶部右对齐"; - clicked += () => OnAlign(AlignType.TopRight); - } - } - - - [EditorToolbarElement(AlignBottomLeft.id, typeof(SceneView))] - class AlignBottomLeft : EditorToolbarButton - { - public const string id = "AlignToolbarOverlay/AlignBottomLeft"; - - public AlignBottomLeft() - { - text = ""; - icon = EditorGUIUtility.IconContent("d_align_vertically_bottom_active").image as Texture2D; // 使用带 _active 后缀的图标 - tooltip = "左下对齐"; - clicked += () => OnAlign(AlignType.BottomLeft); - } - } - - [EditorToolbarElement(AlignBottomCenter.id, typeof(SceneView))] - class AlignBottomCenter : EditorToolbarButton - { - public const string id = "AlignToolbarOverlay/AlignBottomCenter"; - - public AlignBottomCenter() - { - text = ""; - icon = EditorGUIUtility.IconContent("d_align_vertically_center_active").image as Texture2D; // 使用带 _active 后缀的图标 - tooltip = "底部居中对齐"; - clicked += () => OnAlign(AlignType.BottomCenter); - } - } - - [EditorToolbarElement(AlignBottomRight.id, typeof(SceneView))] - class AlignBottomRight : EditorToolbarButton - { - public const string id = "AlignToolbarOverlay/AlignBottomRight"; - - public AlignBottomRight() - { - text = ""; - icon = EditorGUIUtility.IconContent("d_align_vertically_bottom_active").image as Texture2D; // 使用带 _active 后缀的图标 - tooltip = "右下对齐"; - clicked += () => OnAlign(AlignType.BottomRight); - } - } - - [EditorToolbarElement(AlignHorizontalLeft.id, typeof(SceneView))] - class AlignHorizontalLeft : EditorToolbarButton - { - public const string id = "AlignToolbarOverlay/AlignHorizontalLeft"; - - public AlignHorizontalLeft() - { - text = ""; - icon = EditorGUIUtility.IconContent("d_align_horizontally_left_active").image as Texture2D; // 使用带 _active 后缀的图标 - tooltip = "水平左对齐"; - clicked += () => OnAlign(AlignType.HorizontalLeft); - } - } - - [EditorToolbarElement(AlignHorizontalCenter.id, typeof(SceneView))] - class AlignHorizontalCenter : EditorToolbarButton - { - public const string id = "AlignToolbarOverlay/AlignHorizontalCenter"; - - public AlignHorizontalCenter() - { - text = ""; - icon = EditorGUIUtility.IconContent("d_align_horizontally_center_active").image as Texture2D; // 使用带 _active 后缀的图标 - tooltip = "水平居中对齐"; - clicked += () => OnAlign(AlignType.HorizontalCenter); - } - } - - [EditorToolbarElement(AlignHorizontalRight.id, typeof(SceneView))] - class AlignHorizontalRight : EditorToolbarButton - { - public const string id = "AlignToolbarOverlay/AlignHorizontalRight"; - - public AlignHorizontalRight() - { - text = ""; - icon = EditorGUIUtility.IconContent("d_align_horizontally_right_active").image as Texture2D; // 使用带 _active 后缀的图标 - tooltip = "水平右对齐"; - clicked += () => OnAlign(AlignType.HorizontalRight); - } - } - - // 枚举定义所有对齐类型 - public enum AlignType - { - TopLeft, - TopCenter, - TopRight, - BottomLeft, - BottomCenter, - BottomRight, - HorizontalLeft, - HorizontalCenter, - HorizontalRight - } - - // 对齐方法 - private static void OnAlign(AlignType alignType) - { - GameObject selectedObject = Selection.activeGameObject; - - if (selectedObject == null) return; - - RectTransform rectTransform = selectedObject.GetComponent(); - if (rectTransform == null) return; - Undo.RecordObject(rectTransform, alignType.ToString()); - // 简化对齐逻辑,设置锚点和位置 - switch (alignType) - { - case AlignType.TopLeft: - rectTransform.anchorMin = new Vector2(0, 1); - rectTransform.anchorMax = new Vector2(0, 1); - rectTransform.anchoredPosition = Vector2.zero; - break; - case AlignType.TopCenter: - rectTransform.anchorMin = new Vector2(0.5f, 1); - rectTransform.anchorMax = new Vector2(0.5f, 1); - rectTransform.anchoredPosition = Vector2.zero; - break; - case AlignType.TopRight: - rectTransform.anchorMin = new Vector2(1, 1); - rectTransform.anchorMax = new Vector2(1, 1); - rectTransform.anchoredPosition = Vector2.zero; - break; - case AlignType.BottomLeft: - rectTransform.anchorMin = new Vector2(0, 0); - rectTransform.anchorMax = new Vector2(0, 0); - rectTransform.anchoredPosition = Vector2.zero; - break; - case AlignType.BottomCenter: - rectTransform.anchorMin = new Vector2(0.5f, 0); - rectTransform.anchorMax = new Vector2(0.5f, 0); - rectTransform.anchoredPosition = Vector2.zero; - break; - case AlignType.BottomRight: - rectTransform.anchorMin = new Vector2(1, 0); - rectTransform.anchorMax = new Vector2(1, 0); - rectTransform.anchoredPosition = Vector2.zero; - break; - case AlignType.HorizontalLeft: - rectTransform.anchorMin = new Vector2(0, 0.5f); - rectTransform.anchorMax = new Vector2(0, 0.5f); - rectTransform.anchoredPosition = Vector2.zero; - break; - case AlignType.HorizontalCenter: - rectTransform.anchorMin = new Vector2(0.5f, 0.5f); - rectTransform.anchorMax = new Vector2(0.5f, 0.5f); - rectTransform.anchoredPosition = Vector2.zero; - break; - case AlignType.HorizontalRight: - rectTransform.anchorMin = new Vector2(1, 0.5f); - rectTransform.anchorMax = new Vector2(1, 0.5f); - rectTransform.anchoredPosition = Vector2.zero; - break; - } - } - } - -} \ No newline at end of file diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay/ToolbarOverlay.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay/ToolbarOverlay.cs.meta deleted file mode 100644 index 5e8f4dc..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/ToolbarOverlay/ToolbarOverlay.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 1ff49d8ffdac41d47aab4fbbcffb8f53 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow.meta deleted file mode 100644 index efe1857..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 50354e13d8f6ebf46bf3250c156fe5b7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow/UXComponentCreateVisualAsset.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow/UXComponentCreateVisualAsset.cs deleted file mode 100644 index 29871e2..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow/UXComponentCreateVisualAsset.cs +++ /dev/null @@ -1,351 +0,0 @@ -using System; -using System.IO; -using System.Linq; -using UnityEditor; -using UnityEngine; -using UnityEngine.UI; -using UnityEngine.UIElements; -using Button = UnityEngine.UIElements.Button; -using Object = UnityEngine.Object; - -namespace AlicizaX.UXTool -{ - public enum UXComponentType - { - Window, - Widget, - Base - } - - - public partial class UXCreateWindowVisualAsset : VisualElement - { - // 这是你原先的基础 prefab(作为模板) - private const string PrefabPath = "Packages/com.alicizax.uxtool/Editor/UXGUI/Res/Component/View.prefab"; - - private readonly PopupField createTypePopupField; - private readonly Button btnConfirm; - private readonly TextField resTextField; - private readonly Vector2IntField resVectorField; - private readonly Label pathLabel; - - private Action _createCallBack; - private string _folderPath; - - public void SetCallBack(string path, Action callback) - { - _createCallBack = callback; - _folderPath = path; - UpdatePathLabel(); - } - - public UXCreateWindowVisualAsset() - { - style.flexGrow = 1; - style.flexShrink = 0; - style.height = Length.Percent(100); - style.width = Length.Percent(100); - - UXComponentType[] createTypes = new[] - { - UXComponentType.Window, - UXComponentType.Widget, - UXComponentType.Base - }; - - // 组件名称 - resTextField = new TextField(); - resTextField.label = "组件名称"; - resTextField.style.unityFontStyleAndWeight = FontStyle.Bold; - resTextField.style.paddingBottom = 5; - resTextField.RegisterValueChangedCallback(evt => UpdatePathLabel()); - - // 类型下拉 - createTypePopupField = new PopupField(); - createTypePopupField.name = "createTypePopupField"; - createTypePopupField.label = "组件类型"; - createTypePopupField.choices = createTypes.ToList(); - createTypePopupField.style.unityFontStyleAndWeight = FontStyle.Bold; - createTypePopupField.index = 0; - createTypePopupField.style.paddingBottom = 5; - createTypePopupField.RegisterValueChangedCallback(evt => - { - UpdateResolutionVisibility(evt.newValue); - UpdatePathLabel(); - }); - - resVectorField = new Vector2IntField(); - resVectorField.label = "组件大小"; - resVectorField.value = new Vector2Int(800, 600); - resVectorField.style.paddingBottom = 5; - resVectorField.style.unityFontStyleAndWeight = FontStyle.Bold; - resVectorField.RegisterValueChangedCallback(evt => - { - // 强制为非负值(如果需要可以改为 >=1) - var v = evt.newValue; - v.x = Mathf.Max(0, v.x); - v.y = Mathf.Max(0, v.y); - // 如果用户输入负数,修正回去并刷新字段 - if (v != evt.newValue) - resVectorField.SetValueWithoutNotify(v); - - UpdatePathLabel(); - }); - - // 路径显示 - pathLabel = new Label(); - pathLabel.style.unityFontStyleAndWeight = FontStyle.Bold; - pathLabel.style.marginTop = 6; - pathLabel.text = GetFullPrefabPathText(); - - // 创建按钮 - btnConfirm = new Button(OnBtnConfirmClick); - btnConfirm.style.height = new Length(30, LengthUnit.Pixel); - btnConfirm.text = "创建"; - btnConfirm.style.unityFontStyleAndWeight = FontStyle.Bold; - - // Add in desired order - Add(resTextField); - Add(createTypePopupField); - Add(resVectorField); - Add(pathLabel); - Add(btnConfirm); - - UpdateResolutionVisibility(createTypePopupField.value); - } - - private void UpdateResolutionVisibility(UXComponentType type) - { - if (type == UXComponentType.Window) - { - resVectorField.style.display = DisplayStyle.None; - } - else - { - resVectorField.style.display = DisplayStyle.Flex; - } - } - - private string GetFullPrefabPathText() - { - var name = resTextField != null ? resTextField.value?.Trim() : ""; - var folder = _folderPath ?? ""; - if (string.IsNullOrEmpty(folder)) - return "<路径未设置>"; - if (string.IsNullOrEmpty(name)) - return folder; - // ensure folder uses forward slashes - var f = folder.Replace("\\", "/").TrimEnd('/'); - return $"{f}/{name}.prefab"; - } - - private void UpdatePathLabel() - { - if (pathLabel != null) - pathLabel.text = GetFullPrefabPathText(); - } - - private void OnBtnConfirmClick() - { - // 基本校验 - string componentName = resTextField.value?.Trim(); - if (string.IsNullOrEmpty(componentName)) - { - EditorUtility.DisplayDialog("错误", "请输入组件名称。", "确定"); - return; - } - - UXComponentType type = createTypePopupField.value; - - Vector2Int res = resVectorField.value; - int width = res.x; - int height = res.y; - - if (type != UXComponentType.Window) - { - if (width <= 0 || height <= 0) - { - EditorUtility.DisplayDialog("错误", "请设置有效的分辨率(宽度和高度必须为正整数)。", "确定"); - return; - } - } - - if (string.IsNullOrEmpty(_folderPath)) - { - EditorUtility.DisplayDialog("错误", "_folderPath 未设置,请先设置保存目录。", "确定"); - return; - } - - // 确保文件夹存在(基于 AssetDatabase) - string folder = _folderPath.Replace("\\", "/").TrimEnd('/'); - EnsureFolderExists(folder); - - // 先确认模板 prefab 可以加载 - var templatePrefab = AssetDatabase.LoadAssetAtPath(PrefabPath); - if (templatePrefab == null) - { - EditorUtility.DisplayDialog("错误", $"无法加载基础 prefab:{PrefabPath}", "确定"); - return; - } - - // 使用 PrefabUtility.LoadPrefabContents 在 prefab asset 上直接编辑(不会在场景产生临时实例) - GameObject prefabContentsRoot = null; - try - { - prefabContentsRoot = PrefabUtility.LoadPrefabContents(PrefabPath); - if (prefabContentsRoot == null) - { - EditorUtility.DisplayDialog("错误", $"无法通过 LoadPrefabContents 加载 prefab: {PrefabPath}", "确定"); - return; - } - - // 修改 prefabContentsRoot(模板的根) - prefabContentsRoot.name = componentName; - - // 找到根或第一个 RectTransform(通常模板根是 RectTransform) - RectTransform rect = prefabContentsRoot.GetComponent(); - if (rect == null) - { - rect = prefabContentsRoot.GetComponentInChildren(); - } - - if (rect == null) - { - EditorUtility.DisplayDialog("错误", "Prefab 模板中未找到 RectTransform,无法设置尺寸。", "确定"); - return; - } - - // 根据类型调整 - if (type == UXComponentType.Window) - { - // 全屏拉伸 - rect.localScale = Vector3.one; - rect.localPosition = Vector3.zero; - rect.pivot = new Vector2(0.5f, 0.5f); - rect.anchorMin = Vector2.zero; - rect.anchorMax = Vector2.one; - rect.offsetMin = Vector2.zero; - rect.offsetMax = Vector2.zero; - rect.anchoredPosition = Vector2.zero; - - // 如果存在 Canvas,确保 RenderMode 为 ScreenSpaceOverlay 并且 localScale 为 1 - var canvas = prefabContentsRoot.GetComponent() ?? prefabContentsRoot.GetComponentInChildren(); - if (canvas != null) - { - canvas.renderMode = RenderMode.ScreenSpaceOverlay; -#if UNITY_2019_1_OR_NEWER - // worldCamera 设为 null 以避免意外引用 - canvas.worldCamera = null; -#endif - } - } - else - { - if (type == UXComponentType.Base) - { - // 移除 GraphicRaycaster 与 Canvas(如果存在) - var gr = prefabContentsRoot.GetComponent(); - if (gr != null) Object.DestroyImmediate(gr); - else - { - var grChild = prefabContentsRoot.GetComponentInChildren(); - if (grChild != null) Object.DestroyImmediate(grChild); - } - - var canvas = prefabContentsRoot.GetComponent(); - if (canvas != null) Object.DestroyImmediate(canvas); - else - { - var canvasChild = prefabContentsRoot.GetComponentInChildren(); - if (canvasChild != null) Object.DestroyImmediate(canvasChild); - } - } - - rect.localScale = Vector3.one; - rect.pivot = new Vector2(0.5f, 0.5f); - rect.anchorMin = rect.anchorMax = new Vector2(0.5f, 0.5f); - rect.anchoredPosition = Vector2.zero; - rect.sizeDelta = new Vector2(width, height); - } - - string prefabPath = $"{folder}/{componentName}.prefab"; - prefabPath = prefabPath.Replace("\\", "/"); - - // 如果已存在,询问是否覆盖 - var existing = AssetDatabase.LoadAssetAtPath(prefabPath); - if (existing != null) - { - bool overwrite = EditorUtility.DisplayDialog("覆盖确认", - $"已存在 {componentName}.prefab,是否覆盖?", - "覆盖", - "取消"); - if (!overwrite) - { - // 取消:卸载 prefabContents,并返回 - return; - } - } - - // 保存为新的 prefab asset(将 prefabContentsRoot 内容保存到目标 prefabPath) - GameObject saved = PrefabUtility.SaveAsPrefabAsset(prefabContentsRoot, prefabPath); - if (saved == null) - { - EditorUtility.DisplayDialog("失败", $"保存 prefab 失败:{prefabPath}", "确定"); - } - else - { - AssetDatabase.SaveAssets(); - AssetDatabase.Refresh(); - _createCallBack?.Invoke(); - // 尝试关闭创建窗口(如果存在) - var wnd = EditorWindow.GetWindow(); - if (wnd != null) wnd.Close(); - } - } - catch (Exception ex) - { - Debug.LogError($"创建 prefab 时发生异常: {ex}"); - EditorUtility.DisplayDialog("异常", $"创建 prefab 时发生异常,请查看控制台。", "确定"); - } - finally - { - // 一定要卸载 prefab contents(如果加载成功) - if (prefabContentsRoot != null) - PrefabUtility.UnloadPrefabContents(prefabContentsRoot); - } - } - - /// - /// 确保 AssetDatabase 中的文件夹存在(以 "Assets" 为根),会逐级创建缺失的子文件夹。 - /// 传入示例: "Assets/MyFolder/SubFolder" - /// - private void EnsureFolderExists(string folderPath) - { - if (string.IsNullOrEmpty(folderPath)) - throw new ArgumentNullException(nameof(folderPath)); - - var path = folderPath.Replace("\\", "/").TrimEnd('/'); - if (AssetDatabase.IsValidFolder(path)) - return; - - string[] parts = path.Split('/'); - if (parts.Length == 0 || parts[0] != "Assets") - { - Debug.LogError("folderPath 必须以 'Assets' 开头。"); - return; - } - - string cur = "Assets"; - for (int i = 1; i < parts.Length; i++) - { - string next = cur + "/" + parts[i]; - if (!AssetDatabase.IsValidFolder(next)) - { - AssetDatabase.CreateFolder(cur, parts[i]); - } - - cur = next; - } - } - } -} diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow/UXComponentCreateVisualAsset.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow/UXComponentCreateVisualAsset.cs.meta deleted file mode 100644 index 7ec89f4..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow/UXComponentCreateVisualAsset.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 82c75a05bd05409783674012d80a4f1a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow/UXComponentCreateWindow.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow/UXComponentCreateWindow.cs deleted file mode 100644 index 864843d..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow/UXComponentCreateWindow.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using UnityEditor; -using UnityEngine; -using UnityEngine.UIElements; - -namespace AlicizaX.UXTool -{ - public class UXComponentCreateWindow : EditorWindow - { - public void SetCreateData(string path, System.Action callback) - { - uxCreateWindowVisualAsset.SetCallBack(path, callback); - } - - private UXCreateWindowVisualAsset uxCreateWindowVisualAsset; - - private void CreateGUI() - { - uxCreateWindowVisualAsset = new UXCreateWindowVisualAsset(); - rootVisualElement.Add(uxCreateWindowVisualAsset); - } - } - - public static class UXComponentCreateWindowHelper - { - public static void ShowWindow(string path, Action createCallBack) - { - UXComponentCreateWindow window = EditorWindow.GetWindow(true, "创建组件"); - window.maxSize = new Vector2(400, 150); - window.minSize = new Vector2(400, 150); - window.Show(); - window.SetCreateData(path, createCallBack); - } - } -} \ No newline at end of file diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow/UXComponentCreateWindow.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow/UXComponentCreateWindow.cs.meta deleted file mode 100644 index 7423daf..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UIEditWindow/UXComponentCreateWindow.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b6545b205586412ca32dd1bebd68f6e7 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UXCustomSceneView.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UXCustomSceneView.cs deleted file mode 100644 index c061621..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UXCustomSceneView.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEditor; -using UnityEngine; - -/// -/// 在多 SceneView 窗口下安全地添加/移除临时回调。 -/// 原理:Templist 存放需在下一帧执行的回调,OnSceneGUI 将会把 Templist 转移到 list 来执行。 -/// -public class UXCustomSceneView -{ - static private List> list = new List>(); - static private List> Templist = new List>(); - - [InitializeOnLoadMethod] - static void Init() - { - list.Clear(); - Templist.Clear(); - SceneView.duringSceneGui -= OnSceneGUI; - SceneView.duringSceneGui += OnSceneGUI; - } - - static public void AddDelegate(Action method) - { - if (method == null) return; - // 去重 - if (!Templist.Contains(method)) - Templist.Add(method); - } - - static public void RemoveDelegate(Action method) - { - if (method == null) return; - var idx = Templist.FindIndex(i => i == method); - if (idx >= 0) Templist.RemoveAt(idx); - } - - static public void OnSceneGUI(SceneView sceneView) - { - // 执行上一帧注册的 list - foreach (Action method in list) - { - try - { - method.Invoke(sceneView); - } - catch (Exception e) - { - Debug.LogException(e); - } - } - - list.Clear(); - - // 将 Templist 拷贝到 list,并在下一帧执行,这样可以避免在枚举时修改集合的问题 - foreach (Action method in Templist) - { - if (!list.Contains(method)) - list.Add(method); - } - } - - static public void ClearDelegate() - { - Templist.Clear(); - } -} \ No newline at end of file diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UXCustomSceneView.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UXCustomSceneView.cs.meta deleted file mode 100644 index 2440609..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/SceneView/UXCustomSceneView.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8f3197943fdad5143b94a26ef9c0eacb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils.meta deleted file mode 100644 index 20776e2..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7634273f5c12e874bb902025a97852e1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/PrefabStageUtils.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/PrefabStageUtils.cs deleted file mode 100644 index 2d4e91a..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/PrefabStageUtils.cs +++ /dev/null @@ -1,115 +0,0 @@ -using System; -using System.IO; -using AlicizaX.UXTool; -using UnityEditor; -using UnityEditor.SceneManagement; -using UnityEngine; - -public static class PrefabStageUtils -{ - [InitializeOnLoadMethod] - static void PrefabStageInitlize() - { - InEmptyStage = true; - var prefabStage = PrefabStageUtility.GetCurrentPrefabStage(); - if (prefabStage && prefabStage.prefabContentsRoot != null) - { - InEmptyStage = prefabStage.prefabContentsRoot.transform.GetComponent() != null; - } - } - - private static readonly string DesinStage = Path.Combine(Def_UXGUIPath.ComponentRes, "UIStage.prefab"); - - public static event Action OnEditRootReplaced; - - public static Transform StageRoot => PrefabStageUtility.GetCurrentPrefabStage()?.prefabContentsRoot.transform; - public static PrefabStage CurrentStage => PrefabStageUtility.GetCurrentPrefabStage(); - public static bool InEmptyStage { get; private set; } - - public static void SwitchStage(string assetPath) - { - if (string.IsNullOrEmpty(assetPath)) - { - assetPath = DesinStage; - } - - CheckUnsavedChanges(null); - - PrefabStageUtility.OpenPrefab(assetPath); - - - InEmptyStage = StageRoot.GetComponent() != null; - - PrefabUtility.RecordPrefabInstancePropertyModifications(StageRoot); - - StoreEditRootGuid(assetPath); - - OnEditRootReplaced?.Invoke(assetPath); - } - - private static void StoreEditRootGuid(string assetPath) - { - var prefabGuid = AssetDatabase.AssetPathToGUID(assetPath); - if (!string.IsNullOrEmpty(prefabGuid) && !UXPrefabTabsConfig.Instance.tabs.Contains(prefabGuid)) - { - UXPrefabTabsConfig.Instance.tabs.Add(prefabGuid); - UXPrefabTabsConfig.Save(); - } - } - - public static void SavePrefabWithAPI() - { - if (!InEmptyStage && StageRoot != null) - { - PrefabUtility.SaveAsPrefabAsset(CurrentStage.prefabContentsRoot, CurrentStage.assetPath, out bool success); - if (success) - { - CurrentStage.ClearDirtiness(); - } - } - } - - static void CheckUnsavedChanges(Action callBack) - { - PrefabStage currentStage = GetCurrentPrefabStage(); - - if (!InEmptyStage && currentStage != null && currentStage.scene.isDirty) - { - bool saveChanges = EditorUtility.DisplayDialog( - "未保存的更改", - "当前预制体有未保存的更改。是否保存并继续替换?", - "保存并继续", - "取消" - ); - - if (!saveChanges) - { - currentStage.ClearDirtiness(); - } - - SavePrefabWithAPI(); - } - - callBack?.Invoke(); - } - - public static PrefabStage GetCurrentPrefabStage() - { - return PrefabStageUtility.GetCurrentPrefabStage(); - } - - public static void OpenDefaultStage() - { - CheckUnsavedChanges(() => - { - InEmptyStage = true; - Utils.OpenPrefab(DesinStage); - }); - } - - public static void ExitStage() - { - Utils.ExitPrefabStage(); - } - -} diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/PrefabStageUtils.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/PrefabStageUtils.cs.meta deleted file mode 100644 index c92c0c9..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/PrefabStageUtils.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: d5f82b6c4af34a80a73ca7f350eabca6 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UIBuilderUtil.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UIBuilderUtil.cs deleted file mode 100644 index 3faf9c0..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UIBuilderUtil.cs +++ /dev/null @@ -1,174 +0,0 @@ -using System.Collections.Generic; -using UnityEditor; -using UnityEngine; - -namespace AlicizaX.UXTool -{ - public static class UIBuilderUtil - { - public static void DuplicateSelectedObjects() - { - GameObject[] selectedObjects = UXSelectionUtil.gameObjects; - List duplicateObjects = new List(); - foreach (var orginObject in selectedObjects) - { - GameObject duplicate = Object.Instantiate(orginObject, orginObject.transform.parent); - duplicateObjects.Add(duplicate); - } - Undo.RecordObjects(duplicateObjects.ToArray(), "Duplicate Objects"); - } - - /// - /// 创建并设置 UI 对象的工具方法。 - /// - /// 可以是预制体或现有对象 - /// 指定父级 Transform - /// 是否设置为全屏填充 - /// 是否按照原始大小显示 - /// 自定义缩放比例(可选) - /// 是否强制使用预制体模式(默认为 true,如果传入的是预制体,将在父节点下实例化) - /// 返回创建的 GameObject - public static GameObject CreateUIObject(GameObject source, Transform parent, bool fullScreen = false, bool useOriginalSize = false, Vector3? customScale = null, bool usePrefabMode = true) - { - // 如果 source 是 null,抛出异常 - if (source == null) - { - Debug.LogError("传入的对象为空!无法创建 UI 对象。"); - return null; - } - - GameObject instance; - - // 判断是否需要使用预制体模式 - if (usePrefabMode && IsPrefab(source)) - { - // 如果是预制体,则在父节点下实例化 - instance = Object.Instantiate(source, parent); - instance.name = source.name; - } - else - { - // 否则直接使用传入的对象 - instance = source; - instance.transform.SetParent(parent); - } - - // 设置 RectTransform - RectTransform rectTransform = instance.GetComponent(); - - if (rectTransform == null) - { - Debug.LogError("传入的对象没有 RectTransform 组件,无法作为 UI 对象使用!"); - return null; - } - - rectTransform.localScale = customScale ?? Vector3.one; // 使用自定义缩放,默认为 1,1,1 - rectTransform.localPosition = Vector3.zero; // 默认位置为 (0, 0) - - // 设置锚点和偏移量 - if (fullScreen) - { - rectTransform.anchorMin = Vector2.zero; // 左下角锚点 - rectTransform.anchorMax = Vector2.one; // 右上角锚点 - rectTransform.offsetMin = Vector2.zero; // 左下角偏移为 0 - rectTransform.offsetMax = Vector2.zero; // 右上角偏移为 0 - } - else if (useOriginalSize) - { - // 如果使用原始大小,则保留锚点和偏移量,通常不修改 - rectTransform.anchorMin = new Vector2(0.5f, 0.5f); // 设置锚点到中心 - rectTransform.anchorMax = new Vector2(0.5f, 0.5f); - rectTransform.anchoredPosition = Vector2.zero; // 保证在父级中心位置 - } - else - { - // 默认大小逻辑,保持当前锚点和偏移 - rectTransform.offsetMin = rectTransform.offsetMin; - rectTransform.offsetMax = rectTransform.offsetMax; - } - - return instance; - } - - - - /// - /// 判断传入的对象是否为预制体。 - /// - /// 待检查的对象 - /// 如果是预制体,返回 true;否则返回 false - public static bool IsPrefab(GameObject source) - { -#if UNITY_EDITOR - return UnityEditor.PrefabUtility.GetPrefabAssetType(source) != UnityEditor.PrefabAssetType.NotAPrefab; -#else - Debug.LogWarning("只能在编辑器模式下检查是否为预制体。"); - return false; -#endif - } - - //创建UX UI前都会创建一个GameObject来挂载Component - - private static GameObject CreateUIObjWithParent(string name) - { - RectTransform parent; - bool haveParent = Utils.TryGetSelectionRectTransform(out parent); - if (haveParent) - { - var obj = new GameObject(name); - obj.layer = LayerMask.NameToLayer("UI"); - var rectTransform = obj.AddComponent(); - rectTransform.sizeDelta = new Vector2(200, 200); - obj.transform.SetParent(parent.transform); - obj.GetComponent().localPosition = new Vector3(0, 0, 0); - Undo.RegisterCreatedObjectUndo(obj.gameObject, "Create" + obj.name); - return obj; - } - else - { - EditorUtility.DisplayDialog("messageBox", - "请先选择一个父节点", - "确定", - "取消"); - return null; - } - } - - public static GameObject CreateUIObj(string name) - { - var obj = new GameObject(name); - obj.layer = LayerMask.NameToLayer("UI"); - var rectTransform = obj.AddComponent(); - rectTransform.sizeDelta = new Vector2(100, 100); - obj.GetComponent().localPosition = new Vector3(0, 0, 0); - return obj; - } - - /// - /// - /// - /// - /// LocalPosition - /// - /// - /// - public static GameObject CreateUIObj(string name, Vector3 pos, Vector3 size, GameObject[] selection) - { - name = "UX" + name; - var obj = new GameObject(name); - Undo.RegisterCreatedObjectUndo(obj, ""); - obj.layer = LayerMask.NameToLayer("UI"); - Transform parent; - parent = FindContainerLogic.GetObjectParent(selection); - Undo.SetTransformParent(obj.transform, parent, ""); - obj.transform.SetParent(parent); - - var rectTransform = Undo.AddComponent(obj); - rectTransform.sizeDelta = size; - obj.transform.localPosition = pos; - obj.transform.localScale = Vector3.one; - Undo.SetCurrentGroupName("Create " + name); - return obj; - } - } -} \ No newline at end of file diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UIBuilderUtil.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UIBuilderUtil.cs.meta deleted file mode 100644 index 7876610..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UIBuilderUtil.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ca10e158a19fae9448cba8db69a7ddf1 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UXDesinUtil.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UXDesinUtil.cs deleted file mode 100644 index 5aba2ef..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UXDesinUtil.cs +++ /dev/null @@ -1,104 +0,0 @@ -using System.IO; -using UnityEditor; -using UnityEditor.Callbacks; -using UnityEditor.SceneManagement; -using UnityEngine; - -namespace AlicizaX.UXTool -{ - public static class UXDesinUtil - { - private static readonly string DesinLayout = Path.Combine(Def_UXGUIPath.ConfigPath, "DesignLayout.wlt"); - private const string InDesignKey = "AlicizaUXTool_InDesign"; - - public static bool InDesign - { - get => EditorPrefs.GetBool(InDesignKey, false); - private set => EditorPrefs.SetBool(InDesignKey, value); - } - - public static event System.Action OnEnterDesignMode; - public static event System.Action OnExitDesignMode; - - [InitializeOnLoadMethod] - private static void Initialize() - { - EditorApplication.playModeStateChanged -= OnPlayModeStateChanged; - EditorApplication.playModeStateChanged += OnPlayModeStateChanged; - } - - private static void OnPlayModeStateChanged(PlayModeStateChange mode) - { - if (mode == PlayModeStateChange.EnteredPlayMode && InDesign) - { - ExitUIDesinger(); - } - } - - - public static void OpenUIDesinger() - { - if (InDesign) return; - if (File.Exists(DesinLayout)) - { - InDesign = true; - EditorUtility.LoadWindowLayout(DesinLayout); - PrefabStageUtils.OpenDefaultStage(); - ClearProjectSettings(); - OnEnterDesignMode?.Invoke(); - } - else - { - Debug.LogWarning("指定的布局文件不存在: " + DesinLayout); - } - } - - public static void ExitUIDesinger() - { - - - if (!string.IsNullOrEmpty(Def_UXGUIPath.DefaultLayoutPath)) - { - InDesign = false; // 持久化状态 - PrefabStageUtils.ExitStage(); - EditorUtility.LoadWindowLayout(Def_UXGUIPath.DefaultLayoutPath); - OnExitDesignMode?.Invoke(); // 通知退出设计模式 - } - else - { - Debug.LogWarning("没有找到已保存的布局"); - } - } - - [InitializeOnLoadMethod] - [DidReloadScripts] - private static void RestoreState() - { - // 在域重载后检查状态,如果需要恢复到设计模式 - if (InDesign && File.Exists(DesinLayout)) - { - var currentStage = PrefabStageUtility.GetCurrentPrefabStage(); - if (currentStage != null) - { - return; - } - - EditorApplication.delayCall += () => - { - EditorUtility.LoadWindowLayout(DesinLayout); - PrefabStageUtils.OpenDefaultStage(); - OnEnterDesignMode?.Invoke(); - }; - } - } - - /// - /// 清空 Project Settings 中的特定内容 - /// - private static void ClearProjectSettings() - { - UnityEditor.EditorSettings.prefabUIEnvironment = null; - UnityEditor.EditorSettings.prefabRegularEnvironment = null; - } - } -} diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UXDesinUtil.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UXDesinUtil.cs.meta deleted file mode 100644 index b760045..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UXDesinUtil.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 818e293ac42d2b84ca8adbbb7bc927aa -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UXSelectionUtil.cs b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UXSelectionUtil.cs deleted file mode 100644 index d214cb3..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UXSelectionUtil.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System; -using UnityEngine; -using UnityEditor; -using System.Collections.Generic; - -namespace AlicizaX.UXTool -{ - public static class UXSelectionUtil - { - public static void AddSelectionChangedEvent(Action e) - { - Selection.selectionChanged += e; - } - - public static void RemoveSelectionChangedEvent(Action e) - { - Selection.selectionChanged -= e; - } - - // 存储选中物体的缓存列表 - private static List gameObjectsCache = new List(); - - /// - /// 获取当前选中的所有物体(排除包含StageEngine脚本的物体)。 - /// - public static GameObject[] gameObjects - { - get - { - gameObjectsCache.Clear(); // 清空缓存 - GameObject[] selectedObjects = Selection.gameObjects; - foreach (var obj in selectedObjects) - { - if (obj.GetComponent() == null &&obj != PrefabStageUtils.StageRoot.gameObject) // 排除StageEngine脚本的物体 - { - gameObjectsCache.Add(obj); - } - } - - return gameObjectsCache.ToArray(); - } - set => Selection.objects = value; - } - - /// - /// 获取当前选中的第一个物体(排除包含StageEngine脚本的物体)。 - /// - public static GameObject activeGameObject - { - get - { - var selectedObjects = gameObjects; - return selectedObjects.Length > 0 ? selectedObjects[0] : null; - } - set { Selection.activeGameObject = value; } - } - - /// - /// 获取当前选中的所有物体(排除StageEngine脚本的物体),并清除掉包含StageEngine脚本的物体。 - /// - private static void ClearStageEngineSelection() - { - GameObject[] selectedObjects = Selection.gameObjects; - List validSelections = new List(); - - // 遍历选中的物体,排除包含StageEngine脚本的物体 - foreach (var obj in selectedObjects) - { - if (obj.GetComponent() == null) // 如果没有StageEngine脚本,则保留 - { - validSelections.Add(obj); - } - } - - // 清除所有选中物体 - Selection.objects = validSelections.ToArray(); - } - - /// - /// 获取当前选中的物体并清除选中列表中包含StageEngine脚本的物体。 - /// - public static GameObject[] clearedGameObjects - { - get - { - ClearStageEngineSelection(); // 清理包含 StageEngine 脚本的物体 - return gameObjects; // 返回已经清理过的选中物体 - } - } - } -} \ No newline at end of file diff --git a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UXSelectionUtil.cs.meta b/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UXSelectionUtil.cs.meta deleted file mode 100644 index 1a4a508..0000000 --- a/Client/Packages/com.alicizax.uxtool/Editor/UXGUI/Utils/UXSelectionUtil.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 2d3ab5c44a6ae9148843048ff90932f3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Runtime.meta b/Client/Packages/com.alicizax.uxtool/Runtime.meta deleted file mode 100644 index ab30b37..0000000 --- a/Client/Packages/com.alicizax.uxtool/Runtime.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a5ffca455bd26904eaa592ca81779942 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Runtime/AlicizaUXTool.Runtime.asmdef b/Client/Packages/com.alicizax.uxtool/Runtime/AlicizaUXTool.Runtime.asmdef deleted file mode 100644 index 2c54d7d..0000000 --- a/Client/Packages/com.alicizax.uxtool/Runtime/AlicizaUXTool.Runtime.asmdef +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "AlicizaUXTool.Runtime", - "rootNamespace": "", - "references": [ - "GUID:760f1778adc613f49a4394fb41ff0bbc" - ], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [], - "noEngineReferences": false -} \ No newline at end of file diff --git a/Client/Packages/com.alicizax.uxtool/Runtime/AlicizaUXTool.Runtime.asmdef.meta b/Client/Packages/com.alicizax.uxtool/Runtime/AlicizaUXTool.Runtime.asmdef.meta deleted file mode 100644 index 9293129..0000000 --- a/Client/Packages/com.alicizax.uxtool/Runtime/AlicizaUXTool.Runtime.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 5d6fc8d2af5717244b925e7db309edd1 -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/Runtime/StageEngine.cs b/Client/Packages/com.alicizax.uxtool/Runtime/StageEngine.cs deleted file mode 100644 index 9483086..0000000 --- a/Client/Packages/com.alicizax.uxtool/Runtime/StageEngine.cs +++ /dev/null @@ -1,79 +0,0 @@ -#if UNITY_EDITOR -using System.Collections.Generic; -using UnityEditor; -using UnityEngine; - -[ExecuteInEditMode] -public class StageEngine : MonoBehaviour -{ - // 检查是否处于编辑模式 - private static bool isInEditMode => Application.isEditor && !Application.isPlaying; - - private void OnEnable() - { - if (isInEditMode) - { - // 监听 Scene 视图的选择变化事件 - Selection.selectionChanged += OnSelectionChanged; - } - } - - private void OnDisable() - { - if (isInEditMode) - { - // 移除选择变化事件监听 - Selection.selectionChanged -= OnSelectionChanged; - } - } - - // 监听选择变化事件 - private void OnSelectionChanged() - { - - // 获取当前选中的所有物体 - GameObject[] selectedObjects = Selection.gameObjects; - - // 使用一个列表来存储不需要剔除的物体 - var validSelection = new List(); - - foreach (var selectedObject in selectedObjects) - { - // 如果物体没有 StageEngine 脚本,则加入有效选择列表 - if (selectedObject != null && selectedObject.GetComponent() == null) - { - validSelection.Add(selectedObject); - } - } - - // 将有效选择的物体设置为新的选择 - Selection.objects = validSelection.ToArray(); - // 如果有物体被选中,更新 activeGameObject - if (validSelection.Count > 0) - { - Selection.activeGameObject = validSelection[0]; - } - else - { - Selection.activeGameObject = null; - } - - // 刷新 Scene 视图,确保取消选择操作生效 - SceneView.RepaintAll(); - } - - // 让物体在编辑模式下无法被选中(如果你想防止场景中拖拽到其他物体) - private void OnDrawGizmos() - { - - if (isInEditMode) - { - // 如果当前物体被选中,立即取消选择 - if (Selection.activeGameObject == gameObject) - { - Selection.activeGameObject = null; - } - } - } -} -#endif \ No newline at end of file diff --git a/Client/Packages/com.alicizax.uxtool/Runtime/StageEngine.cs.meta b/Client/Packages/com.alicizax.uxtool/Runtime/StageEngine.cs.meta deleted file mode 100644 index c303dfc..0000000 --- a/Client/Packages/com.alicizax.uxtool/Runtime/StageEngine.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 21d71bc4606dce64fb65869d11d782df -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/com.alicizax.uxtool/package.json b/Client/Packages/com.alicizax.uxtool/package.json deleted file mode 100644 index fdef498..0000000 --- a/Client/Packages/com.alicizax.uxtool/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "com.alicizax.uxtool", - "displayName": "AlicizaX UX Tool", - "category": "Aliciza X", - "version": "1.0.0", - "unity": "2025.1", - "description": "AlicizaX UX Tool", - "keywords": [ - "Aliciza X" - ], - "author": { - "name": "Yuliuren", - "email": "yuliuren00@gmail.com" - } -} diff --git a/Client/Packages/com.alicizax.uxtool/package.json.meta b/Client/Packages/com.alicizax.uxtool/package.json.meta deleted file mode 100644 index aa1732f..0000000 --- a/Client/Packages/com.alicizax.uxtool/package.json.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 3df079a43a75a2c45bb83bffaf2ac9ee -PackageManifestImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Client/Packages/packages-lock.json b/Client/Packages/packages-lock.json index a542644..021ec2b 100644 --- a/Client/Packages/packages-lock.json +++ b/Client/Packages/packages-lock.json @@ -68,12 +68,6 @@ "source": "embedded", "dependencies": {} }, - "com.alicizax.uxtool": { - "version": "file:com.alicizax.uxtool", - "depth": 0, - "source": "embedded", - "dependencies": {} - }, "com.code-philosophy.hybridclr": { "version": "https://gitee.com/focus-creative-games/hybridclr_unity.git", "depth": 0, @@ -93,7 +87,7 @@ "depth": 0, "source": "git", "dependencies": {}, - "hash": "a2d206268922a2011851aedb053f3396f2243fc4" + "hash": "10726744d42ac0a51bfdf4d813efb32a4f5372e3" }, "com.unity.2d.sprite": { "version": "1.0.0", diff --git a/Client/ProjectSettings/UIGenerateConfiguration.asset b/Client/ProjectSettings/UIGenerateConfiguration.asset index 40e6642..ad6af01 100644 --- a/Client/ProjectSettings/UIGenerateConfiguration.asset +++ b/Client/ProjectSettings/UIGenerateConfiguration.asset @@ -71,4 +71,4 @@ MonoBehaviour: GenerateHolderCodePath: Assets/Scripts/Hotfix/GameLogic/UI//Generate UIPrefabRootPath: Assets/Bundles/UI LoadType: 1 - UIScriptGeneratorRuleHelper: AlicizaX.UXTool.AlicizaUXUIGeneratorRuleHelper + UIScriptGeneratorRuleHelper: AlicizaX.UI.Editor.DefaultUIGeneratorRuleHelper diff --git a/Client/ProjectSettings/UXPrefabTabsConfig.asset b/Client/ProjectSettings/UXPrefabTabsConfig.asset index d58b4e1..074d553 100644 --- a/Client/ProjectSettings/UXPrefabTabsConfig.asset +++ b/Client/ProjectSettings/UXPrefabTabsConfig.asset @@ -14,3 +14,5 @@ MonoBehaviour: m_EditorClassIdentifier: tabs: - afd6d5cf3d694a848903fd7f4eecd3c6 + - b76991d3fd07df84983b6da7daa589c8 + - 9302214e576d0a649b660ead4c9537e6 diff --git a/Client/UserSettings/EditorUserSettings.asset b/Client/UserSettings/EditorUserSettings.asset index 287ce28..51d7654 100644 --- a/Client/UserSettings/EditorUserSettings.asset +++ b/Client/UserSettings/EditorUserSettings.asset @@ -27,16 +27,16 @@ EditorUserSettings: value: 54010c54510c5a5f5a0a0973477b0a4414151a2b757925367a7e4a6ab1b66260 flags: 0 RecentlyUsedSceneGuid-6: - value: 015450045700505d0f0a5f2313260a444e164b2e757b76652c2d4d32bab0313a - flags: 0 - RecentlyUsedSceneGuid-7: value: 56060350000d5b5a5908597a48255a44174e4d797a7d7e6475794f61e7b3643e flags: 0 + RecentlyUsedSceneGuid-7: + value: 50500404540c580d0f0b5e7543725b44424f4c7a7b7c7734747e4f36e4b1676d + flags: 0 RecentlyUsedSceneGuid-8: - value: 5a07065703500c59585e0e7748770d44444f4a737d2d7f35787d4f63e0b26668 + value: 015450045700505d0f0a5f2313260a444e164b2e757b76652c2d4d32bab0313a flags: 0 RecentlyUsedSceneGuid-9: - value: 50500404540c580d0f0b5e7543725b44424f4c7a7b7c7734747e4f36e4b1676d + value: 5a07065703500c59585e0e7748770d44444f4a737d2d7f35787d4f63e0b26668 flags: 0 vcSharedLogLevel: value: 0d5e400f0650 diff --git a/Client/UserSettings/Layouts/default-2022.dwlt b/Client/UserSettings/Layouts/default-2022.dwlt index 371ca3d..5bd092c 100644 --- a/Client/UserSettings/Layouts/default-2022.dwlt +++ b/Client/UserSettings/Layouts/default-2022.dwlt @@ -19,7 +19,7 @@ MonoBehaviour: width: 1920 height: 997 m_ShowMode: 4 - m_Title: Console + m_Title: Project m_RootView: {fileID: 4} m_MinSize: {x: 875, y: 300} m_MaxSize: {x: 10000, y: 10000} @@ -40,16 +40,17 @@ MonoBehaviour: m_Position: serializedVersion: 2 x: 0 - y: 207 - width: 609 - height: 740 + y: 696 + width: 421 + height: 251 m_MinSize: {x: 51, y: 71} m_MaxSize: {x: 4001, y: 4021} m_ActualView: {fileID: 14} m_Panes: - {fileID: 14} + - {fileID: 15} m_Selected: 0 - m_LastSelected: 0 + m_LastSelected: 1 --- !u!114 &3 MonoBehaviour: m_ObjectHideFlags: 52 @@ -69,7 +70,7 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 609 + width: 421 height: 947 m_MinSize: {x: 100, y: 100} m_MaxSize: {x: 8096, y: 16192} @@ -173,7 +174,7 @@ MonoBehaviour: m_MinSize: {x: 400, y: 100} m_MaxSize: {x: 32384, y: 16192} vertical: 0 - controlID: 101 + controlID: 69 draggingID: 0 --- !u!114 &8 MonoBehaviour: @@ -192,15 +193,14 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 609 - height: 207 + width: 421 + height: 696 m_MinSize: {x: 201, y: 221} m_MaxSize: {x: 4001, y: 4021} m_ActualView: {fileID: 16} m_Panes: - - {fileID: 15} - {fileID: 16} - m_Selected: 1 + m_Selected: 0 m_LastSelected: 0 --- !u!114 &9 MonoBehaviour: @@ -219,14 +219,14 @@ MonoBehaviour: - {fileID: 11} m_Position: serializedVersion: 2 - x: 609 + x: 421 y: 0 - width: 396 + width: 284 height: 947 m_MinSize: {x: 100, y: 100} m_MaxSize: {x: 8096, y: 16192} vertical: 1 - controlID: 49 + controlID: 70 draggingID: 0 --- !u!114 &10 MonoBehaviour: @@ -245,8 +245,8 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 396 - height: 461 + width: 284 + height: 249 m_MinSize: {x: 202, y: 221} m_MaxSize: {x: 4002, y: 4021} m_ActualView: {fileID: 17} @@ -270,9 +270,9 @@ MonoBehaviour: m_Position: serializedVersion: 2 x: 0 - y: 461 - width: 396 - height: 486 + y: 249 + width: 284 + height: 698 m_MinSize: {x: 102, y: 121} m_MaxSize: {x: 4002, y: 4021} m_ActualView: {fileID: 18} @@ -295,9 +295,9 @@ MonoBehaviour: m_Children: [] m_Position: serializedVersion: 2 - x: 1005 + x: 705 y: 0 - width: 417 + width: 431 height: 947 m_MinSize: {x: 232, y: 271} m_MaxSize: {x: 10002, y: 10021} @@ -321,9 +321,9 @@ MonoBehaviour: m_Children: [] m_Position: serializedVersion: 2 - x: 1422 + x: 1136 y: 0 - width: 498 + width: 784 height: 947 m_MinSize: {x: 276, y: 71} m_MaxSize: {x: 4001, y: 4021} @@ -353,9 +353,9 @@ MonoBehaviour: m_Pos: serializedVersion: 2 x: 0 - y: 280 - width: 608 - height: 719 + y: 769 + width: 420 + height: 230 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -372,7 +372,7 @@ MonoBehaviour: m_ShowGizmos: 0 m_TargetDisplay: 0 m_ClearColor: {r: 0, g: 0, b: 0, a: 0} - m_TargetSize: {x: 608, y: 698} + m_TargetSize: {x: 420, y: 209} m_TextureFilterMode: 0 m_TextureHideFlags: 61 m_RenderIMGUI: 1 @@ -387,10 +387,10 @@ MonoBehaviour: m_VRangeLocked: 0 hZoomLockedByDefault: 0 vZoomLockedByDefault: 0 - m_HBaseRangeMin: -304 - m_HBaseRangeMax: 304 - m_VBaseRangeMin: -349 - m_VBaseRangeMax: 349 + m_HBaseRangeMin: -210 + m_HBaseRangeMax: 210 + m_VBaseRangeMin: -104.5 + m_VBaseRangeMax: 104.5 m_HAllowExceedBaseRangeMin: 1 m_HAllowExceedBaseRangeMax: 1 m_VAllowExceedBaseRangeMin: 1 @@ -408,23 +408,23 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 21 - width: 608 - height: 698 + width: 420 + height: 209 m_Scale: {x: 1, y: 1} - m_Translation: {x: 304, y: 349} + m_Translation: {x: 210, y: 104.5} m_MarginLeft: 0 m_MarginRight: 0 m_MarginTop: 0 m_MarginBottom: 0 m_LastShownAreaInsideMargins: serializedVersion: 2 - x: -304 - y: -349 - width: 608 - height: 698 + x: -210 + y: -104.5 + width: 420 + height: 209 m_MinimalGUI: 1 m_defaultScale: 1 - m_LastWindowPixelSize: {x: 608, y: 719} + m_LastWindowPixelSize: {x: 420, y: 230} m_ClearInEditMode: 1 m_NoCameraWarning: 1 m_LowResolutionForAspectRatios: 01000000000000000000 @@ -451,9 +451,9 @@ MonoBehaviour: m_Pos: serializedVersion: 2 x: 0 - y: 79 - width: 365 - height: 915 + y: 280 + width: 441 + height: 719 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -522,8 +522,8 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 73 - width: 608 - height: 186 + width: 420 + height: 675 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -616,9 +616,9 @@ MonoBehaviour: floating: 0 collapsed: 0 displayed: 1 - snapOffset: {x: 24, y: -131} + snapOffset: {x: -111, y: -131} snapOffsetDelta: {x: 0, y: 0} - snapCorner: 2 + snapCorner: 3 id: Orientation index: 0 layout: 4 @@ -867,7 +867,7 @@ MonoBehaviour: snapOffsetDelta: {x: 0, y: 0} snapCorner: 0 id: UnityEditor.SceneViewCameraOverlay - index: 10 + index: 9 layout: 4 size: {x: 0, y: 0} sizeOverriden: 0 @@ -1059,14 +1059,14 @@ MonoBehaviour: m_OverrideSceneCullingMask: 6917529027641081856 m_SceneIsLit: 0 m_SceneLighting: 1 - m_2DMode: 0 + m_2DMode: 1 m_isRotationLocked: 0 m_PlayAudio: 0 m_AudioPlay: 0 m_Position: - m_Target: {x: -8.095348, y: -0.7928839, z: 0.4128915} + m_Target: {x: 1000, y: 1000, z: 100} speed: 2 - m_Value: {x: -8.095348, y: -0.7928839, z: 0.4128915} + m_Value: {x: 1000, y: 1000, z: 100} m_RenderMode: 0 m_CameraMode: drawMode: 0 @@ -1094,17 +1094,17 @@ MonoBehaviour: m_Size: {x: 0, y: 0} yGrid: m_Fade: - m_Target: 1 + m_Target: 0 speed: 2 - m_Value: 1 + m_Value: 0 m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} m_Pivot: {x: 0, y: 0, z: 0} m_Size: {x: 1, y: 1} zGrid: m_Fade: - m_Target: 0 + m_Target: 1 speed: 2 - m_Value: 0 + m_Value: 1 m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} m_Pivot: {x: 0, y: 0, z: 0} m_Size: {x: 1, y: 1} @@ -1112,17 +1112,17 @@ MonoBehaviour: m_GridAxis: 1 m_gridOpacity: 0.5 m_Rotation: - m_Target: {x: -0.09573687, y: 0.6643242, z: -0.086385615, w: -0.7362373} + m_Target: {x: 0, y: 0, z: 0, w: 1} speed: 2 - m_Value: {x: -0.09573687, y: 0.6643242, z: -0.086385615, w: -0.7362373} + m_Value: {x: 0, y: 0, z: 0, w: 1} m_Size: - m_Target: 7.071068 + m_Target: 15.132209 speed: 2 - m_Value: 7.071068 + m_Value: 15.132209 m_Ortho: - m_Target: 0 + m_Target: 1 speed: 2 - m_Value: 0 + m_Value: 1 m_CameraSettings: m_Speed: 2 m_SpeedNormalized: 1 @@ -1163,10 +1163,10 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 609 + x: 421 y: 73 - width: 394 - height: 440 + width: 282 + height: 228 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -1180,9 +1180,9 @@ MonoBehaviour: m_SceneHierarchy: m_TreeViewState: scrollPos: {x: 0, y: 0} - m_SelectedIDs: + m_SelectedIDs: 626f0000 m_LastClickedID: 0 - m_ExpandedIDs: 5a6dffffe8b7ffff92c4ffffbcc7ffff1efbffff26fbffff28fbfffff4fffffffc6c0000026d0000 + m_ExpandedIDs: eefafffff6fafffff8faffffd66c0000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1226,10 +1226,10 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 609 - y: 534 - width: 394 - height: 465 + x: 421 + y: 322 + width: 282 + height: 677 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -1260,9 +1260,9 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 1005 + x: 705 y: 73 - width: 415 + width: 429 height: 926 m_SerializedDataModeController: m_DataMode: 0 @@ -1284,7 +1284,8 @@ MonoBehaviour: m_ShowAllHits: 0 m_SkipHidden: 0 m_SearchArea: 2 - m_Folders: [] + m_Folders: + - Packages/com.alicizax.unity.ui.extension/Editor/Res/ComponentIcon m_Globs: [] m_OriginalText: m_ImportLogFlags: 0 @@ -1300,7 +1301,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: e48c0000 m_LastClickedID: 36068 - m_ExpandedIDs: 00000000806d0000826d0000846d0000866d0000886d00008a6d00008c6d00008e6d0000906d0000926d0000946d0000966d0000986d00009a6d00009c6d00009e6d0000a06d0000a26d0000a46d0000a66d0000a86d0000aa6d0000ac6d0000ae6d0000b06d0000b26d0000b46d0000b66d0000b86d0000ba6d0000 + m_ExpandedIDs: 00000000226f0000246f0000266f0000286f00002a6f00002c6f00002e6f0000306f0000326f0000346f0000366f0000386f00003a6f00003c6f00003e6f0000406f0000426f0000446f0000466f0000486f00004a6f00004c6f00004e6f0000506f0000526f0000546f0000566f0000586f00005a6f00005c6f00005e6f0000606f0000626f0000646f0000666f0000686f00006a6f0000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1325,10 +1326,10 @@ MonoBehaviour: m_Icon: {fileID: 0} m_ResourceFile: m_AssetTreeState: - scrollPos: {x: 0, y: 580} + scrollPos: {x: 0, y: 720} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: ffffffff00000000900d0000806d0000826d0000866d0000886d00008a6d00008c6d00008e6d0000906d0000926d0000946d0000966d0000986d00009a6d00009e6d0000a26d0000a46d0000a66d0000aa6d0000ac6d0000ae6d0000b06d0000b26d0000b46d0000b66d0000b86d0000ba6d00007e6f0000806f0000f66f0000e27800002279000024790000fe7a0000307b0000b27b0000787d00007a7d00007c7d0000ffffff7f + m_ExpandedIDs: ffffffff00000000226f0000246f0000266f0000286f00002a6f00002e6f0000306f0000326f0000346f0000366f0000386f00003a6f00003c6f00003e6f0000406f0000426f0000446f0000466f0000486f00004a6f00004e6f0000506f0000526f0000546f0000566f0000586f00005a6f00005c6f00005e6f0000606f0000626f0000646f0000666f0000686f00006a6f0000ffffff7f m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1404,9 +1405,9 @@ MonoBehaviour: m_Tooltip: m_Pos: serializedVersion: 2 - x: 1422 + x: 1136 y: 73 - width: 497 + width: 783 height: 926 m_SerializedDataModeController: m_DataMode: 0 @@ -1421,11 +1422,11 @@ MonoBehaviour: m_ObjectsLockedBeforeSerialization: [] m_InstanceIDsLockedBeforeSerialization: m_PreviewResizer: - m_CachedPref: -167 + m_CachedPref: 151 m_ControlHash: 1412526313 m_PrefName: Preview_InspectorPreview m_LastInspectedObjectInstanceID: -1 - m_LastVerticalScrollValue: 0 + m_LastVerticalScrollValue: 432 m_GlobalObjectId: m_InspectorMode: 0 m_LockTracker: